SlideShare ist ein Scribd-Unternehmen logo
1 von 11
Downloaden Sie, um offline zu lesen
Jun. 30                                 IJASCSE Vol 1 Issue 1 2012



           A LITRERATURE SURVEY ON VARIOUS SOFTWARE COMPLEXITY
                                MEASURES
                       1
                           Anurag Bhatnagar, 2Nikhar Tak ,3Shweta Shukla


Abstract - Latin word “complexus”,                   Keyword – Software complexity, Code
which signifies "entwined", "twisted                 based complexity measures, cognitive
together". This may be interpreted in                based complexity measures.
the following way - in order to have a
complex we need two or more
components, which are joined in such a                  1. INTRODUCTION TO
way that it is difficult to separate them.                 COMPLEXITY
Similarly, the Oxford Dictionary defines
                                                     Complexity is defined by the execution
something as "complex" if it is "made of
                                                     time and storage required to perform
(usually several) closely connected
                                                     the computation. When the interacting
parts". Software systems change over
                                                     system is a programmer, complexity is
time, so it is very difficult to understand
                                                     defined by the difficulty of performing
and measure the effect of these
                                                     tasks such as coding, debugging,
changes and it is a very complex
                                                     testing, or modifying the software. The
problem in most modern software
                                                     term software complexity is often
systems that consist of thousands of
                                                     applied to the interaction between a
program modules. Thus one of the
                                                     program and a programmer working on
central      problems        in     software
                                                     some programming task. Complexity
engineering is its inherited complexity.
                                                     measures focus on designs and actual
This paper is a survey on different
                                                     code. They assume there is a direct
Code based complexity measures such
                                                     correlation between design complexity
as Halsted Complexity Measure and
                                                     and design errors, and code complexity
MAC Cabe’s Cyclomatic Complexity
                                                     and latent defects. By recognizing the
Measure       and      Cognitive      based
                                                     properties of each that correlate to their
complexity measures such as KLCID
                                                     complexity, we can identify those high
Complexity        Measure,         Cognitive
                                                     risk applications that either should be
Functional Complexity Measure and
                                                     revised or subjected to additional
Cognitive      Information       Complexity
                                                     testing. Those software properties
Measure.
                                                     which correlate to how complex its size,
                                                     interfaces among modules (usually


                                                    1
Jun. 30                              IJASCSE Vol 1 Issue 1 2012



                                                     "Open       Reengineering"       provides
                                                     criterion for metrics selection. Today
measured as fan-in, the number of                    "Open Systems" are so popular
modules invoking a given application,                because         commercial       software
or fan-out, the number of modules                    applications is that the user is
invoked by a given application), and                 guaranteed       a   certain   level   of
structure (the number of paths within a              interoperability - the applications work
module). Complexity metrics help                     together in a common framework, and
determine the number and type of tests               applications can be ported across
needed to cover the design (interfaces               hardware platforms with minimal
or calls) or coded logic (branches and               impact. The open reengineering consist
statements).     There     are    several            of the abstract model that state that
accepted methods for measuring                       software systems must be as
complexity, most of which can be                     independent as possible from the
calculated by using automated tools.                 source      code      formatting      and
Basili defines complexity as a measure               programming language. The objective
of the resources expended by a system                is to be able to set complexity
while interacting with a piece of                    standards and interpret the resultant
software to perform a given task [1].                numbers uniformly across projects and
Software complexity measures are                     languages. Once we calculate the
based on program code disregarding                   complexity then that value should be
comment and stylistic attributes such as             the same whether in Ada, FORTRAN,
indentation and naming conventions.                  or in some other programming
Measures typically depend on program                 language. Some of the very basic but
size, control structure, or the nature of            important complexity measures are the
module interfaces.                                   number of lines of code also known as
                                                     LOC (Line of Code), does not meet the
Software complexity can be measured                  open reengineering criterion, as it’s
by Direct Measures which is also                     tremendously sensitive to programming
known as internal attributes and Indirect            language, coding style, and textual
Measures which is also known as                      formatting of the source code. The
external attributes. Direct Measures are             cyclomatic complexity measure, is
measured directly such as Cost, effort,              example of open engineering as it
LOC,      speed,     memory.       Indirect          measures the amount of decision logic
Measures can not be measured                         in a source code function. Cyclomatic
directly. Example - Functionality,                   complexity is entirely independent of
quality, complexity, efficiency, reliability,        text formatting and is this is
maintainability.                                     independent of programming language
                                                 2
Jun. 30                           IJASCSE Vol 1 Issue 1 2012



                                                  to find the complexity of the procedural
                                                  programs, it is used to measure a
since the same fundamental decision               software      component's       complexity
structure are available and uniformly             directly from source code with
used in all procedural programming                prominence         on       computational
languages.                                        complexity [3]. Halstead’s measures
                                                  uses distinct and total number of
    2. CODE BASED COMPLEXITY                      operators and operands means it
            MEASURES                              absorbed the operators (that means
                                                  operations in a programming language
Code based complexity measures, as                that may vary or move the operands)
its name is indicating are based on the           and operands (different variables,
code of the program and not on the                constants, and addresses on which
comments and stylistic attributes of it.          operation is to be performed) in a
Code based measures are typically                 software component in order to
depends upon the program sizes,                   measure complexity. Halstead makes
program flow graphs, or module                    the observation that metrics of the
interfaces such as Halstead’s software            software       should      reflect    the
science metrics [3] and the most widely           implementation or expression of
known      measure      of    cyclomatic          algorithms in different languages, but
complexity developed by McCabe [6].               be independent of their execution on a
However, Halstead’s software metrics              specific platform. These metrics are
purely calculates the number of                   therefore computed statically from the
operators and operands, but it does not           code. Thus the Halstead complexity
consider the internal structures of               measure uses code of the software in
modules, while McCabe’s cyclomatic                order to calculate the complexity so it is
complexity does not consider I/O’s of a           known as code based complexity
system as it is based on the flow chart           measure. The goal of Halstead
of the program. It uses flow chart of the         complexity measure was to identify
program and on the basis of nodes and             measurable properties of software or
edges it provides complexity of the               code, and the relations between them.
program.                                          The main problem with this method or
                                                  we can say blockage with this is that it
     2.1 HALSTEAD COMPLEXITY                      does not distinguish the differences
             MEASURE                              among the same operators and among
                                                  the same operands in a program.
A set of software metrics was                     Besides, it ignores the nested structure
developed by Maurice Halstead in 1977             and fails to analyze the case statement
                                              3
Jun. 30                          IJASCSE Vol 1 Issue 1 2012



                                                 the physical meanings of the measures
                                                 are not very clear.
when code is not accessible. Some of
the important parameters used in                       Table – 2. Derived Measures of
measures of Halstead are based on                       Halstead’s Software Metrics
four scalar numbers of programs. All
these parameters are show in Table 1.                Measure      Symbol     Formula
                                                     Program        N       N = N1 + N2
Table – 1. Meta Measures in Halstead                  Length
        Complexity measure                           Program         n      n = n1 + n2
                                                    vocabulary
Factor      Meta          Description
                                                     Volume          V     V = N*(Log2n)
           Measure
                                                     Difficulty      D          D=
  n1      $operators      The number
                                                                           (n1*N2)/2*n2
                           of distinct
                                                      Effort         E        E = D*V
                           operators
                                                      Time           T       T = E/18
  n2      $operands       The number
                                                    Total Bugs       B     B = E2/3/3000
                           of distinct
                           operands
  N1      $operators        The total                2.2 MAC CABE’S CYCLOMETRIC
                           number of
                                                             COMPLEXITY
                           operators
  N2      $operands         The total            In 1976, Thomas J.McCabe provides a
                           number of             method      calculates       Cyclomatic
                           operands              Complexity by the control flow graph of
                                                 program. This McCabe method is
Six measures can be derived from table           based on control flow. McCabe's
– 1 , as shown in Table 2. Halstead’s            complexity measure is a mathematical
software metrics were developed in the           technique for calculating the logical
context    of    assembler     language          complexity of a computer program.
programs, and get into too small details         Cyclomatic complexity also known as
of measurement. The metrics identified           conditional complexity, is a software
the need for three types of measures             metric and is used to indicate the
for software: basic, derived, and                complexity of a program. It is a direct
estimated measures. But, some of the             measure so it directly measures the
measures and constants are arguable,             number of linearly independent paths
e.g. T = E/18, and B = E2/3 / 3000, and          through a program's source code.
                                                 Cyclomatic complexity is computed
                                             4
Jun. 30                           IJASCSE Vol 1 Issue 1 2012



                                                  expressed as graphs or to be precise
using the control flow graph of the               "program      control   graphs."  Thus
program: the nodes of the graph                   mathematical analysis may be applied
correspond to indivisible groups of               to computer programs in order to
commands of a program, and a                      calculate complexity. Graph theory
directed edge connects two nodes if the           allows for such a graph to yield a
second command might be executed                  quantitative    cyc]omatic    complexity
immediately after the first command.              number via the formula –
Cyclomatic complexity may also be                              V(F) = E − N + 2
applied to individual functions, modules,
methods or classes within a program. A            F is the flow graph of the code.
number representing its logical weight            N is the number of vertices/Nodes.
can be used to show the complexity of             E is the number of edges.
a computer program. This quantitative
complexity number dependent on a
program's decision structure or the
number of basic paths through a
program       generated     but    it  is
independent of the program's size.
Complexity can assume a value of one
to infinity, a reasonable upper limit of
intellectual manageability has been
placed by McCabe at ten. Software
should be tested for the complexity
once they are created but when the
complexity of the software exceeds
than ten, sub-functions should be given
their own procedure or the software
should be redone. The theoretical basis
for McCabe's complexity measure is
graph theory. The following connection
exists between graph theory and
computer programs. Each node in the                     Figure – 1. McCabe Cyclomatic
graph corresponds to a block of code in                      Complexity Example.
the program where the flow is
sequential and the arcs correspond to             Here we have
branches taken in the program. Thus,              E = No. of Edges = 7
all computer programs may be                      N = No. of Nodes = 5.
                                              5
Jun. 30                            IJASCSE Vol 1 Issue 1 2012




Cyclomatic Complexity                              Klemola and Rilling proposed KLCID
V(F) = 7-5+2 = 4                                   based complexity measure in 2004. It
                                                   defines the use of the identifiers as
      3. COGNITIVE COMPLEXITY                      programmer defined variables and
             MEASURES                              identifiers (ID) when a software is built
                                                   up.
Cognitive complexity measures are the
human effort needed to perform a task                  ID = Total no. of identifiers/ LOC
or difficulty in understanding the                 In order to calculate KLCID, we need to
software. Cognitive complexity measure             find the number of unique lines of code
is an attempt that quantifies the effort or        in a module, lines that have same type
notch of difficulty in understanding the           and kind of operands with same
software based on cognitive informatics            arrangements of operators would be
foundation. Cognitive complexity of                consider equal. I defines KLCID as –
software is dependent on three basic
fundamental factors. These are inputs,               KLCID= No. of Identifier in the set of
outputs, and internal processing.                      unique lines/ No. of unique lines
Cognitive       complexity      measures                      containing identifier
consider all these factors affecting the           This is a time consuming method when
effort in twigging the software, e.g. data         comparing a line of code with each line
objects such as inputs, outputs,                   of the program. KLCID accepts that
variables,     loops    and     branches           internal control structures for different
evaluating complexity but if the factors           software’s are identical.
are not carefully thought and organized
it may cause trouble in calculating                  3.2 COGINITIVE FUNCTIONAL SIZE
complexity. Some of the factors                                   (CFS)
considered in order to calculate the
complexity of the software and these               Cognitive Functional Size (CFS) [1] was
factors are separately-derived weights.            defined by Wang
Thus this process of calculating the               As –
complexity ignores the relationships
among the factors of the modules and                         CFS = (Ni + No) * Wc
has a little importance to human                   Where Ni = No of inputs.
cognitive process when apprehending                       No = No of outputs.
the code of the program.                                  Wc = The total cognitive weight
                                                   of basic control structures (BCS's).
 3.1 KLCID COMPLEXITY METRICS
                                               6
Jun. 30                           IJASCSE Vol 1 Issue 1 2012



                                                       3.2 COGNITIVE INFORMATION
                                                          COMPLEXITY MEASURE
These BCS are defined as the total
sum of cognitive weights of its Q linear          Cognitive    Informatics    plays    an
blocks composed in individual BCS's.              important role in understanding the
Since each block may consist of 'm'               fundamental characteristics of software.
layers of nesting BCS's, and each layer           Wang [8] defined information as the
                                                  third essence in modelling the natural
with 'n' linear BCS's, then –
                                                  world supplement to matter and energy.
                                                  Wang [9] also defined software as
                                                  “Software in cognitive informatics is
                                                  perceived as formally described design
                                                  information    and     implementations
  Table 2. Cognitive Weights (Wc) of
                                                  instructions of computing application”
               BCS’s
                                                  i.e.
  Category        BCS         Wc.
                                                               Software ≃ Information
  Sequence  Sequence (SEQ)     1
   Branch     If-Then-Else     2
                                                  It represent that, software is equivalent
                  (ITE)
                                                  to information, So
              Case(CASE)       3
                                                  implies that
               For-do (Ri)     3
  Iteration Repeat-Until (Ri)  3                  Difficulty in understanding ≃
             While-do (Ro)     3                  Difficulty in
 Embedded     Function call    2                  software understanding information
Component         (FC)
            Recursion (REC)    3                  Software is a computational information
Concurrency Parallel (PAR)     4                  and is a mathematical entity. Or we can
             Interrupt (INT)   4                  say that software is a piece of
                                                  information that consist of identifiers to
Cognitive Functional Size interestingly           represent     the   information       and
started the study in software complexity          Operators that represent function to be
measurement based on cognitive                    performed.
informatics foundation [6] and state that
the complexity of software is dependent           Software            =      fun(Identifiers,
on inputs, outputs, and its internal              Operators)
processing.

                                              7
Jun. 30                            IJASCSE Vol 1 Issue 1 2012



                                                   on this fact, weighted information count
Identifiers can be variable names,                 is been introduced as in definition 3.
defined constants or other labels in
software. Thus information can be                  Definition      3:   The    Weighted
defined as –                                       Information Count of a line of code
                                                   (WICL) of a software is a function of
Definition 1: Information can be                   identifiers, operands and LOC and is
represented by LOC. It means different             defined as –
operators and operand can be used to
show information, Thus in Kth line of                           WICLk = Ik / [LOCS – k]
code the Information
contained is –                                     Where WICk = Weighted Information
                                                   Count for the kth line.
IKth = (Identifiers + Operands)K                   Ik = Information contained in a software
      = (IDK + OPK) IU                             for the kth line. So the Weighted
                                                   Information Count of the
Where ID = Total number of identifiers             Software (WICS) is defined as (LOCS)
in the kth LOC of software.                        –
OP = Total number of operators in the
kth LOC of software.                                                LOCS
IU = Information Unit represents that                         WICS = Σ WICLk
any identifier or operator has one unit of                           K=1
information in it.                                 The internal control structure of
                                                   software such as it’s weight must be
Definition 2: Overall Information                  considered in order to provide complete
contained in software                              and robust complexity measure.
(Itotal) is the sum of information
contained in each line of                          Definition 4: Sum of the cognitive
Code (LOCS) i.e.                                   weights of basic control structures
                                                   (SBCS) is defined –
                     LOCS                          Let W1, W2…..Wn be the cognitive
               Itotal = Σ Ik                       weights of the basic control structures
                      K=1                          [8] in the software –
When have established that software is                                   n
ready to comprehend the information                              SBCS = Σ (Wi)
units (IU’s), the measure of the                                        i=1
complexity of the software should                  Definition 5: Thus we have Cognitive
contain the above parameters. Based                Information Complexity Measure –
                                               8
Jun. 30                          IJASCSE Vol 1 Issue 1 2012



                                                 Calculation of KLCID complexity
       (CICM) = WICS * SBCS                      measure –
Thus we have used an approach to                 Total no. of identifiers in the above
measure the amount of information                program = 18
contained in the software thus enabling          Total no. of lines of code = 17
us to calculate the coding efficiency            ID = 18/17 = 1.05
(EI).                                            No. of unique lines containing identifier
                                                 =9
Definition      6:        Efficiency of          No. of identifiers in the set of unique
Information Coding (EI) of a software            lines = 11
is defined as –                                  KLCID = 11 / 9 = 1.22
            EI = Itotal / LOCS.
                                                 Calculation of CFS –
Now to analyse the KLCID, CMS and                Number of inputs Ni = 1
CICM complexity measures, we have                Number of outputs No = 3
an algorithm to calculate the average of         BCS (sequence) W1 = 1
a set of ‘n’ numbers on which we will            BCS (while) W2 = 3
applied all these methods to calculate           Wc = W1 + W2 = 1+3 = 4
the complexity.                                  CFS = (Ni + No)* Wc = (1+3)*4 = 16
# define n 10
Void main( )                                     Calculation of CICM –
{                                                LOC = 17
int total;                                       Total no. of identifiers = 18
float sum, avg, num;                             Total no. of operators = 4
sum = 0;                                         BCS(sequence) W1 = 1
total = 0;                                       BCS(while) W2 = 3
while (total < n)                                SBCS = W1 + W2 = 1+3 = 4
{                                                WICS = [ 1/16 + 1/13 + 3/12 + 1/11 +
scanf(“%f”, &num);                               1/10 + 3/9 + 1/7 + 4/6 + 3/5 + 4/3] =
sum = sum + num;                                 3.63
total = total + 1;                               CICM = WICS * SBCS = 3.63 * 4 =
}                                                14.53
avg = sum/N;                                     Information Coding Efficiency (EI) of
printf(“N=%d sum = %f”’, N, sum);                the above
printf(“average = %f”’, avg);                    program = 22/17 = 1.29
}                                                The cognitive information complexity of
                                                 the given algorithm is 14.53 CICU
                                                 (Cognitive Information Complexity unit).
                                             9
Jun. 30                         IJASCSE Vol 1 Issue 1 2012



                                                [1] B. Auprasert and Y, Limpiyakorn,
          3.3 CONCLUSION                        "StructuringCognitive Information
                                                for Software Complexity Measurement",
In this paper we have studied various
                                                Accepted for CSIE 2009, Los
Software complexity measures along
                                                Angeles, USA., April 2009.
with their appropriate example. All
                                                [2] Halstead, M.H., Elements of
Code based complexity measures such
                                                Software Science, Elsevier North, New
as Halsted Complexity Measure and
                                                York, 1977
MAC Cabe’s Cyclomatic Complexity
                                                [3] Mc Cabe, T.H., A Complexity
Measure that we have studied are
                                                measure, IEEE Transactions on
based on coding part of the program,
                                                Software Engineering, SE-2,6, pp. 308-
so it needed time to compute
                                                320, 1976
complexity as all these methods can
                                                [4] Kushwaha, D.S. and Misra, A.K., A
be applied after the coding phase has
                                                Modified       Cognitive     Information
been completed. MAC Cab Cylomatic
                                                Complexity Measure of Software, ACM
complexity measure is based on the
                                                SIGSOFT Software Engineering Notes,
flow graph of the program by which
                                                Vol. 31, No. 1 January 2006.
code is generated thus it is also
                                                [5] Kushwaha, D.S. and Misra, A.K., A
classified in code based complexity
                                                Complexity      Measure     based     on
measures. Cognitive based complexity
                                                Information Contained in Software,
measures such as KLCID Complexity
                                                Proceedings of the 5th WSEAS Int.
Measure,       Cognitive     Functional
                                                Conf. on Software Engineering, Parallel
Complexity Measure and Cognitive
                                                and Distributed Systems, Madrid,
Information Complexity Measure are
                                                Spain, February 15-17, 2006, (pp 187-
also based on the coding part of the
                                                195)
programs so they also needed code of
                                                [6] Tumous Klemola and Juergen
the procedural program on which they
                                                Rilling, A Cognitive Complexity Metric
are to be applied, in order to compute
                                                based on Category Learning, IEEE
the complexity. So we can say that the
                                                International Conference on Cognitive
time to measure the complexity for
                                                Informatics (ICCI-04)
procedural programs by both Code
                                                [5] Kushwaha, D.S. and Misra, A.K.,
based complexity measures and
                                                Cognitive     Information    Complexity
Cognitive based complexity measures
                                                Measure:      A    Metric   Based     on
depends on the time that is needed to
                                                Information Contained in the Software,
complete the coding phase.
                                                WSEAS Transactions on Computers,
          3.4 REFERENCES                        Issue 3, Vol. 5, March 2006, ISSN:
                                                1109 – 2750

                                           10
Jun. 30                         IJASCSE Vol 1 Issue 1 2012




[6] Kushwaha, D.S. and Misra, A.K.,
Improved      Cognitive     Information
Complexity Measure: A metric that
establishes     programcomprehension
effort,  ACM      SIGSOFT      Software
Engineering, Page 1, September 2006,
Volume 31 Number 5
[7]IEEE Computer Society: IEEE
Recommended Practice for Software
Requirement Specifications, New York,
1994
[8] Wang. Y and Shao,J.,”On Cognitive
informatics”, 1st IEEE International
Conference on Cognitive Informatics,
pages 34-42,August 2002.
[9]     Wang     ,Y    .and    Shao,J.,
“Measurement of the Cognitive
Functional Complexity of Software”, 3
rd IEEE International
Conference          on        Cognitive
Informatics(ICCI’04).




                                           11

Weitere ähnliche Inhalte

Was ist angesagt?

IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...IJCSEA Journal
 
Software Design
Software DesignSoftware Design
Software DesignHa Ninh
 
SE2018_Lec 15_ Software Design
SE2018_Lec 15_ Software DesignSE2018_Lec 15_ Software Design
SE2018_Lec 15_ Software DesignAmr E. Mohamed
 
TaskMan-Middleware 2011 - Advanced implementation
TaskMan-Middleware 2011 - Advanced implementationTaskMan-Middleware 2011 - Advanced implementation
TaskMan-Middleware 2011 - Advanced implementationAndrea Tino
 
Sa 006 modifiability
Sa 006 modifiabilitySa 006 modifiability
Sa 006 modifiabilityFrank Gielen
 
Visualizing Object-oriented Software for Understanding and Documentation
Visualizing Object-oriented Software for Understanding and Documentation Visualizing Object-oriented Software for Understanding and Documentation
Visualizing Object-oriented Software for Understanding and Documentation Ra'Fat Al-Msie'deen
 
Design concepts and principles
Design concepts and principlesDesign concepts and principles
Design concepts and principlessaurabhshertukde
 
Software design principles
Software design principlesSoftware design principles
Software design principlesRitesh Singh
 
Open source evolution analysis
Open source evolution analysisOpen source evolution analysis
Open source evolution analysisIzzat Alsmadi
 
THE REMOVAL OF NUMERICAL DRIFT FROM SCIENTIFIC MODELS
THE REMOVAL OF NUMERICAL DRIFT FROM SCIENTIFIC MODELSTHE REMOVAL OF NUMERICAL DRIFT FROM SCIENTIFIC MODELS
THE REMOVAL OF NUMERICAL DRIFT FROM SCIENTIFIC MODELSIJSEA
 
Software Architecture connectors - ActiveMQ analysis
Software Architecture connectors - ActiveMQ analysisSoftware Architecture connectors - ActiveMQ analysis
Software Architecture connectors - ActiveMQ analysisMohammad Shawahneh
 

Was ist angesagt? (18)

Software design
Software designSoftware design
Software design
 
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
 
Software Design
Software DesignSoftware Design
Software Design
 
Software design
Software designSoftware design
Software design
 
Design Principles
Design PrinciplesDesign Principles
Design Principles
 
SE2018_Lec 15_ Software Design
SE2018_Lec 15_ Software DesignSE2018_Lec 15_ Software Design
SE2018_Lec 15_ Software Design
 
TaskMan-Middleware 2011 - Advanced implementation
TaskMan-Middleware 2011 - Advanced implementationTaskMan-Middleware 2011 - Advanced implementation
TaskMan-Middleware 2011 - Advanced implementation
 
Software design
Software designSoftware design
Software design
 
unit 3 Design 1
unit 3 Design 1unit 3 Design 1
unit 3 Design 1
 
Sa 006 modifiability
Sa 006 modifiabilitySa 006 modifiability
Sa 006 modifiability
 
Visualizing Object-oriented Software for Understanding and Documentation
Visualizing Object-oriented Software for Understanding and Documentation Visualizing Object-oriented Software for Understanding and Documentation
Visualizing Object-oriented Software for Understanding and Documentation
 
Design concepts and principles
Design concepts and principlesDesign concepts and principles
Design concepts and principles
 
Software design principles
Software design principlesSoftware design principles
Software design principles
 
Open source evolution analysis
Open source evolution analysisOpen source evolution analysis
Open source evolution analysis
 
Design techniques
Design techniquesDesign techniques
Design techniques
 
THE REMOVAL OF NUMERICAL DRIFT FROM SCIENTIFIC MODELS
THE REMOVAL OF NUMERICAL DRIFT FROM SCIENTIFIC MODELSTHE REMOVAL OF NUMERICAL DRIFT FROM SCIENTIFIC MODELS
THE REMOVAL OF NUMERICAL DRIFT FROM SCIENTIFIC MODELS
 
Software Architecture connectors - ActiveMQ analysis
Software Architecture connectors - ActiveMQ analysisSoftware Architecture connectors - ActiveMQ analysis
Software Architecture connectors - ActiveMQ analysis
 
Unit i software design principles 9
Unit i software design principles 9Unit i software design principles 9
Unit i software design principles 9
 

Andere mochten auch

Presentation of the paper “A survey of resources for introducing coding into ...
Presentation of the paper “A survey of resources for introducing coding into ...Presentation of the paper “A survey of resources for introducing coding into ...
Presentation of the paper “A survey of resources for introducing coding into ...Grial - University of Salamanca
 
Secondary level-mathematics-curriculum-of-kerala
Secondary level-mathematics-curriculum-of-keralaSecondary level-mathematics-curriculum-of-kerala
Secondary level-mathematics-curriculum-of-keralakgbiju
 
Teaching students with Mental Retardation
Teaching students with Mental RetardationTeaching students with Mental Retardation
Teaching students with Mental RetardationRita May Tagalog
 
Gender equality in_education
Gender equality in_educationGender equality in_education
Gender equality in_educationdilip kumar
 
vocational education in India and challenges
vocational education in India and challengesvocational education in India and challenges
vocational education in India and challengesmp poonia
 
Teaching Students with Mental Retardation
Teaching Students with Mental RetardationTeaching Students with Mental Retardation
Teaching Students with Mental RetardationRita May Tagalog
 
Indian vocational-education-system
Indian vocational-education-systemIndian vocational-education-system
Indian vocational-education-systemJanardan Kumhar
 
Vocational training programmes
Vocational training programmesVocational training programmes
Vocational training programmesCentum Learning
 
Resources and development Class 10
Resources and development Class 10Resources and development Class 10
Resources and development Class 10Ansh Mehta
 
Vocational education
Vocational education Vocational education
Vocational education Anu Radha
 
Resources and their Development ( Class X Geography)
Resources and their Development ( Class X Geography)Resources and their Development ( Class X Geography)
Resources and their Development ( Class X Geography)Krishna Kumar
 
Gender and Development
Gender and DevelopmentGender and Development
Gender and DevelopmentSheila Lavapie
 
Indian education system
Indian education systemIndian education system
Indian education systemshamsg2001
 

Andere mochten auch (20)

Presentation of the paper “A survey of resources for introducing coding into ...
Presentation of the paper “A survey of resources for introducing coding into ...Presentation of the paper “A survey of resources for introducing coding into ...
Presentation of the paper “A survey of resources for introducing coding into ...
 
Secondary level-mathematics-curriculum-of-kerala
Secondary level-mathematics-curriculum-of-keralaSecondary level-mathematics-curriculum-of-kerala
Secondary level-mathematics-curriculum-of-kerala
 
Teaching students with Mental Retardation
Teaching students with Mental RetardationTeaching students with Mental Retardation
Teaching students with Mental Retardation
 
Gender equality in_education
Gender equality in_educationGender equality in_education
Gender equality in_education
 
vocational education in India and challenges
vocational education in India and challengesvocational education in India and challenges
vocational education in India and challenges
 
Teaching Students with Mental Retardation
Teaching Students with Mental RetardationTeaching Students with Mental Retardation
Teaching Students with Mental Retardation
 
Indian vocational-education-system
Indian vocational-education-systemIndian vocational-education-system
Indian vocational-education-system
 
Gad action plan
Gad action planGad action plan
Gad action plan
 
Vocational training programmes
Vocational training programmesVocational training programmes
Vocational training programmes
 
Resources and development Class 10
Resources and development Class 10Resources and development Class 10
Resources and development Class 10
 
Vocational education
Vocational education Vocational education
Vocational education
 
Resources and their Development ( Class X Geography)
Resources and their Development ( Class X Geography)Resources and their Development ( Class X Geography)
Resources and their Development ( Class X Geography)
 
Gender and development
Gender and developmentGender and development
Gender and development
 
Mental retardation
Mental retardationMental retardation
Mental retardation
 
Education Sector in India
Education Sector in IndiaEducation Sector in India
Education Sector in India
 
Gender and Development
Gender and DevelopmentGender and Development
Gender and Development
 
gender and development
gender and developmentgender and development
gender and development
 
What is a survey paper
What is a survey paperWhat is a survey paper
What is a survey paper
 
Mental Retardation
Mental RetardationMental Retardation
Mental Retardation
 
Indian education system
Indian education systemIndian education system
Indian education system
 

Ähnlich wie Survey paper

SWE-401 - 5. Software Design Basics
SWE-401 - 5. Software Design BasicsSWE-401 - 5. Software Design Basics
SWE-401 - 5. Software Design Basicsghayour abbas
 
Performancetestingbasedontimecomplexityanalysisforembeddedsoftware 1008150404...
Performancetestingbasedontimecomplexityanalysisforembeddedsoftware 1008150404...Performancetestingbasedontimecomplexityanalysisforembeddedsoftware 1008150404...
Performancetestingbasedontimecomplexityanalysisforembeddedsoftware 1008150404...NNfamily
 
Performance testing based on time complexity analysis for embedded software
Performance testing based on time complexity analysis for embedded softwarePerformance testing based on time complexity analysis for embedded software
Performance testing based on time complexity analysis for embedded softwareMr. Chanuwan
 
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...IJCSEA Journal
 
Automated Java Code Generation (ICDIM 2006)
Automated Java Code Generation (ICDIM 2006)Automated Java Code Generation (ICDIM 2006)
Automated Java Code Generation (ICDIM 2006)IT Industry
 
Reusability Vs Extensibility and Methodologies in OOAD
Reusability Vs Extensibility and Methodologies in OOADReusability Vs Extensibility and Methodologies in OOAD
Reusability Vs Extensibility and Methodologies in OOADSayyada Ayesha
 
Design Engineering is a topic of software engineering of second year fourth s...
Design Engineering is a topic of software engineering of second year fourth s...Design Engineering is a topic of software engineering of second year fourth s...
Design Engineering is a topic of software engineering of second year fourth s...38aartidhage
 
The real time publisher subscriber inter-process communication model for dist...
The real time publisher subscriber inter-process communication model for dist...The real time publisher subscriber inter-process communication model for dist...
The real time publisher subscriber inter-process communication model for dist...yancha1973
 
Finding Bad Code Smells with Neural Network Models
Finding Bad Code Smells with Neural Network Models Finding Bad Code Smells with Neural Network Models
Finding Bad Code Smells with Neural Network Models IJECEIAES
 
System Structure for Dependable Software Systems
System Structure for Dependable Software SystemsSystem Structure for Dependable Software Systems
System Structure for Dependable Software SystemsVincenzo De Florio
 
International Journal of Software Engineering & Applications (IJSEA)
International Journal of Software Engineering & Applications (IJSEA)International Journal of Software Engineering & Applications (IJSEA)
International Journal of Software Engineering & Applications (IJSEA)ijseajournal
 
STRUCTURAL COMPLEXITY ATTRIBUTE CLASSIFICATION FRAMEWORK (SCACF) FOR SASSY CA...
STRUCTURAL COMPLEXITY ATTRIBUTE CLASSIFICATION FRAMEWORK (SCACF) FOR SASSY CA...STRUCTURAL COMPLEXITY ATTRIBUTE CLASSIFICATION FRAMEWORK (SCACF) FOR SASSY CA...
STRUCTURAL COMPLEXITY ATTRIBUTE CLASSIFICATION FRAMEWORK (SCACF) FOR SASSY CA...ijseajournal
 
Software Engineering (Short & Long Questions)
Software Engineering (Short & Long Questions)Software Engineering (Short & Long Questions)
Software Engineering (Short & Long Questions)MuhammadTalha436
 
Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020 Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020 MuhammadTalha436
 
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvfUNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvfputtipavan23022023
 
Analysis of Software Complexity Measures for Regression Testing
Analysis of Software Complexity Measures for Regression TestingAnalysis of Software Complexity Measures for Regression Testing
Analysis of Software Complexity Measures for Regression TestingIDES Editor
 
Software Architecture for Robotics
Software Architecture for RoboticsSoftware Architecture for Robotics
Software Architecture for RoboticsLorran Pegoretti
 
UCD Generator (ICIET 2007)
UCD Generator (ICIET 2007)UCD Generator (ICIET 2007)
UCD Generator (ICIET 2007)IT Industry
 
An agent based approach for building complex software systems
An agent based approach for building complex software systemsAn agent based approach for building complex software systems
An agent based approach for building complex software systemsIcaro Santos
 

Ähnlich wie Survey paper (20)

SWE-401 - 5. Software Design Basics
SWE-401 - 5. Software Design BasicsSWE-401 - 5. Software Design Basics
SWE-401 - 5. Software Design Basics
 
Performancetestingbasedontimecomplexityanalysisforembeddedsoftware 1008150404...
Performancetestingbasedontimecomplexityanalysisforembeddedsoftware 1008150404...Performancetestingbasedontimecomplexityanalysisforembeddedsoftware 1008150404...
Performancetestingbasedontimecomplexityanalysisforembeddedsoftware 1008150404...
 
Performance testing based on time complexity analysis for embedded software
Performance testing based on time complexity analysis for embedded softwarePerformance testing based on time complexity analysis for embedded software
Performance testing based on time complexity analysis for embedded software
 
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
 
Automated Java Code Generation (ICDIM 2006)
Automated Java Code Generation (ICDIM 2006)Automated Java Code Generation (ICDIM 2006)
Automated Java Code Generation (ICDIM 2006)
 
Reusability Vs Extensibility and Methodologies in OOAD
Reusability Vs Extensibility and Methodologies in OOADReusability Vs Extensibility and Methodologies in OOAD
Reusability Vs Extensibility and Methodologies in OOAD
 
Design Engineering is a topic of software engineering of second year fourth s...
Design Engineering is a topic of software engineering of second year fourth s...Design Engineering is a topic of software engineering of second year fourth s...
Design Engineering is a topic of software engineering of second year fourth s...
 
The real time publisher subscriber inter-process communication model for dist...
The real time publisher subscriber inter-process communication model for dist...The real time publisher subscriber inter-process communication model for dist...
The real time publisher subscriber inter-process communication model for dist...
 
Finding Bad Code Smells with Neural Network Models
Finding Bad Code Smells with Neural Network Models Finding Bad Code Smells with Neural Network Models
Finding Bad Code Smells with Neural Network Models
 
System Structure for Dependable Software Systems
System Structure for Dependable Software SystemsSystem Structure for Dependable Software Systems
System Structure for Dependable Software Systems
 
International Journal of Software Engineering & Applications (IJSEA)
International Journal of Software Engineering & Applications (IJSEA)International Journal of Software Engineering & Applications (IJSEA)
International Journal of Software Engineering & Applications (IJSEA)
 
STRUCTURAL COMPLEXITY ATTRIBUTE CLASSIFICATION FRAMEWORK (SCACF) FOR SASSY CA...
STRUCTURAL COMPLEXITY ATTRIBUTE CLASSIFICATION FRAMEWORK (SCACF) FOR SASSY CA...STRUCTURAL COMPLEXITY ATTRIBUTE CLASSIFICATION FRAMEWORK (SCACF) FOR SASSY CA...
STRUCTURAL COMPLEXITY ATTRIBUTE CLASSIFICATION FRAMEWORK (SCACF) FOR SASSY CA...
 
Software Engineering (Short & Long Questions)
Software Engineering (Short & Long Questions)Software Engineering (Short & Long Questions)
Software Engineering (Short & Long Questions)
 
Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020 Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020
 
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvfUNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
 
Analysis of Software Complexity Measures for Regression Testing
Analysis of Software Complexity Measures for Regression TestingAnalysis of Software Complexity Measures for Regression Testing
Analysis of Software Complexity Measures for Regression Testing
 
Software Architecture for Robotics
Software Architecture for RoboticsSoftware Architecture for Robotics
Software Architecture for Robotics
 
UCD Generator (ICIET 2007)
UCD Generator (ICIET 2007)UCD Generator (ICIET 2007)
UCD Generator (ICIET 2007)
 
4213ijsea04
4213ijsea044213ijsea04
4213ijsea04
 
An agent based approach for building complex software systems
An agent based approach for building complex software systemsAn agent based approach for building complex software systems
An agent based approach for building complex software systems
 

Mehr von IJASCSE

Inter Time Series Sales Forecasting
Inter Time Series Sales ForecastingInter Time Series Sales Forecasting
Inter Time Series Sales ForecastingIJASCSE
 
Independent Component Analysis for Filtering Airwaves in Seabed Logging Appli...
Independent Component Analysis for Filtering Airwaves in Seabed Logging Appli...Independent Component Analysis for Filtering Airwaves in Seabed Logging Appli...
Independent Component Analysis for Filtering Airwaves in Seabed Logging Appli...IJASCSE
 
Enhanced Performance of Search Engine with Multitype Feature Co-Selection of ...
Enhanced Performance of Search Engine with Multitype Feature Co-Selection of ...Enhanced Performance of Search Engine with Multitype Feature Co-Selection of ...
Enhanced Performance of Search Engine with Multitype Feature Co-Selection of ...IJASCSE
 
Improving Utilization of Infrastructure Cloud
Improving Utilization of Infrastructure CloudImproving Utilization of Infrastructure Cloud
Improving Utilization of Infrastructure CloudIJASCSE
 
Four Side Distance: A New Fourier Shape Signature
Four Side Distance: A New Fourier Shape SignatureFour Side Distance: A New Fourier Shape Signature
Four Side Distance: A New Fourier Shape SignatureIJASCSE
 
Theoretical study of axially compressed Cold Formed Steel Sections
Theoretical study of axially compressed Cold Formed Steel SectionsTheoretical study of axially compressed Cold Formed Steel Sections
Theoretical study of axially compressed Cold Formed Steel SectionsIJASCSE
 
Improved Performance of Unsupervised Method by Renovated K-Means
Improved Performance of Unsupervised Method by Renovated K-MeansImproved Performance of Unsupervised Method by Renovated K-Means
Improved Performance of Unsupervised Method by Renovated K-MeansIJASCSE
 
A Study on the Effectiveness of Computer Games in Teaching and Learning
A Study on the Effectiveness of Computer Games in Teaching and LearningA Study on the Effectiveness of Computer Games in Teaching and Learning
A Study on the Effectiveness of Computer Games in Teaching and LearningIJASCSE
 
Clustering Based Lifetime Maximizing Aggregation Tree for Wireless Sensor Net...
Clustering Based Lifetime Maximizing Aggregation Tree for Wireless Sensor Net...Clustering Based Lifetime Maximizing Aggregation Tree for Wireless Sensor Net...
Clustering Based Lifetime Maximizing Aggregation Tree for Wireless Sensor Net...IJASCSE
 
Design Equation for CFRP strengthened Cold Formed Steel Channel Column Sections
Design Equation for CFRP strengthened Cold Formed Steel Channel Column SectionsDesign Equation for CFRP strengthened Cold Formed Steel Channel Column Sections
Design Equation for CFRP strengthened Cold Formed Steel Channel Column SectionsIJASCSE
 
OfdmaClosed-Form Rate Outage Probability for OFDMA Multi-Hop Broadband Wirele...
OfdmaClosed-Form Rate Outage Probability for OFDMA Multi-Hop Broadband Wirele...OfdmaClosed-Form Rate Outage Probability for OFDMA Multi-Hop Broadband Wirele...
OfdmaClosed-Form Rate Outage Probability for OFDMA Multi-Hop Broadband Wirele...IJASCSE
 
A Study on Thermal behavior of Nano film as thermal interface layer
A Study on Thermal behavior of Nano film as thermal interface layerA Study on Thermal behavior of Nano film as thermal interface layer
A Study on Thermal behavior of Nano film as thermal interface layerIJASCSE
 
Performance analysis of a model predictive unified power flow controller (MPU...
Performance analysis of a model predictive unified power flow controller (MPU...Performance analysis of a model predictive unified power flow controller (MPU...
Performance analysis of a model predictive unified power flow controller (MPU...IJASCSE
 
Synthesis and structural properties of Mg (OH)2 on RF sputtered Mg thin films...
Synthesis and structural properties of Mg (OH)2 on RF sputtered Mg thin films...Synthesis and structural properties of Mg (OH)2 on RF sputtered Mg thin films...
Synthesis and structural properties of Mg (OH)2 on RF sputtered Mg thin films...IJASCSE
 
Evaluation of Exception Handling Metrics
Evaluation of Exception Handling MetricsEvaluation of Exception Handling Metrics
Evaluation of Exception Handling MetricsIJASCSE
 
Investigation of Integrated Rectangular SIW Filter and Rectangular Microstrip...
Investigation of Integrated Rectangular SIW Filter and Rectangular Microstrip...Investigation of Integrated Rectangular SIW Filter and Rectangular Microstrip...
Investigation of Integrated Rectangular SIW Filter and Rectangular Microstrip...IJASCSE
 
An effect of synthesis parameters on structural properties of AlN thin films ...
An effect of synthesis parameters on structural properties of AlN thin films ...An effect of synthesis parameters on structural properties of AlN thin films ...
An effect of synthesis parameters on structural properties of AlN thin films ...IJASCSE
 
Cluster-based Target Tracking and Recovery Algorithm in Wireless Sensor Network
Cluster-based Target Tracking and Recovery Algorithm in Wireless Sensor NetworkCluster-based Target Tracking and Recovery Algorithm in Wireless Sensor Network
Cluster-based Target Tracking and Recovery Algorithm in Wireless Sensor NetworkIJASCSE
 
Analysis and Design of Lead Salt PbSe/PbSrSe Single Quantum Well In the Infra...
Analysis and Design of Lead Salt PbSe/PbSrSe Single Quantum Well In the Infra...Analysis and Design of Lead Salt PbSe/PbSrSe Single Quantum Well In the Infra...
Analysis and Design of Lead Salt PbSe/PbSrSe Single Quantum Well In the Infra...IJASCSE
 
Portfolio Analysis in US stock market using Markowitz model
Portfolio Analysis in US stock market using Markowitz modelPortfolio Analysis in US stock market using Markowitz model
Portfolio Analysis in US stock market using Markowitz modelIJASCSE
 

Mehr von IJASCSE (20)

Inter Time Series Sales Forecasting
Inter Time Series Sales ForecastingInter Time Series Sales Forecasting
Inter Time Series Sales Forecasting
 
Independent Component Analysis for Filtering Airwaves in Seabed Logging Appli...
Independent Component Analysis for Filtering Airwaves in Seabed Logging Appli...Independent Component Analysis for Filtering Airwaves in Seabed Logging Appli...
Independent Component Analysis for Filtering Airwaves in Seabed Logging Appli...
 
Enhanced Performance of Search Engine with Multitype Feature Co-Selection of ...
Enhanced Performance of Search Engine with Multitype Feature Co-Selection of ...Enhanced Performance of Search Engine with Multitype Feature Co-Selection of ...
Enhanced Performance of Search Engine with Multitype Feature Co-Selection of ...
 
Improving Utilization of Infrastructure Cloud
Improving Utilization of Infrastructure CloudImproving Utilization of Infrastructure Cloud
Improving Utilization of Infrastructure Cloud
 
Four Side Distance: A New Fourier Shape Signature
Four Side Distance: A New Fourier Shape SignatureFour Side Distance: A New Fourier Shape Signature
Four Side Distance: A New Fourier Shape Signature
 
Theoretical study of axially compressed Cold Formed Steel Sections
Theoretical study of axially compressed Cold Formed Steel SectionsTheoretical study of axially compressed Cold Formed Steel Sections
Theoretical study of axially compressed Cold Formed Steel Sections
 
Improved Performance of Unsupervised Method by Renovated K-Means
Improved Performance of Unsupervised Method by Renovated K-MeansImproved Performance of Unsupervised Method by Renovated K-Means
Improved Performance of Unsupervised Method by Renovated K-Means
 
A Study on the Effectiveness of Computer Games in Teaching and Learning
A Study on the Effectiveness of Computer Games in Teaching and LearningA Study on the Effectiveness of Computer Games in Teaching and Learning
A Study on the Effectiveness of Computer Games in Teaching and Learning
 
Clustering Based Lifetime Maximizing Aggregation Tree for Wireless Sensor Net...
Clustering Based Lifetime Maximizing Aggregation Tree for Wireless Sensor Net...Clustering Based Lifetime Maximizing Aggregation Tree for Wireless Sensor Net...
Clustering Based Lifetime Maximizing Aggregation Tree for Wireless Sensor Net...
 
Design Equation for CFRP strengthened Cold Formed Steel Channel Column Sections
Design Equation for CFRP strengthened Cold Formed Steel Channel Column SectionsDesign Equation for CFRP strengthened Cold Formed Steel Channel Column Sections
Design Equation for CFRP strengthened Cold Formed Steel Channel Column Sections
 
OfdmaClosed-Form Rate Outage Probability for OFDMA Multi-Hop Broadband Wirele...
OfdmaClosed-Form Rate Outage Probability for OFDMA Multi-Hop Broadband Wirele...OfdmaClosed-Form Rate Outage Probability for OFDMA Multi-Hop Broadband Wirele...
OfdmaClosed-Form Rate Outage Probability for OFDMA Multi-Hop Broadband Wirele...
 
A Study on Thermal behavior of Nano film as thermal interface layer
A Study on Thermal behavior of Nano film as thermal interface layerA Study on Thermal behavior of Nano film as thermal interface layer
A Study on Thermal behavior of Nano film as thermal interface layer
 
Performance analysis of a model predictive unified power flow controller (MPU...
Performance analysis of a model predictive unified power flow controller (MPU...Performance analysis of a model predictive unified power flow controller (MPU...
Performance analysis of a model predictive unified power flow controller (MPU...
 
Synthesis and structural properties of Mg (OH)2 on RF sputtered Mg thin films...
Synthesis and structural properties of Mg (OH)2 on RF sputtered Mg thin films...Synthesis and structural properties of Mg (OH)2 on RF sputtered Mg thin films...
Synthesis and structural properties of Mg (OH)2 on RF sputtered Mg thin films...
 
Evaluation of Exception Handling Metrics
Evaluation of Exception Handling MetricsEvaluation of Exception Handling Metrics
Evaluation of Exception Handling Metrics
 
Investigation of Integrated Rectangular SIW Filter and Rectangular Microstrip...
Investigation of Integrated Rectangular SIW Filter and Rectangular Microstrip...Investigation of Integrated Rectangular SIW Filter and Rectangular Microstrip...
Investigation of Integrated Rectangular SIW Filter and Rectangular Microstrip...
 
An effect of synthesis parameters on structural properties of AlN thin films ...
An effect of synthesis parameters on structural properties of AlN thin films ...An effect of synthesis parameters on structural properties of AlN thin films ...
An effect of synthesis parameters on structural properties of AlN thin films ...
 
Cluster-based Target Tracking and Recovery Algorithm in Wireless Sensor Network
Cluster-based Target Tracking and Recovery Algorithm in Wireless Sensor NetworkCluster-based Target Tracking and Recovery Algorithm in Wireless Sensor Network
Cluster-based Target Tracking and Recovery Algorithm in Wireless Sensor Network
 
Analysis and Design of Lead Salt PbSe/PbSrSe Single Quantum Well In the Infra...
Analysis and Design of Lead Salt PbSe/PbSrSe Single Quantum Well In the Infra...Analysis and Design of Lead Salt PbSe/PbSrSe Single Quantum Well In the Infra...
Analysis and Design of Lead Salt PbSe/PbSrSe Single Quantum Well In the Infra...
 
Portfolio Analysis in US stock market using Markowitz model
Portfolio Analysis in US stock market using Markowitz modelPortfolio Analysis in US stock market using Markowitz model
Portfolio Analysis in US stock market using Markowitz model
 

Kürzlich hochgeladen

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 

Kürzlich hochgeladen (20)

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

Survey paper

  • 1. Jun. 30 IJASCSE Vol 1 Issue 1 2012 A LITRERATURE SURVEY ON VARIOUS SOFTWARE COMPLEXITY MEASURES 1 Anurag Bhatnagar, 2Nikhar Tak ,3Shweta Shukla Abstract - Latin word “complexus”, Keyword – Software complexity, Code which signifies "entwined", "twisted based complexity measures, cognitive together". This may be interpreted in based complexity measures. the following way - in order to have a complex we need two or more components, which are joined in such a 1. INTRODUCTION TO way that it is difficult to separate them. COMPLEXITY Similarly, the Oxford Dictionary defines Complexity is defined by the execution something as "complex" if it is "made of time and storage required to perform (usually several) closely connected the computation. When the interacting parts". Software systems change over system is a programmer, complexity is time, so it is very difficult to understand defined by the difficulty of performing and measure the effect of these tasks such as coding, debugging, changes and it is a very complex testing, or modifying the software. The problem in most modern software term software complexity is often systems that consist of thousands of applied to the interaction between a program modules. Thus one of the program and a programmer working on central problems in software some programming task. Complexity engineering is its inherited complexity. measures focus on designs and actual This paper is a survey on different code. They assume there is a direct Code based complexity measures such correlation between design complexity as Halsted Complexity Measure and and design errors, and code complexity MAC Cabe’s Cyclomatic Complexity and latent defects. By recognizing the Measure and Cognitive based properties of each that correlate to their complexity measures such as KLCID complexity, we can identify those high Complexity Measure, Cognitive risk applications that either should be Functional Complexity Measure and revised or subjected to additional Cognitive Information Complexity testing. Those software properties Measure. which correlate to how complex its size, interfaces among modules (usually 1
  • 2. Jun. 30 IJASCSE Vol 1 Issue 1 2012 "Open Reengineering" provides criterion for metrics selection. Today measured as fan-in, the number of "Open Systems" are so popular modules invoking a given application, because commercial software or fan-out, the number of modules applications is that the user is invoked by a given application), and guaranteed a certain level of structure (the number of paths within a interoperability - the applications work module). Complexity metrics help together in a common framework, and determine the number and type of tests applications can be ported across needed to cover the design (interfaces hardware platforms with minimal or calls) or coded logic (branches and impact. The open reengineering consist statements). There are several of the abstract model that state that accepted methods for measuring software systems must be as complexity, most of which can be independent as possible from the calculated by using automated tools. source code formatting and Basili defines complexity as a measure programming language. The objective of the resources expended by a system is to be able to set complexity while interacting with a piece of standards and interpret the resultant software to perform a given task [1]. numbers uniformly across projects and Software complexity measures are languages. Once we calculate the based on program code disregarding complexity then that value should be comment and stylistic attributes such as the same whether in Ada, FORTRAN, indentation and naming conventions. or in some other programming Measures typically depend on program language. Some of the very basic but size, control structure, or the nature of important complexity measures are the module interfaces. number of lines of code also known as LOC (Line of Code), does not meet the Software complexity can be measured open reengineering criterion, as it’s by Direct Measures which is also tremendously sensitive to programming known as internal attributes and Indirect language, coding style, and textual Measures which is also known as formatting of the source code. The external attributes. Direct Measures are cyclomatic complexity measure, is measured directly such as Cost, effort, example of open engineering as it LOC, speed, memory. Indirect measures the amount of decision logic Measures can not be measured in a source code function. Cyclomatic directly. Example - Functionality, complexity is entirely independent of quality, complexity, efficiency, reliability, text formatting and is this is maintainability. independent of programming language 2
  • 3. Jun. 30 IJASCSE Vol 1 Issue 1 2012 to find the complexity of the procedural programs, it is used to measure a since the same fundamental decision software component's complexity structure are available and uniformly directly from source code with used in all procedural programming prominence on computational languages. complexity [3]. Halstead’s measures uses distinct and total number of 2. CODE BASED COMPLEXITY operators and operands means it MEASURES absorbed the operators (that means operations in a programming language Code based complexity measures, as that may vary or move the operands) its name is indicating are based on the and operands (different variables, code of the program and not on the constants, and addresses on which comments and stylistic attributes of it. operation is to be performed) in a Code based measures are typically software component in order to depends upon the program sizes, measure complexity. Halstead makes program flow graphs, or module the observation that metrics of the interfaces such as Halstead’s software software should reflect the science metrics [3] and the most widely implementation or expression of known measure of cyclomatic algorithms in different languages, but complexity developed by McCabe [6]. be independent of their execution on a However, Halstead’s software metrics specific platform. These metrics are purely calculates the number of therefore computed statically from the operators and operands, but it does not code. Thus the Halstead complexity consider the internal structures of measure uses code of the software in modules, while McCabe’s cyclomatic order to calculate the complexity so it is complexity does not consider I/O’s of a known as code based complexity system as it is based on the flow chart measure. The goal of Halstead of the program. It uses flow chart of the complexity measure was to identify program and on the basis of nodes and measurable properties of software or edges it provides complexity of the code, and the relations between them. program. The main problem with this method or we can say blockage with this is that it 2.1 HALSTEAD COMPLEXITY does not distinguish the differences MEASURE among the same operators and among the same operands in a program. A set of software metrics was Besides, it ignores the nested structure developed by Maurice Halstead in 1977 and fails to analyze the case statement 3
  • 4. Jun. 30 IJASCSE Vol 1 Issue 1 2012 the physical meanings of the measures are not very clear. when code is not accessible. Some of the important parameters used in Table – 2. Derived Measures of measures of Halstead are based on Halstead’s Software Metrics four scalar numbers of programs. All these parameters are show in Table 1. Measure Symbol Formula Program N N = N1 + N2 Table – 1. Meta Measures in Halstead Length Complexity measure Program n n = n1 + n2 vocabulary Factor Meta Description Volume V V = N*(Log2n) Measure Difficulty D D= n1 $operators The number (n1*N2)/2*n2 of distinct Effort E E = D*V operators Time T T = E/18 n2 $operands The number Total Bugs B B = E2/3/3000 of distinct operands N1 $operators The total 2.2 MAC CABE’S CYCLOMETRIC number of COMPLEXITY operators N2 $operands The total In 1976, Thomas J.McCabe provides a number of method calculates Cyclomatic operands Complexity by the control flow graph of program. This McCabe method is Six measures can be derived from table based on control flow. McCabe's – 1 , as shown in Table 2. Halstead’s complexity measure is a mathematical software metrics were developed in the technique for calculating the logical context of assembler language complexity of a computer program. programs, and get into too small details Cyclomatic complexity also known as of measurement. The metrics identified conditional complexity, is a software the need for three types of measures metric and is used to indicate the for software: basic, derived, and complexity of a program. It is a direct estimated measures. But, some of the measure so it directly measures the measures and constants are arguable, number of linearly independent paths e.g. T = E/18, and B = E2/3 / 3000, and through a program's source code. Cyclomatic complexity is computed 4
  • 5. Jun. 30 IJASCSE Vol 1 Issue 1 2012 expressed as graphs or to be precise using the control flow graph of the "program control graphs." Thus program: the nodes of the graph mathematical analysis may be applied correspond to indivisible groups of to computer programs in order to commands of a program, and a calculate complexity. Graph theory directed edge connects two nodes if the allows for such a graph to yield a second command might be executed quantitative cyc]omatic complexity immediately after the first command. number via the formula – Cyclomatic complexity may also be V(F) = E − N + 2 applied to individual functions, modules, methods or classes within a program. A F is the flow graph of the code. number representing its logical weight N is the number of vertices/Nodes. can be used to show the complexity of E is the number of edges. a computer program. This quantitative complexity number dependent on a program's decision structure or the number of basic paths through a program generated but it is independent of the program's size. Complexity can assume a value of one to infinity, a reasonable upper limit of intellectual manageability has been placed by McCabe at ten. Software should be tested for the complexity once they are created but when the complexity of the software exceeds than ten, sub-functions should be given their own procedure or the software should be redone. The theoretical basis for McCabe's complexity measure is graph theory. The following connection exists between graph theory and computer programs. Each node in the Figure – 1. McCabe Cyclomatic graph corresponds to a block of code in Complexity Example. the program where the flow is sequential and the arcs correspond to Here we have branches taken in the program. Thus, E = No. of Edges = 7 all computer programs may be N = No. of Nodes = 5. 5
  • 6. Jun. 30 IJASCSE Vol 1 Issue 1 2012 Cyclomatic Complexity Klemola and Rilling proposed KLCID V(F) = 7-5+2 = 4 based complexity measure in 2004. It defines the use of the identifiers as 3. COGNITIVE COMPLEXITY programmer defined variables and MEASURES identifiers (ID) when a software is built up. Cognitive complexity measures are the human effort needed to perform a task ID = Total no. of identifiers/ LOC or difficulty in understanding the In order to calculate KLCID, we need to software. Cognitive complexity measure find the number of unique lines of code is an attempt that quantifies the effort or in a module, lines that have same type notch of difficulty in understanding the and kind of operands with same software based on cognitive informatics arrangements of operators would be foundation. Cognitive complexity of consider equal. I defines KLCID as – software is dependent on three basic fundamental factors. These are inputs, KLCID= No. of Identifier in the set of outputs, and internal processing. unique lines/ No. of unique lines Cognitive complexity measures containing identifier consider all these factors affecting the This is a time consuming method when effort in twigging the software, e.g. data comparing a line of code with each line objects such as inputs, outputs, of the program. KLCID accepts that variables, loops and branches internal control structures for different evaluating complexity but if the factors software’s are identical. are not carefully thought and organized it may cause trouble in calculating 3.2 COGINITIVE FUNCTIONAL SIZE complexity. Some of the factors (CFS) considered in order to calculate the complexity of the software and these Cognitive Functional Size (CFS) [1] was factors are separately-derived weights. defined by Wang Thus this process of calculating the As – complexity ignores the relationships among the factors of the modules and CFS = (Ni + No) * Wc has a little importance to human Where Ni = No of inputs. cognitive process when apprehending No = No of outputs. the code of the program. Wc = The total cognitive weight of basic control structures (BCS's). 3.1 KLCID COMPLEXITY METRICS 6
  • 7. Jun. 30 IJASCSE Vol 1 Issue 1 2012 3.2 COGNITIVE INFORMATION COMPLEXITY MEASURE These BCS are defined as the total sum of cognitive weights of its Q linear Cognitive Informatics plays an blocks composed in individual BCS's. important role in understanding the Since each block may consist of 'm' fundamental characteristics of software. layers of nesting BCS's, and each layer Wang [8] defined information as the third essence in modelling the natural with 'n' linear BCS's, then – world supplement to matter and energy. Wang [9] also defined software as “Software in cognitive informatics is perceived as formally described design information and implementations Table 2. Cognitive Weights (Wc) of instructions of computing application” BCS’s i.e. Category BCS Wc. Software ≃ Information Sequence Sequence (SEQ) 1 Branch If-Then-Else 2 It represent that, software is equivalent (ITE) to information, So Case(CASE) 3 implies that For-do (Ri) 3 Iteration Repeat-Until (Ri) 3 Difficulty in understanding ≃ While-do (Ro) 3 Difficulty in Embedded Function call 2 software understanding information Component (FC) Recursion (REC) 3 Software is a computational information Concurrency Parallel (PAR) 4 and is a mathematical entity. Or we can Interrupt (INT) 4 say that software is a piece of information that consist of identifiers to Cognitive Functional Size interestingly represent the information and started the study in software complexity Operators that represent function to be measurement based on cognitive performed. informatics foundation [6] and state that the complexity of software is dependent Software = fun(Identifiers, on inputs, outputs, and its internal Operators) processing. 7
  • 8. Jun. 30 IJASCSE Vol 1 Issue 1 2012 on this fact, weighted information count Identifiers can be variable names, is been introduced as in definition 3. defined constants or other labels in software. Thus information can be Definition 3: The Weighted defined as – Information Count of a line of code (WICL) of a software is a function of Definition 1: Information can be identifiers, operands and LOC and is represented by LOC. It means different defined as – operators and operand can be used to show information, Thus in Kth line of WICLk = Ik / [LOCS – k] code the Information contained is – Where WICk = Weighted Information Count for the kth line. IKth = (Identifiers + Operands)K Ik = Information contained in a software = (IDK + OPK) IU for the kth line. So the Weighted Information Count of the Where ID = Total number of identifiers Software (WICS) is defined as (LOCS) in the kth LOC of software. – OP = Total number of operators in the kth LOC of software. LOCS IU = Information Unit represents that WICS = Σ WICLk any identifier or operator has one unit of K=1 information in it. The internal control structure of software such as it’s weight must be Definition 2: Overall Information considered in order to provide complete contained in software and robust complexity measure. (Itotal) is the sum of information contained in each line of Definition 4: Sum of the cognitive Code (LOCS) i.e. weights of basic control structures (SBCS) is defined – LOCS Let W1, W2…..Wn be the cognitive Itotal = Σ Ik weights of the basic control structures K=1 [8] in the software – When have established that software is n ready to comprehend the information SBCS = Σ (Wi) units (IU’s), the measure of the i=1 complexity of the software should Definition 5: Thus we have Cognitive contain the above parameters. Based Information Complexity Measure – 8
  • 9. Jun. 30 IJASCSE Vol 1 Issue 1 2012 Calculation of KLCID complexity (CICM) = WICS * SBCS measure – Thus we have used an approach to Total no. of identifiers in the above measure the amount of information program = 18 contained in the software thus enabling Total no. of lines of code = 17 us to calculate the coding efficiency ID = 18/17 = 1.05 (EI). No. of unique lines containing identifier =9 Definition 6: Efficiency of No. of identifiers in the set of unique Information Coding (EI) of a software lines = 11 is defined as – KLCID = 11 / 9 = 1.22 EI = Itotal / LOCS. Calculation of CFS – Now to analyse the KLCID, CMS and Number of inputs Ni = 1 CICM complexity measures, we have Number of outputs No = 3 an algorithm to calculate the average of BCS (sequence) W1 = 1 a set of ‘n’ numbers on which we will BCS (while) W2 = 3 applied all these methods to calculate Wc = W1 + W2 = 1+3 = 4 the complexity. CFS = (Ni + No)* Wc = (1+3)*4 = 16 # define n 10 Void main( ) Calculation of CICM – { LOC = 17 int total; Total no. of identifiers = 18 float sum, avg, num; Total no. of operators = 4 sum = 0; BCS(sequence) W1 = 1 total = 0; BCS(while) W2 = 3 while (total < n) SBCS = W1 + W2 = 1+3 = 4 { WICS = [ 1/16 + 1/13 + 3/12 + 1/11 + scanf(“%f”, &num); 1/10 + 3/9 + 1/7 + 4/6 + 3/5 + 4/3] = sum = sum + num; 3.63 total = total + 1; CICM = WICS * SBCS = 3.63 * 4 = } 14.53 avg = sum/N; Information Coding Efficiency (EI) of printf(“N=%d sum = %f”’, N, sum); the above printf(“average = %f”’, avg); program = 22/17 = 1.29 } The cognitive information complexity of the given algorithm is 14.53 CICU (Cognitive Information Complexity unit). 9
  • 10. Jun. 30 IJASCSE Vol 1 Issue 1 2012 [1] B. Auprasert and Y, Limpiyakorn, 3.3 CONCLUSION "StructuringCognitive Information for Software Complexity Measurement", In this paper we have studied various Accepted for CSIE 2009, Los Software complexity measures along Angeles, USA., April 2009. with their appropriate example. All [2] Halstead, M.H., Elements of Code based complexity measures such Software Science, Elsevier North, New as Halsted Complexity Measure and York, 1977 MAC Cabe’s Cyclomatic Complexity [3] Mc Cabe, T.H., A Complexity Measure that we have studied are measure, IEEE Transactions on based on coding part of the program, Software Engineering, SE-2,6, pp. 308- so it needed time to compute 320, 1976 complexity as all these methods can [4] Kushwaha, D.S. and Misra, A.K., A be applied after the coding phase has Modified Cognitive Information been completed. MAC Cab Cylomatic Complexity Measure of Software, ACM complexity measure is based on the SIGSOFT Software Engineering Notes, flow graph of the program by which Vol. 31, No. 1 January 2006. code is generated thus it is also [5] Kushwaha, D.S. and Misra, A.K., A classified in code based complexity Complexity Measure based on measures. Cognitive based complexity Information Contained in Software, measures such as KLCID Complexity Proceedings of the 5th WSEAS Int. Measure, Cognitive Functional Conf. on Software Engineering, Parallel Complexity Measure and Cognitive and Distributed Systems, Madrid, Information Complexity Measure are Spain, February 15-17, 2006, (pp 187- also based on the coding part of the 195) programs so they also needed code of [6] Tumous Klemola and Juergen the procedural program on which they Rilling, A Cognitive Complexity Metric are to be applied, in order to compute based on Category Learning, IEEE the complexity. So we can say that the International Conference on Cognitive time to measure the complexity for Informatics (ICCI-04) procedural programs by both Code [5] Kushwaha, D.S. and Misra, A.K., based complexity measures and Cognitive Information Complexity Cognitive based complexity measures Measure: A Metric Based on depends on the time that is needed to Information Contained in the Software, complete the coding phase. WSEAS Transactions on Computers, 3.4 REFERENCES Issue 3, Vol. 5, March 2006, ISSN: 1109 – 2750 10
  • 11. Jun. 30 IJASCSE Vol 1 Issue 1 2012 [6] Kushwaha, D.S. and Misra, A.K., Improved Cognitive Information Complexity Measure: A metric that establishes programcomprehension effort, ACM SIGSOFT Software Engineering, Page 1, September 2006, Volume 31 Number 5 [7]IEEE Computer Society: IEEE Recommended Practice for Software Requirement Specifications, New York, 1994 [8] Wang. Y and Shao,J.,”On Cognitive informatics”, 1st IEEE International Conference on Cognitive Informatics, pages 34-42,August 2002. [9] Wang ,Y .and Shao,J., “Measurement of the Cognitive Functional Complexity of Software”, 3 rd IEEE International Conference on Cognitive Informatics(ICCI’04). 11