Relational Analysis of Software Developer’s Quality Assures
Iv2515741577
1. Prof. D.M.Thakore, Torana N.Kamble / International Journal of Engineering Research and
Applications (IJERA) ISSN: 2248-9622 www.ijera.com
Vol. 2, Issue 5, September- October 2012, pp.1574-1577
Validating UML Diagram for Security
Prof. D.M.Thakore *, Torana N.Kamble.**
*(Department of Computer Engineering, Bharti Vidyapeeth Deemed University, College of Engineering, Pune)
**(M.Tech. Student, Department of Computer Engineering, Bharti Vidyapeeth Deemed University College of
Engineering, Pune )
ABSTRACT
Now days there are different quality of object oriented and keep track of design
attributes of software artifacts but security has performance. Mainly two kinds of metrics are used
got less responsiveness because of different for object oriented design namely-Static metrics and
reasons. Like lack of knowledge about which Dynamic metrics. Static metrics are obtained from
properties must be considered when it comes to static analysis and dynamic metrics are computed on
evaluate security because definition of security is the basis of data collected during the execution of
different for different organization and code. Traditional metrics for measuring software
accordingly they implement the security metrics. such as Lines of Code (LoC) have been found to be
Secure software development is still research insufficient for analysis of object-Oriented software.
topic in many organizations, because of the The suite of metrics proposed by Chidamber and
failure in designing security at early stage. Kemerer are useful to measure static feature of
Traditional approaches focus primarily on code. These code metrics computes different aspects
antivirus, firewall, intrusion detection, but all are of complexity of the source code, but not able to
at the level of individual program statements and accurately predict the dynamic behaviour of an
so on. This approach makes it difficult and costly application is as yet unproven. [8]
to determine and repair weakness caused by Evaluating the dynamic behaviour of an
design errors. It has been seen that flaws are left application at run time with static metrics is difficult
in the software design during development because its behaviour will be influenced by the
process are responsible for successful attack. The operational environment as well as complexity of
proper care should be taken at the design level object-oriented software.Different metrics have been
only. developed for software quality attributes of object-
Proposed approach describes oriented designs such as performance, reusability,
identification of secure design at early stage with and reliability. However, metrics which measure the
the help of design level security metrics and quality attribute of information security have
Genetic algorithm (GA). received little attention as security is non-functional
The reason of using this algorithm is to quality attribute.
exploit previous and alternate solution and Moreover, existing security metrics
provides multiple solutions to speedup. Then it measures the system at high level i.e. the whole
determines the security aspects of program system’s level or at a low level i.e. the program
during execution using set of metrics. It can be code’s level. These approaches are tough and costly
achieve by finding some method to log all to determine and fix weaknesses caused by software
occurrences of object instantiations, deletions, design errors. [3]
method invocations, and direct reference to To overcome these difficulties design
attributes while the system is executing. metrics have been developed which measures
security at design level. Proposed system applies
Keywords- Design, Measurement, Software these design level metrics and gives secure design
Security, Security, Quality Metrics, Software .The advantage of this technique is the cost and
Metrics. efforts needed to solve the problems after
implementation get reduced as it discovers errors at
I. INTRODUCTION early stage. And after implementing that secure
Due to the modularity and reusability many design it can be tested by different dynamic metrics.
software projects are shifted from traditional
structured development to object oriented design. In II. LITERATURE SURVEY
this Object Oriented approach metrics are useful tool There are different ways of reducing
to measure different quality attributes. Metrics are a security risks and vulnerabilities. But a common
means for attaining more accurate estimations of approach is to enforce security at the
project milestones, and developing a software implementation stage only [5].
system that contains minimal faults. There is project A survey has shown that most of the
base metrics which keep track of project security metrics calculate the security at system
maintenance, budgeting etc. whereas Design based level it considers system as whole. These are
metrics describe the complexity, size and robustness referred as a high level metrics. These metrics check
1574 | P a g e
2. Prof. D.M.Thakore, Torana N.Kamble / International Journal of Engineering Research and
Applications (IJERA) ISSN: 2248-9622 www.ijera.com
Vol. 2, Issue 5, September- October 2012, pp.1574-1577
out not only software but also many other aspects of ES2: It is atool for collecting object oriented design
the system.[2] metrics from C++ and Java Code.It is helpful for
Several projects have inspected information making quality management decisions in practices.
flow through computer program code, by type Chidamber & Kemmerer Java Metrics: It is an
analysis, data/control flow analysis, and different open source tool to access CK Object Oriented
other ways of identifying and eliminating program Design quality metric by processing the byte-code of
code vulnerabilities.[10] There are number of compiled Java files. It is command line version and
security metrics that assess the security of a given generates output in text format.
program based on code inspections. However, their QJ-Pro: It is java review tool used to find the errors
metrics require full system implementations to related with the language standards. It normally used
assess security which makes it impossible to fix during testing phase.
problems at design time. [4] Instead, the most
efficient approach is to enforce security at early VizzAnalyzer: It is a quality analysis tool, reads
phases of the software development lifecycle such as software code and other design specifications as
during the design phase. The National Institute of well as documentation and performs a number of
Standards and Technology stated that eliminating quality analyses.
vulnerabilities in the design stage can cost 30 times
less than fixing them at a later stage. One of the Semmle: Semmle is basically java testing tool used
earliest studies in this area was the development of to enforce coding conventions by finding
software security design principles, these principles programming bug patterns, to compute software
are intended as guidance to help develop secure metrics. All these tasks can be formulated as queries
systems, mainly operating systems, and are not in an object-oriented query language named QL.
capable of quantifying the security levels of designs.
Thus, there is a need for security metrics which OOMeter: This tool is useful for measuring each
objectively measure the security of a given program artifacts produced during software development life
directly from its design artifacts. [6] Study cycle, like requirements, specification, design
conducted by B. Alshammari et al. [3] defined model, source code, test specification.
different security metrics to identify secure design Table I shows different existing tools with the
among different design which are obtained after different coupling metrics .There are design level
refactoring. tools as well as code level tools.
Table I – Supported metrics in Existing Available
III. EXISTING TOOLS AND COMPARATIVE Tools
STUDY Tools Metrics
Following are the existing tools which C W N R C D D
measures quality of software based on defined B M O F O I A
metrics. Some of them can be applied at design level O C C C F T C
and some are at code level.[13]
Classycle --- --- --- --- --- Y ---
Classycle:It analyses static class and package
dependencies in java. It overcome limitation of JDepend --- --- Y --- --- Y ---
JDepend i.e. it finds cyclic dependencies between ES2 Y Y Y --- --- --- ---
classes and packages Semmle --- --- Y Y --- Y ---
JDepend: JDepend automatically measures quality OOMeter Y --- Y --- --- Y ---
of design by managing package dependency. It VizzAnaly Y Y Y Y --- Y ---
examines design and checks weather design shows zer
specified quality or not during refactoring. But it has CKJ Y Y Y Y --- Y ---
some limitations like Cyclic dependency detection,
does not collect source code complexity metrics and IV. COUPLING AND SOFTWARE SECURITY
it can’t differs Java interfaces and Java abstract Coupling is the interaction between
classes. different software components. It is an internal
software property whereas security is external. But
JHAWK: It is a stand-alone, Eclipse many studies have been shown that coupling is
Plugin, command line version It useful to measure closely associated with the Security of software. The
parameters like Cyclometric Complexity,NOP by reason behind this is when information passed
computing loops and iterations existing in a among different components there is more
program. Its disadvantage is Halstead metrics are not probabilities that it is exposed. It makes sense to
used for measuring the program. Limitation of this assume that coupling is important factor that affects
tool is it accepts only java code. security of software. Thus, proposed system aims to
1575 | P a g e
3. Prof. D.M.Thakore, Torana N.Kamble / International Journal of Engineering Research and
Applications (IJERA) ISSN: 2248-9622 www.ijera.com
Vol. 2, Issue 5, September- October 2012, pp.1574-1577
develop tool which device security metrics by taking V. SYSTEM DESCRIPTION
into consideration this association. From above study it is clear that there are
different tools to measure the quality of software at
Supported Coupling Metrics:- design level as well as code level. Each tool includes
Here are some of the coupling metrics that can be different set of metrics to measure different quality
devised in proposed system[6]- attributes. When user uses any tool at design level to
1. RFC (Response for a Class) is the number validate the design with the help of included set of
of the methods that can potentially be metrics then there is need to assess the implemented
invoked in response to a public message code with same set of metrics.
received by an object of a particular class. Proposed tool facilitate user to measure
If the number of methods that can be security by applying tool at design level as well as
invoked from a class is high, it is more code with same set of metrics. In this it concerns
difficult and highly coupled to some only one feature of object oriented design which is
methods. highly associated with the security i.e. coupling.
2. WMC (Weighted Methods per Class) is Proposed system is involves three modules, which
defined as the weighted sum of all class’s works in sequential manner.
methods. It is a measure for the complexity First module accepts UML diagram as a
of classes. More complex classes are more input and applies Genetic algorithm on it. Here GA
error-prone, harder to analyze and test. It is is used to obtain more than one design which fulfills
expected that complex classes have higher different levels of fitness function. These alternate
change rates because of bug fixing and designs are of three levels of security i.e. High
refactoring activities. secure, medium secure, low secure.
3 CBO (Coupling Between Object Classes) is
the number of classes that a class is coupled
to. It is calculated by counting other classes Secure Secure
Design
UML design
whose attributes or methods are used by the Genetic level design
given classes plus those that use the diagram Algo metric
attributes or methods of the given class.If a s Metrics
class is highly coupled with other classes, result
changes in other classes can also cause
changes in that class. Module-1
4 (DIT) Depth of Inheritance Tree: the
maximum depth of the class in the GA is a search in which successor states
inheritance tree. It measures the number of are generated from two parent states. It starts with
potential ancestor classes that can affect a randomly generated population. It evolves through
class, i.e., it measures inter-class coupling three phases selection, crossover and mutation.
due to inheritance. Finally best solution is chosen based on the
5 (NOC) Number Of Children: the number of optimization criteria. Each state is assessed by
immediate sub-classes of a class or the fitness function. Then different Security related
count of derived classes. If class class A coupling metrics are applied on all levels of secure
inherits class classB, then class B is the design and stores result.
base class and class A is the derived class. In second module code is implemented for
In other words, class A is the children of highly secure or medium or low secure design .Then
class class B, and class B is the parent of this implemented code get evaluated based on the
class class B. NOC measures inheritance security related same coupling metrics. Means it
complexity. checks coupling aspect at code level to provide
6 COF(Coupling factor):Coupling factor security.
measures the actual coupling among classes
.Maximum coupling accursed when all
classes are coupled with each other. But Code level
maximum coupling leads to complexity Secure Metrics
Coupling
design from result
which is in tern leads to need of security. Module-1 Metrics
7 DAC(Data Abstraction Coupling): This
metric measures the number of
instantiations of other classes within the
given class. It is not caused due to
inheritance or the object oriented paradigm. Module - 2
The higher the DAC, the more complex the
data structure (classes) of the system
1576 | P a g e