Chidamber and Kemerer Object-Oriented Measures: Analysis of their Design from the Metrology Perspective

Size: px
Start display at page:

Download "Chidamber and Kemerer Object-Oriented Measures: Analysis of their Design from the Metrology Perspective"

Transcription

1 , pp Chidamber and Kemerer Object-Oriented Measures: Analysis of their Design from the Metrology Perspective Laila Cheikhi 1, Rafa E. Al-Qutaish 2, Ali Idri 1 and Asma Sellami 3 1 École Nationale Supérieure d'informatique et d'analyse des Systèmes (ENSIAS) UniversitéMohammed V Souissi, Rabat, Morocco 2 École de Technologie Supérieure (ÉTS) Universitédu Québec, Montréal, Québec, Canada 3 Institut Supérieur d Informatique et multimédia de Sfax ISIMS University of Sfax, Pôle technologique, Sfax, Tunisia cheikhi@ensias.ma, rafa.al-qutaish@etsmtl.ca, idri@ensias.ma, asma.sellami@isimsf.rnu.tn Abstract During the last decade, software product measurement field has known many improvements and becomes an emerging field of software engineering. Based on the used programming approaches such as object-oriented, structured programming, etc., different kinds of measures are proposed in the literature. These sets of measures were defined many years ago to measure software artifacts, for example, source code and design, However, such measures need to be verified and validated based on the lessons learned from the measurement and metrology concepts. This paper focuses on software product measures, in particular, the object-oriented measures. Moreover, it aims at analyzing the design of a wellknown and one of the most used object-oriented measures, that is, the Chidamber and Kemerer measures suite. In addition, this paper provides an investigation of the extent to which this set of measures addresses the metrology concepts related to the software measurement design. Keywords: OO Design, Chidamber and Kemerer (C&K) Metrics Suite, Measurement Process Model, Software Quality, Metrology 1. Introduction The application of object-oriented technology produces well-structured software systems with comprehensible architectures which are easy to test, maintain, and extend [1]. However, the object-oriented approach does not ensure the production of software with high quality nor avoid errors introduced by programmers during both development and maintenance phases. Therefore, various object-oriented metrics are proposed in the literature as a means of determining whether the investigated software hold desired object-oriented design properties such as coupling, complexity, cohesion, and inheritance to improve the quality of this software. Many of these measures have been proposed by different researchers and practitioners, such as those proposed by Li and Henry [2], Briand et al., [3, 4], Chidamber and Kemerer [5, 6], and Abreu et al., [7]. For example, Chidamber and Kemerer (C&K) [3, 4] proposed a suite of measures for object-oriented design measurement. Whereas, Briand et al. [3, 4] have proposed a series of coupling and cohesion measures for class in which they take into account the various ISSN: IJSEIA Copyright c 2014 SERSC

2 mechanisms offered by the C++ language. In addition, Archer and Stinson [8] presented a full description of all these measures and others proposed in the literature. Although the results of the measures are very important for software project management and evaluation, their design is of special importance for the practitioner. If the proposed measures are designed with respect to a specified purpose with its corresponding formula, then computed values are reliable. Moreover, if they are not well-documented, the same measure can be understood and applied differently by its users, and therefore, leading to a diversity of results and different interpretations of these results. A potential cause of such a problem could be related to the fact that many of these objectoriented measures have been proposed in an ad hoc fashion with no regard to their design of measurement method, and with limited emphasis on their context, appropriateness, and validity to evaluate the measured concept. In fact, a well-designed measure should be repeatable to give the same results in the same context, that is, same software and same people skills [9]. Therefore, it is important to have a good framework (such as the framework for designing measurement method [10] and the metrology concepts related to the design of measurement method [11]) to analyze the existing measures in order to avoid these limitations and to allow an accurate use of such measures in empirical, experimental, and benchmarking studies. Once achieved, the comparative studies can be reliable and will improve drastically our practices toward the improvement of the software quality. In this paper, we focus on the well-known object oriented design measures suite proposed by Chidamber and Kemerer. To help in understanding and clarifying the Chidamber and Kemerer measures, each measure is analyzed in this paper from metrology perspectives and mapped to the relevant concepts. Such mapping will contribute in identifying the metrology concepts that are not tackled in Chidamber and Kemerer measures. Moreover, it will give an opportunity to improve the design of these well-known measures. This paper is organized as follows: Section 2 provides an overview of metrology concepts related to design of measures, that is, the analysis framework. Section 3 introduces the related object-oriented concepts, and explains the definitions and the theoretical basis of the Chidamber and Kemerer suite of measures. Section 4 presents the analysis of the Chidamber and Kemerer using metrology concepts. Finally, a discussion in section 5 will conclude the paper. 2. Analysis Framework: Overview The analysis framework which is related to the metrology concepts is defined in the International Vocabulary of Basic and General Terms in Metrology (VIM). Where, it represents the international consensus on terminology of metrology concepts common to all disciplines [11]. Furthermore, the term metrology is defined by ISO experts as the science of measurement and its application [11]. In practical, metrology terms are textually defined and grouped in six categories reflecting the addressed concepts [12], that is: Quantities and Units (includes 22 terms). Measurement Standards - Etalons (includes 14 terms). Measurements (includes 9 terms). Measurement Results (includes 16 terms). Measuring Instruments (includes 31 terms). Characteristics of the Measuring Instruments (includes 28 terms). 360 Copyright c 2014 SERSC

3 These metrology concepts are widely used in other disciplines, such as physics and chemistry, but they are rarely referred to in the software engineering literature. To facilitate and understand this set of categories, its corresponding terms, and the links between them, a graphical representation of these categories has been proposed by Abran and Sellami [12]. Moreover, they have founded that the first two categories Quantities and Units and Measurement Standards - Etalon are related to the design of measurement methods. Nowadays, the applicability of metrology concepts in information technology has risen in different studies (for more details, see [13]), for examples: Investigation of metrology concepts in software engineering domain. Identification of ambiguities in the domain of software measurement, and proposition of the corresponding metrology terms for these ambiguous terms. Analysis of the design of different measures from the metrology concepts, such as the ISO related to COSMIC-FFP. Since there is no standard formalism for defining software measures, many of the existing measures present some ambiguity in their definitions and design which affect their use and the interpretation of the measurement results. To avoid this problem, the ISO [14] standard has adopted the International Vocabulary of Basic and General Terms in Metrology (VIM) in defining software measurement related terminology. However, the definitions of terms used in this paper are based on the ISO [14] and the International Vocabulary of Basic and General Terms in Metrology [11]. Table 1 shows the definitions of the used terms. Term Objective Entity Attribute Bases attribute Derived attribute Measurement of an attribute Measurement method Measurement function Measurement unit Value Table 1. Definitions of the used Metrology Terms [11, 12] Definition Refers to what we want to measure and what the measurement point of view will be. Refers to any distinguishable object in the empirical world for which a measurement can be applied. Examples of entities to be measured are: piece of code, design artifact, etc. The property of an entity that can be determined quantitatively, that is, for which a magnitude can be assigned (called quantity in metrology terminology). A simple property defined by convention, with no reference to other attributes, and possibly used in system of attributes to define other attributes (called base quantity in metrology terminology). A property defined in a system of attributes as a function of base attributes (called derived quantity in metrology terminology). The characterization of that attribute in terms of numbers or symbols. Generic description of a logical organization of operations used in a measurement. Function of quantities, the value of which, when calculated using known quantity values for the input quantities in a measurement model, is a measured quantity value of the output quantity in the measurement model Real scalar quantity, defined and adopted by convention, with which any other quantity of the same kind can be compared to express the ratio of the two quantities as a number. number and reference together expressing magnitude of a quantity To illustrate the use of these terms, Figure 1 below describes the metrology terms used to collect (data collection section) and prepare data (data preparation section) in the measurement information model. A brief description of each section and a resume Copyright c 2014 SERSC 361

4 Metrology International Journal of Software Engineering and Its Applications of the steps to be followed in order to collect the base and derived measures are as the following [15, 16]: Information Product Data Analysis Interpretation Indicator Analysis Model Data Preparation Measurement of Multiple Entities / Attributes Derived Measure Measurement Function Measurement of Single Entity / Attribute Data Collection Base Measure Measurement Method Attributes Figure 1. Metrology Parts in the ISO Measurement Information Model [21, 16] A base measure must correspond to a single distinct software attribute, and to be obtained we have to: 362 Copyright c 2014 SERSC

5 o Identify and define appropriately the attribute of the entity to be measured. o Quantify the attribute through its measurement method. o Identify the measurement unit of the base measure. A derived measure is a composition of two or more base measures. However, in order to obtain a derived measure we have to: o Collect the different base measures composing the derived measure (depends on the information needs). o Assemble them in accordance with a measurement function (e.g., a computational formula) defined for each derived measure. o Identify the measurement unit of the derived measure. In fact a derived measure is the product of a set of measurement units properly combined (through a measurement function). o The name assigned to the derived measure should correspond to the concept representing the particular combination of measurable attributes. o The accuracy of a derived measure is directly related to the accuracy of each of its base measures and to how these base measures are mathematically combined. In practice, although it is not usual in software measurement to take into account the metrology concepts, many studies have been done recently in order to analyze the design of well-known and used measures from metrology concepts, such as the Cyclomatic s complexity number [17]), Halstead s measures [18], function points [19], use case points [20] and ISO 9126 measures [13]. This paper analyzes the design of the well-known suite of Object-Oriented measures proposed by Chidamber and Kemerer [5, 6]. 3. Chidamber and Kemerer Measures: Overview Understanding the object-oriented approach concepts is important to define Object- Oriented measures and therefore analyze the design of the proposed measures. Thus, these concepts are presented so that the terminology used to describe the Chidamber and Kemerer object-oriented measures is as uniform as possible [22] Object-Oriented Concepts According to object-oriented approach, the basic concept in an object-oriented system is an object. An object is characterized by a state (a set of properties characterizing the object as well as the value of each property) and a behavior (a set of operations of the object). A class is the specification of the object; it is the basic model or prototype from which the objects are created. The classes are defined by the public services offered to the users by the intermediary of the methods and public attributes. The methods implement the operations that can be carried out in a class (the logic of programming). The attributes represent the properties of a class. They are defined by their names and their types, that is, simple or complex (int i or Class_A i). The Coupling is defined as the degree of interdependence between the components of the system. Two classes are coupled if a method of one class uses an attribute or method of the other class [5]. Whereas, the Cohesion reflects the degree to which the methods within a class are related to one another. The more is the cohesion of a class, the more it is coherent and constitutes a whole entity inseparable, and the more simple maintainability. The dependence in a software system is a direct relationship between the entities of that system (X & Y) such that the programmer who modifies X must be aware of the potential side effects in Y [23]. For example, the dependence between classes corresponds to the Copyright c 2014 SERSC 363

6 relation between the classes. A class can use the functionalities (attributes or methods) offered by another class via the exchange of messages through the following dependence links: Aggregation: represents the relationship of whole/part. According to Li and Offut [24], it is a capacity relationship. For example, we say that a car has doors or an airplane has wings. Use: Class_A uses Class_B, if Class_A (or its instances) send message(s) to Class_B (or its instances) [25]. In more details, Class_A needs the functionalities provided by Class_B, and Class_B provides its services to Class_A. Inheritance: corresponds to the creation of new classes (derived classes), but based on the existing classes (base classes) whether by reuse or by extension of the functionalities of the previous ones. A derived class inherits the structure and the behavior of the basic class and can be used as a basic class for a later derivation, giving rise to a hierarchy of classes called an inheritance tree Chidamber and Kemerer Measures Chidamber and Kemerer [5] stated that the measures suite of object-oriented design is built upon projects that used Object Oriented design approach, and the aim of this was to propose a set of measures which are not based on the language syntax. However, Chidamber and Kemerer measures can be applied during the later-design and implementation (coding) phases of the software development life cycle, for example, they can be applied on the class diagram (during the later-design phase) and on the source code (during the implementation phase) [26]. The definitions and theoretical basis for the Chidamber and Kemerer measures are illustrated in Table 2 [5, 6, 27]. Furthermore, the following explains these measures: 1) Coupling Between Object (CBO): It is related to the number of non-inherited classes with which a particular class is coupled. Such number reflects the degree of interdependence between the object-oriented system components. However, class X is coupled to class Y if and only if X sends a message to Y; that is, a method of one class use methods or instances variables of another class. 2) Response For a Class (RFC): It represents the number of methods of a class and the number of invoked methods by those class methods. It measures the degree of communication between the classes of the system. 3) Lack of Cohesion in Methods (LCOM): It is the number of pairs of methods which do not share instance variable, minus the number of pairs of methods that share instance variables of the class. 4) Weighted Methods per Class (WMC): It represents the sum of the complexities of all methods of a class. If all the complexities of all methods are ones, then WMC is the number of class methods. 5) Depth of Inheritance Tree (DIT): It measures the level number for a class in the inheritance tree. DIT of the root class in the inheritance tree is equal to zero. 6) Number of Children (NOC): It measures the number of direct subclasses of a class (the children). Moreover, if the subclasses are dependent of their superclass (methods or instance variables), any changes to the superclass may affect the subclasses, and therefore, the harder is the superclass maintainability. 364 Copyright c 2014 SERSC

7 Table 2. Definitions and Theoretical Basis for Chidamber and Kemerer Measures Definition: Theoretical basis: Assumption(s): Definition: Theoretical basis: Assumption(s): Definition: Theoretical basis: Assumption(s): Definition: Theoretical basis: Assumption(s): Definition: Theoretical basis: Assumption(s): Definition: Theoretical basis: Assumption(s): Coupling Between Object (CBO) CBO for a class is a count of the number of non-inheritance related couples with other classes. CBO relates to the notion that an object is coupled to another object if two objects act upon each other, i.e., methods of one use methods or instance variables of another. The higher the CBO of a class is, the more difficult is reusing in another application and the more complex is the testing of that class. Response For a Class (RFC) RFC = RS where RS is the response set for the class. The response set for the class can be expressed as: RS=M i U alln {R i}, where M i = all methods in the class and {R i} = set of methods called by M i The response set is a set of methods available to the object, and its cardinality is a measure of the attributes of an object; Since it specifically includes methods called from outside the object, it is also a measure of communication between objects. - The larger the RFC is the more complex is the class, and the harder is its maintainability (difficult to trace an error). Lack of Cohesion in Methods (LCOM) Consider a Class C l with methods M l, M 2,... M n. Let {I i} = set of instance variables used by method M i. There are n such sets {I 1},... {I n}. LCOM = The number of disjoint sets formed by the intersection of the n sets. This uses the notion of degree of similarity of methods. The degree of similarity for the methods in class C l is given by: σ () = {I 1} {I 2} {I n}. If there are no common instance variables, the degree of similarity is zero. However, this does not distinguish between the case where each of the methods operates on unique sets of instance variables and the case where only one method operates on a unique set of variables. The number of disjoint sets provides a measure for the disparate nature of methods in the class. Fewer disjoint sets imply greater similarity of methods. LCOM is intimately tied to the instance variables and methods of an object, and therefore is a measure of the attributes of an object. - The Lack of cohesion implies that the classes should be split into more sub-classes. - The larger the LCOM of a class is, the more difficult is its maintainability. Weighted Methods per Class (WMC) Consider a Class C l, with methods M l,... M n. Let C l,... C n be the static complexity of the methods. Then If all static complexities are considered to be unity, WMC = n, the number of methods. WMC relates directly to the definition of complexity of an object, since methods are properties of objects and complexity of an object is determined by the cardinality of its set of properties. The number of methods is, therefore, a measure of object definition as well as being attributes of an object, since attributes correspond to properties. The larger the WMC is, the more complex is the class and the greater the potential impact on children. Depth of Inheritance Tree (DIT) Depth of inheritance of the class is the DIT metric for the class. DIT relates to the notion of scope of properties. DIT is a measure of how many ancestor classes can potentially affect this class. The lower the class is; the more are its superclasses and the larger is its DIT, and therefore, the harder is the class maintainability. Number of Children (NOC) NOC = number of immediate subclasses subordinated to a class in the class hierarchy. NOC relates to the notion of scope of properties. It is a measure of how many sub-classes are going to inherit the methods of the parent class. The more a superclass has subclasses, the larger is its NOC. Copyright c 2014 SERSC 365

8 DIT and NOC are used to measure Inheritance from two perspectives. Inheritance implies dependence implicitly. In fact, DIT indicates the number of superclasses that a class has, that is, on which the class may depend on, while NOC indicates the number of direct subclasses that a class has, that is, those which may be affected by a change in the class. Since their appearance, Chidamber and Kemerer object-oriented measures are interesting for both researchers and practitioners. Several studies have been undertaken to validate Chidamber and Kemerer measures both theoretically and empirically [28, 29, 30, 31, 32, 33]. For example, Chidamber and Kemerer measures were analyzed empirically in order to assess their usefulness for practicing managers and investigate the relation between the measures and productivity, rework effort, and design effort [30], and to find out the nature of relationship of these measures with defects [33]. What to be concluded from these is that - despite the criticism - the Chidamber and Kemerer measures [31]: have still been widely cited and adopted since they are simple and intuitive to use and, as mentioned in a few experiments; have shown their usefulness in constructing prediction systems for size and number of defects; have the advantage of being available in the design stage of the software development process, when the classical size measure is not available, yet. This clearly helps developers in taking a healthy development road right from the beginning; and have the convenience that several automatic-modeling tools, such as Rational Rose, GDPro, and TOGETHER are able to compute them. All the studies focus on using Chidamber and Kemerer measures in empirical studies to validate their usefulness in evaluating the object-oriented design, and none of them focuses on analyzing their design from metrology perspectives. 4. Analysis of the Chidamber and Kemerer Measures using the Metrology As a rule of thumb, any given number does not make sense without its unit of measurement. For example, when crossing the border to Canada, American drivers are often surprised to see speed limits of 90 or 100. If they don't realize that Canadians measure speed in kilometers/hr while Americans measure it in miles/hr (1.00 mile/hr = 1.61 kilometers/hr; 60 miles/hr = 97 km/hr) they may soon be in for trouble with the law. However, if an American driver accelerates until her speedometer (measured in miles/hr) reaches 100, he/she will be traveling 38 miles/hr over the posted speed limit of 100 km/hr since a speed of 100 km/hr is equal to only 62 miles/hr. As this example illustrates, measurements without units are meaningless and may lead to serious misunderstandings. Everything that can be measured must be expressed with appropriate units [34]. The objective of Chidamber and Kemerer measures is to measure the design of objectoriented program; that is, to measure coupling between object, response for a class, lack of cohesion in methods, weighted methods per class, depth of inheritance tree, and number of children during the later-design and implementation phases. The entities that can be used to apply Chidamber and Kemerer measures are the source code itself, the algorithm of that source code, or the class diagram. The CBO measures the coupling between object classes. A class is coupling with another if the methods of one class use ( use can mean a member type, parameter type, method local variable type or cast) the methods or attributes of the other [29]. 366 Copyright c 2014 SERSC

9 Therefore, CBO is the number of other classes with which a class is coupled. It includes inheritance-based coupling, that is, coupling between classes related via inheritance. A variant of CBO, known as CBO', excludes inheritance coupling [5]. Therefore, the basic measure of CBO is completely based in checking if the object is coupled or not, so it is a logical decision and based on true or false results. So, if the result is true add one otherwise add zero, thus, there is no base unit of measurement since the value is logical (i.e., true or false), see Table 3. Table 3. Analysis of the Coupling Between Object (CBO) Measure Objective Entity Can be implemented during the design phase? Attribute Base Measure Base Unit of Measurement Computational Formula Measurement Function Derived Measure Derived Unit of Measurement Object-Oriented design measurement Source code Algorithm Class Diagram Yes, when applied to the class diagram Coupling Class Logical (True or False) CBO A = C 1 + C 2 + C C n, Where: A: a particular object, n: number of objects. C i : one if object C is coupled to the object A, zero otherwise Count of the number of non-inheritance related couples with other classes Number of non-inheritance related couples with other classes Couple The RFC measure is the response for a class coupling measure [6]. The response set of a class consists of the set M of methods of the class, and the set of methods invoked directly by the methods in M, that is, the set of methods that can potentially be executed in response to a message received by that class. A variant of RFC excludes methods indirectly invoked by a method in M [5], see Table 4. Table 4. Analysis of the Response For a Class (RFC) Measure Objective Entity Can be implemented during the design phase? Attribute Base Measure Base Unit of Measurement Computational Formula Measurement Function Derived Measure Derived Unit of Measurement Object-Oriented design measurement Source code Algorithm No Response for a class Number of Invoked methods Number of Class methods Method RS = M i U {R i } Where: M i : all methods in the class {R i }: set of methods called by M i Count Number of Distinct Methods and Constructors invoked by a particular Class Number of Distinct Methods and Constructors invoked by a particular Class Method LCOM measures the number of pairs of methods in the class that have no attributes in common, minus the number of pairs of methods that do. If the difference is negative, the measure value is set to zero. For more details, see Table 5 below. Copyright c 2014 SERSC 367

10 Table 5. Analysis of the Lack of Cohesion in Methods (LCOM) Measure Objective Entity Can be implemented during the design phase? Attribute Base Measure Base Unit of Measurement Computational Formula Measurement Function Derived Measure Derived Unit of Measurement Object-Oriented design measurement Source code Algorithm No Lack of Cohesion in Methods - Number of pair methods accessing no common instance variables - Number of pair methods sharing the same instance variables - Pairs of methods which do not share instance variable - Pairs of methods that share instance variables LCOM = A - B Where: A: the number of pairs of methods which do not share instance variable of the class B: the number of pairs of methods that share instance variables of that class Count the number of not connected method pairs in a particular class representing independent parts having no cohesion Number of not connected method pairs in a particular class representing independent parts having no cohesion Pairs of Methods Generally, the WMC (Weighted Methods per Class) measure can be classified as a traditional complexity measure. It is a count of the methods in a class. It has been suggested that neither methods from ancestor classes nor friends in C++ be counted [35, 36]. The developers of this measure leave the weighting scheme as an implementation decision [6]. Some authors weight it using Cyclomatic s complexity [2]. However, others do not adopt a weighting scheme [36, 37]. In general, if Cyclomatic s complexity is used for weighting, then WMC cannot be collected at design phase. Alternatively, if no weighting scheme is used, then WMC becomes simply a size measure, that is, the number of methods implemented in a class, see Table 6 for the metrology analysis. Table 6. Analysis of the Weighted Methods per Class (WMC) Measure Objective Entity Can be implemented during the design phase? Attribute Base Measure Base Unit of Measurement Object-Oriented design measurement Source code Algorithm Class Diagram Yes, if no weighting scheme is used No, if Cyclomatic s complexity is used for weighting Weighted method per class Number of methods in a class complexity Computational Formula, Where: n: the number of methods within a particular class c i : the complexity for each method within that class Measurement Function Sum all the methods complexities within a particular class Derived Measure Complexities of all class methods Derived Unit of Measurement Weighted Methods per Class The DIT measure is defined as the length of the longest path from a particular class to its root in the inheritance hierarchy. The derived unit of measurement is Depth since the resulted number reflects the depth of inheritance tree, see Table Copyright c 2014 SERSC

11 Table 7. Analysis of the Depth of Inheritance Tree (DIT) Measure Objective Entity Can be implemented during the design phase? Attribute Base Measure Base Unit of Measurement Computational Formula Measurement Function Derived Measure Derived Unit of Measurement Object-Oriented design measurement Source code Algorithm Class Diagram Yes, when applied to the class diagram Depth of inheritance tree Number of classes (ancestor that a class have) Ancestor Classes None Identify the maximum length of the path from a particular class to the root of the inheritance tree the depth of the inheritance tree for a particular class Depth For the NOC measure, this measure counts the number of classes that inherit from a particular class, that is, the number of class in the inheritance tree down from that class. Again, it based on a logical (true or false) decision to decide whether the class is a subordinated for the intended class or not. Thus, the base unit of measurement is logical, and based on it the derived measure will be consist of the number of true values, see Table 8 for more details. Table 8. Analysis of the Number of Children (NOC) Measure Objective Entity Can be implemented during the design phase? Attribute Base Measure Base Unit of Measurement Computational Formula Measurement Function Derived Measure Derived Unit of Measurement Object-Oriented design measurement Source code Algorithm Class Diagram Yes, when applied to the class diagram Number of children Class Logical (True or False) NOC A = C 1 + C 2 + C C n Where: A: a particular class, n: number of classes. C i : one if class C is a subclass subordinated to the class A, zero otherwise. Count the number of children for a particular class Number of children for a particular class Children Tables 3 to 8 summarize the findings of the analysis of the Chidamber and Kemerer measures from the metrology perspective. We can note that each Chidamber and Kemerer measure: Has a value from zero to N (integer positive). Copyright c 2014 SERSC 369

12 Can measure a specific attribute. Not always can be implemented during the design phase. Has a measurement function to produce derived measure. Has derived measures. Has derived unit of measurement. 5. Discussion This paper focused on software product measures, in particular, the object-oriented measures. Furthermore, it analyzed the design of a well-known and one of the most used object-oriented measures proposed by Chidamber and Kemerer. In addition, this paper investigated the extent to which these set of measures address the metrology concepts related to the software measurement design. In practice, although it is not usual in software measurement to take into account the metrology concepts, many studies have been done recently in order to analyze the design of well-known and used measures from metrology concepts [2-7,]. In the other hand, the Chidamber and Kemerer object-oriented measures since their appearances have gained researchers and practitioners interest. As cited in this paper, several studies have been undertaken to validate Chidamber and Kemerer measures both theoretically and empirically. However, none of these studies focused on analyzing the design of Chidamber and Kemerer measures from metrology perspectives; which is the subject of that paper. What can be noted here from this analysis is that all Chidamber and Kemerer measures have base measures. However, Abran [9] stated that the distinction between a base attribute and a derived one is based on the way the attribute is defined, which is independent of the way it will be measured. That is, in a system of attributes, an attribute is a base attribute if it is defined by convention as functionally independent of the other attributes, but it can also be used to define other attributes ; this is the fact of the base measures (Class and method) identified for Chidamber and Kemerer measures suite. In addition, Abran et al. [38] stated that the addition of base measures of the same type does not lead to derived measures. For example, the addition of houses (of the same types or different types) gives a total number of houses. However, this not always true because for example, adding five red houses to 3 black houses will give us 8 houses, in this example we lost some details about the houses (i.e., the houses color). Furthermore, from Tables 3 to 8 above, we can note that there are derived measures and derived units of measurement for all of Chidamber and Kemerer measures, some of such derived units are completely based on the name of the measure, for example, the measure WMC has weighted methods per class. In summary, all Chidamber and Kemerer measures are functions of the counts of a particular concept of the object-oriented paradigm, such as, class and method depending on the objective of the measures and the attributes to be measured. Moreover, each Chidamber and Kemerer measure varies from zero to N (integer positive) and has valid base unit of measurement to measure a specific attribute and applies to design of object-oriented program. However, what is missing in the Chidamber and Kemerer measures is the distinction of measurement method and measurement procedure is not well defined in terms of metrology concepts, and the computational formula for some measures is unclear. Furthermore, the following comments can be concluded: The base units of measurement for the Response For a Class (RFC) measure are Number of Invoked methods and Number of Class methods. Whereas, the Derived unit of measurement for RFC is method. However, in this way we lost the 370 Copyright c 2014 SERSC

13 details of the methods (i.e., invoked and class). The same is applied to the Coupling Between Object (CBO) measure and the Lack of Cohesion in Methods (LCOM) measure. For the Analysis of the Depth of Inheritance Tree (DIT) measure there is no any relationship between the base and derived units of measurements. Thus, how it comes to derive the depth derived unit of measurement from the Number of classes base unit of measurement! The same is applied to the Number of Children (NOC) measure. References [1] L. C. Briand, J. Wust and H. Lounis, Using Coupling Measurement for Impact Analysis in Object Oriented Systems, Proceedings of the IEEE International Conference on Software Maintenance (ICSM 99), Oxford, England, UK, (1999) August 30-September 3, pp [2] W. Li and S. Henry, Maintenance Metrics for the Object-Oriented Paradigm, Proceedings of the 1st International Software Metrics Symposium (ISMS 93), Baltimore, Maryland, USA, (1993) May 21-22, pp [3] L. C.Briand, J. Daly and J. Wuest, A Unified Framework for Cohesion Measurement in Object-Oriented Systems, Empirical Software Engineering, vol. 3, no. 1, (1998). pp [4] L. C. Briand, J. Daly and J. Wuest, A Unified Framework for Coupling Measurement in Object-Oriented Systems, IEEE Transactions on Software Engineering, vol. 25, no. 1, (1999), pp [5] S. R. Chidamber and C. F. Kemerer, Towards a Metrics Suite for Object-Oriented Design, Proceedings of the 6th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 91), October 6-11, Phoenix, Arizona, USA, (1991), pp [6] S. R. Chidamber and C. F. Kemerer, A Metrics Suite for Object- Oriented Design, IEEE Transaction on Software Engineering, vol. 20, no. 6, (1994), pp [7] F. B. Abreu, M. Goulao and R. Esteves, Toward the Design Quality Evaluation of Object-Oriented Software Systems, Proceedings of the 5th International Conference on Software Quality, Austin, Texas, USA, (1995) October 23-26, pp [8] C. Archer and M. Stinson, Object-Oriented Software Measures, Technical Report, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA, USA, (1995). [9] A. Abran, Software Metrics and software Metrology, IEEE Computer Society and John Wiley & Sons, Inc., New York, USA, (2010). [10] J.-P. Jacquet and A. Abran, From Software Metrics to Software Measurement Methods: A Process Model, Proceedings of the 3rd International Symposium and Forum on Software Engineering Standards (ISESS'97), June 1-6, Creek, CA, USA, (1997), pp [11] ISO/IEC, Guide 99: International Vocabulary of Metrology - Basic and General Concepts and Associated Terms (VIM), International Organization for Standardization, Geneva, Switzerland, (2007). [12] A. Abran and A. Sellami, Initial Modeling of the Measurement Concepts in the ISO, Vocabulary of Terms in Metrology, Proceedings of the 12th International Workshop on Software Measurement (IWSM 02), October 7-9, Magdeburg, Germany, (2002), pp [13] A. Abran, R. E. Al-Qutaish and J. J. Cuadrado-Gallego, Analysis of the ISO 9126 on Software Product Quality Evaluation from the Metrology and ISO Perspectives, WSEAS Transactions on Computers, vol. 5, no. 11, (2006), pp [14] ISO/IEC, ISO/IEC IS 15939: Software Engineering-Software Measurement Process, International Organization for Standardization, Geneva, Switzerland, (2002). [15] A. Abran, J.-M. Desharnais and J. J. Cuadrado-Gallego, Metrology and Quantitative Analysis in ISO 15939, Proceedings of the International Conference on Software Engineering Research and Practice (SERP09), Las Vegas, Nevada, USA, (2009) July 13-16, pp [16] R. E. Al-Qutaish and A. Abran, A Maturity Model of Software Product Quality, Journal of Research and Practice in Information Technology, vol. 43, no. 4, (2011), pp [17] A. Abran, M. Lopez and N. Habra, An Analysis of the McCabe Cyclomatic s Complexity Number, Proceedings of the 14th International Workshop on Software Measurement (IWSM'04), Berlin, Germany, (2004) November 2-5, pp [18] R. E. Al-Qutaish and A. Abran, An Analysis of the Designs and the Definitions of the Halstead's Metrics, Proceedings of the 15th International Workshop on Software Measurement (IWSM'2005), Montreal, Quebec, Canada, (2005) September 12-14, pp Copyright c 2014 SERSC 371

14 [19] A. Abran and A. Sellami, Analysis of Software Measures Using Metrology Concepts - ISO Case Study, Proceedings of the International Workshop on Software Audits and Metrics (SAM 04) at the 6th International Conference on Enterprise Information Systems (ICEIS'04), Porto, Portugal, (2004) April 14-17, pp [20] J. Ouwerkerk and A. Abran, Evaluation of the Design of Use Case Points (UCS), Proceedings of the International Conference on Software Process and Product Measurement (MENSURA'06), Cadiz, Spain, (2006) November 6-8, pp [21] R. E. Al-Qutaish, SPQ MM : A Software Product Quality Maturity Model using ISO/IEEE Standards, Metrology, and Sigma Concepts, Ph.D. Thesis, Dept. of Software Engineering and IT, School of Higher Technology (École de Technologie Supérieure - ÉTS), University of Québec, Montréal, Québec, Canada, (2007). [22] L. Cheikhi, Modèles de Qualitédu Logiciel: Estimation de l'impact du Changement dans les Programmes Orientés Objets en utilisant les Algorithmes d'apprentissage, Editions Universitaires Européennes, Sarrebruck, Germany, (2011). [23] N. Wilde and R. Huitt, Maintenance Support for Object- Oriented Programs, IEEE Transaction Software Engineering, vol. 18, no. 12, (1992), pp [24] L. Li and A. J. Offutt, Algorithmic Analysis of the Impact of Changes to Object- Oriented Software, Proceedings of the IEEE International Conference on Software Maintenance (ICSM 96), Monterey, California, USA, (1996) November 4-8, pp [25] Y.-G. Guéhéneuc and H. Albin-Amiot, Recovering Binary Class Relationships: Putting Icing on the UML Cake, Proceedings of the 19th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 04), Vancouver, British Columbia, Canada, (2004) October 24-28, pp [26] N. Herr and J. B. Cunningham, Hands-on Chemistry Activities with Real-life Applications, John Wiley & Sons Inc., New York, USA, (1999). [27] G. Booch, Object-Oriented Analysis and Design, 2nd Edition, Benjamin / Cummings, Redwood City, CA, USA, (1994). [28] S. R. Chidamber, D. P. Darcy and C. F. Kemerer, Managerial Use of Metrics for Object-Oriented Software: An Exploratory Analysis, IEEE Transactions on Software Engineering, vol. 24, no. 8, (1998), pp [29] K. El-Emam, Object-Oriented Metrics: A Review of Theory and Practice, Erdogmus, H. & Tanir, O. (Eds.), Advances in Software Engineering, Springer-Verlag, New York, USA, (2002), pp [30] D. P. Darcy and C. F. Kemerer, OO Metrics in Practice, IEEE Software, vol. 22, no. 6, (2005), pp [31] G. Succi, W. Pedrycz, S. Djokic, P. Zuliani and B. Russo, An Empirical Exploration of the Distributions of the Chidamber and Kemerer Object-Oriented Metrics Suite, Empirical Software Engineering, vol. 10, no. 1, (2005), pp [32] A. Kaur, S. Singh, K. S. Kahlon and P. S. Sandhu, Empirical Analysis of CK & MOOD Metric Suite, International Journal of Innovation, Management and Technology, vol. 1, no. 5, (2010), pp [33] M. P. Thapaliyal and G. Verma, Software Defects and Object Oriented Metrics-An Empirical Analysis, International Journal of Computer Applications, vol. 9, no. 5, (2010), pp [34] J. McQuillan and J. Power, A Definition of the Chidamber and Kemerer Metrics Suite for UML, Technical Report, National University of Ireland, Galway, Ireland, (2006). [35] S. R. Chidamber and C. F. Kemerer, Authors' Reply, IEEE Transactions on Software Engineering, vol. 21, no. 3, (1995), pp [36] V. Basili, L. Briand and W. Melo, A Validation of Object-Oriented Design Metrics as Quality Indicators, IEEE Transactions on Software Engineering, vol. 22, no. 10, (1996), pp [37] M. H. Tang, M. H. Kao and M. H. Chen, An Empirical Study on Object-Oriented Metrics, Proceedings of the 6th International Conference on Software Metrics Symposium (ICSM 99), Boca Raton, Florida, USA, (1999) November 4-6, pp [38] A. Abran, J.-M. Desharnais, and J. J. Cuadrado-Gallego, Measurement and Quantification are not the same: ISO and ISO 9126, Journal of Software: Evolution and Process, vol. 24, no. 5, (2012), pp Authors Laila Cheikhi, she is a Professor at Computer Science and Systems Analysis School (ENSIAS, Rabat, Morocco). She received a M.Sc. (2004) from University of Montréal and Ph.D. (2008) from ETS, University of Quebec at Montreal, and Both in software engineering. She has over eight years of experience in computer engineering at the Ministry of Finance of Morocco. Her research interests include software quality models, software metrics, software 372 Copyright c 2014 SERSC

15 engineering ISO standards, software product and process quality, software engineering principles and data analysis. Rafa E. Al-Qutaish, he is an Associate Professor at École de Technologie Supérieure (ÉTS), University of Québec, Canada. He received B.Sc. in Computer Science and M.Sc. in Software Engineering degrees in 1993 and 1998, respectively. Also, he received the Ph.D. degree in Software Engineering from the School of Higher Technology (ÉTS), University of Québec, Canada in His research interests are in Software Measurement, Software Product Quality, Software Engineering Standardization, Reverse Engineering, Software Comprehension and Maintenance, and Compiler Construction. Dr. Al-Qutaish is a senior member of the IEEE & IEEE-CS, and also a senior member of the IACSIT. Ali Idri, he is a Professor at Computer Science and Systems Analysis School (ENSIAS, Rabat, Morocco). He received DEA (Master) (1994) and Doctorate of 3rd Cycle (1997) degrees in Computer Science, both from the University Mohamed V of Rabat. He has received his Ph.D. (2003) in Cognitive Computer Sciences from ETS, University of Quebec at Montreal. His research interests include software cost estimation, software metrics, fuzzy logic, neural networks, genetic algorithms and information sciences. Amae Sellami, she holds a PhD in Software Engineering (2005) from École de Technologie Supérieure (ETS) - Universitédu Québec (Montréal, Canada) and Master's degree in Management Information from Universitédu Québec àmontréal. Since 2006, she is an Assistant Professor at the Institut Supérieur d'informatique et de Multimédia de Sfax (ISIMS) - University of Sfax (Tunisia). Her research interests include Software Measurement and Metrology, Software Quality, and Software Project Management. Copyright c 2014 SERSC 373

16 374 Copyright c 2014 SERSC

Taxonomy Dimensions of Complexity Metrics

Taxonomy Dimensions of Complexity Metrics 96 Int'l Conf. Software Eng. Research and Practice SERP'15 Taxonomy Dimensions of Complexity Metrics Bouchaib Falah 1, Kenneth Magel 2 1 Al Akhawayn University, Ifrane, Morocco, 2 North Dakota State University,

More information

HOW AND WHEN TO FLATTEN JAVA CLASSES?

HOW AND WHEN TO FLATTEN JAVA CLASSES? HOW AND WHEN TO FLATTEN JAVA CLASSES? Jehad Al Dallal Department of Information Science, P.O. Box 5969, Safat 13060, Kuwait ABSTRACT Improving modularity and reusability are two key objectives in object-oriented

More information

Procedia Computer Science

Procedia Computer Science Procedia Computer Science 00 (2009) 000 000 Procedia Computer Science www.elsevier.com/locate/procedia INSODE 2011 Theoretical Analysis for the Impact of Including Special Methods in Lack-of-Cohesion Computation

More information

Application of Object Oriented Metrics to Java and C Sharp: Comparative Study

Application of Object Oriented Metrics to Java and C Sharp: Comparative Study International Journal of Computer Applications (9 888) Volume 64 No., February Application of Object Oriented Metrics to Java and C Sharp: Comparative Study Arti Chhikara Maharaja Agrasen College,Delhi,India

More information

Reusability Metrics for Object-Oriented System: An Alternative Approach

Reusability Metrics for Object-Oriented System: An Alternative Approach Reusability Metrics for Object-Oriented System: An Alternative Approach Parul Gandhi Department of Computer Science & Business Administration Manav Rachna International University Faridabad, 121001, India

More information

Investigation of Metrics for Object-Oriented Design Logical Stability

Investigation of Metrics for Object-Oriented Design Logical Stability Investigation of Metrics for Object-Oriented Design Logical Stability Mahmoud O. Elish Department of Computer Science George Mason University Fairfax, VA 22030-4400, USA melish@gmu.edu Abstract As changes

More information

Technical Metrics for OO Systems

Technical Metrics for OO Systems Technical Metrics for OO Systems 1 Last time: Metrics Non-technical: about process Technical: about product Size, complexity (cyclomatic, function points) How to use metrics Prioritize work Measure programmer

More information

Harmonization of usability measurements in ISO9126 software engineering standards

Harmonization of usability measurements in ISO9126 software engineering standards Harmonization of usability measurements in ISO9126 software engineering standards Laila Cheikhi, Alain Abran and Witold Suryn École de Technologie Supérieure, 1100 Notre-Dame Ouest, Montréal, Canada laila.cheikhi.1@ens.etsmtl.ca,

More information

CHAPTER 4 HEURISTICS BASED ON OBJECT ORIENTED METRICS

CHAPTER 4 HEURISTICS BASED ON OBJECT ORIENTED METRICS CHAPTER 4 HEURISTICS BASED ON OBJECT ORIENTED METRICS Design evaluation is most critical activity during software development process. Design heuristics are proposed as a more accessible and informal means

More information

Principal Component Analysis of Lack of Cohesion in Methods (LCOM) metrics

Principal Component Analysis of Lack of Cohesion in Methods (LCOM) metrics Principal Component Analysis of Lack of Cohesion in Methods (LCOM) metrics Anuradha Lakshminarayana Timothy S.Newman Department of Computer Science University of Alabama in Huntsville Abstract In this

More information

Empirical Evaluation and Critical Review of Complexity Metrics for Software Components

Empirical Evaluation and Critical Review of Complexity Metrics for Software Components Proceedings of the 6th WSEAS Int. Conf. on Software Engineering, Parallel and Distributed Systems, Corfu Island, Greece, February 16-19, 2007 24 Empirical Evaluation and Critical Review of Complexity Metrics

More information

Towards Cohesion-based Metrics as Early Quality Indicators of Faulty Classes and Components

Towards Cohesion-based Metrics as Early Quality Indicators of Faulty Classes and Components 2009 International Symposium on Computing, Communication, and Control (ISCCC 2009) Proc.of CSIT vol.1 (2011) (2011) IACSIT Press, Singapore Towards Cohesion-based Metrics as Early Quality Indicators of

More information

Measuring the quality of UML Designs

Measuring the quality of UML Designs Measuring the quality of UML Designs Author: Mr. Mark Micallef (mmica@cs.um.edu.mt) Supervisor: Dr. Ernest Cachia (eacaci@cs.um.edu.mt) Affiliation: University of Malta (www.um.edu.mt) Keywords Software

More information

Evaluating the Effect of Inheritance on the Characteristics of Object Oriented Programs

Evaluating the Effect of Inheritance on the Characteristics of Object Oriented Programs Journal of Computer Science 2 (12): 872-876, 26 ISSN 1549-3636 26 Science Publications Evaluating the Effect of Inheritance on the Characteristics of Object Oriented 1 Thabit Sultan Mohammed and 2 Hayam

More information

Analysis of Reusability of Object-Oriented System using CK Metrics

Analysis of Reusability of Object-Oriented System using CK Metrics Analysis of Reusability of Object-Oriented System using CK Metrics Brij Mohan Goel Research Scholar, Deptt. of CSE SGVU, Jaipur-302025, India Pradeep Kumar Bhatia Deptt. of CSE., G J University of Science

More information

Risk-based Object Oriented Testing

Risk-based Object Oriented Testing Risk-based Object Oriented Testing Linda H. Rosenberg, Ph.D. Ruth Stapko Albert Gallo NASA GSFC SATC NASA, Unisys SATC NASA, Unisys Code 302 Code 300.1 Code 300.1 Greenbelt, MD 20771 Greenbelt, MD 20771

More information

An Empirical Study on Object-Oriented Metrics

An Empirical Study on Object-Oriented Metrics An Empirical Study on Object-Oriented Metrics Mei-Huei Tang Ming-Hung Kao Mei-Hwa Chen Computer Science Department SUNY at Albany Albany, NY 12222 (meitang, kao, mhc)@cs.albany.edu Abstract The objective

More information

Research Article ISSN:

Research Article ISSN: Research Article [Agrawal, 1(3): May, 2012] IJESRT INTERNATIONAL JOURNAL OF ENGINEERING SCIENCES & RESEARCH TECHNOLOGY Use Of Software Metrics To Measure And Improve The Quality Of The Software Design

More information

An Information Model for Software Quality Measurement with ISO Standards

An Information Model for Software Quality Measurement with ISO Standards An Information Model for Software Measurement with ISO Standards Alain Abran École de Technologie Supérieure University of Québec, 1100 Notre -Dame Ouest, Montréal, Québec H3W 1T8, Canada aabran@ele.etsmtl.ca

More information

An Object-Oriented Metrics Suite for Ada 95

An Object-Oriented Metrics Suite for Ada 95 An Object-Oriented Metrics Suite for Ada 95 William W. Pritchett IV DCS Corporation 133 Braddock Place Alexandria, VA 22314 73.683.843 x726 wpritche@dcscorp.com 1. ABSTRACT Ada 95 added object-oriented

More information

Towards the re-usability of software metric definitions at the meta level

Towards the re-usability of software metric definitions at the meta level Towards the re-usability of software metric definitions at the meta level - Position Paper - Jacqueline A. McQuillan and James F. Power Department of Computer Science, National University of Ireland, Maynooth,

More information

Evaluation of a Business Application Framework Using Complexity and Functionality Metrics

Evaluation of a Business Application Framework Using Complexity and Functionality Metrics Evaluation of a Business Application Framework Using Complexity and Functionality Metrics Hikaru Fujiwara 1, Shinji Kusumoto 1, Katsuro Inoue 1, Toshifusa Ootsubo 2 and Katsuhiko Yuura 2 1 Graduate School

More information

Fuzzy Analogy: A New Approach for Software Cost Estimation

Fuzzy Analogy: A New Approach for Software Cost Estimation Fuzzy Analogy: A New Approach for Software Cost Estimation Ali Idri, ENSIAS, Rabat, Morocco co Alain Abran, ETS, Montreal, Canada Taghi M. Khoshgoftaar, FAU, Boca Raton, Florida th International Workshop

More information

Object Oriented Measurement

Object Oriented Measurement Object Oriented Measurement Diego Chaparro González dchaparro@acm.org Student number: 59881P 17th January 2003 Abstract This document examines the state of art in software products measurement, with focus

More information

Application of a Fuzzy Inference System to Measure Maintainability of Object-Oriented Software

Application of a Fuzzy Inference System to Measure Maintainability of Object-Oriented Software Application of a Fuzzy Inference System to Measure Maintainability of Object-Oriented Software Nasib Singh Gill and Meenakshi Sharma Department of Computer Science & Applications Maharshi Dayanand University,

More information

2014, IJARCSSE All Rights Reserved Page 303

2014, IJARCSSE All Rights Reserved Page 303 Volume 4, Issue 1, January 2014 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com A Novel Software

More information

1 Introduction. Abstract

1 Introduction. Abstract An MVC-based Analysis of Object-Oriented System Prototyping for Banking Related GUI Applications Correlationship between OO Metrics and Efforts for Requirement Change Satoru Uehara, Osamu Mizuno, Yumi

More information

On the Application of Software Metrics to UML Models

On the Application of Software Metrics to UML Models On the Application of Software Metrics to UML Models Jacqueline A. McQuillan and James F. Power Department of Computer Science, National University of Ireland, Maynooth, Co. Kildare, Ireland {jmcq,jpower}@cs.nuim.ie

More information

Some observations on the application of software metrics to UML models

Some observations on the application of software metrics to UML models Some observations on the application of software metrics to UML models - Position Paper - Jacqueline A. McQuillan Department of Computer Science National University of Ireland, Maynooth jmcq@cs.nuim.ie

More information

International Journal of Software and Web Sciences (IJSWS)

International Journal of Software and Web Sciences (IJSWS) International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research) ISSN (Print): 2279-0063 ISSN (Online): 2279-0071 International

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 24 Vol. 3, No. 4 (April 24) Special issue: TOOLS USA 23 A Proposal of a New Class Cohesion

More information

A Study of Software Metrics

A Study of Software Metrics International Journal of Computational Engineering & Management, Vol. 11, January 2011 www..org 22 A Study of Software Metrics Gurdev Singh 1, Dilbag Singh 2, Vikram Singh 3 1 Assistant Professor, JIET

More information

Metrics and OO. SE 3S03 - Tutorial 12. Alicia Marinache. Week of Apr 04, Department of Computer Science McMaster University

Metrics and OO. SE 3S03 - Tutorial 12. Alicia Marinache. Week of Apr 04, Department of Computer Science McMaster University and OO OO and OO SE 3S03 - Tutorial 12 Department of Computer Science McMaster University Complexity Lorenz CK Week of Apr 04, 2016 Acknowledgments: The material of these slides is based on [1] (chapter

More information

A SEMI-FORMAL METHOD TO VERIFY CORRECTNESS OF FUNCTIONAL REQUIREMENTS SPECIFICATIONS OF COMPLEX EMBEDDED SYSTEM

A SEMI-FORMAL METHOD TO VERIFY CORRECTNESS OF FUNCTIONAL REQUIREMENTS SPECIFICATIONS OF COMPLEX EMBEDDED SYSTEM A SEMI-FORMAL METHOD TO VERIFY CORRECTNESS OF FUNCTIONAL REQUIREMENTS SPECIFICATIONS OF Nihal Kececi Department of Computer Science Université du Québec à Montréal Software Engineering Management Research

More information

Inheritance Metrics: What do they Measure?

Inheritance Metrics: What do they Measure? Inheritance Metrics: What do they Measure? G. Sri Krishna and Rushikesh K. Joshi Department of Computer Science and Engineering Indian Institute of Technology Bombay Mumbai, 400 076, India Email:{srikrishna,rkj}@cse.iitb.ac.in

More information

Impact of Dependency Graph in Software Testing

Impact of Dependency Graph in Software Testing Impact of Dependency Graph in Software Testing Pardeep Kaur 1, Er. Rupinder Singh 2 1 Computer Science Department, Chandigarh University, Gharuan, Punjab 2 Assistant Professor, Computer Science Department,

More information

Some observations on the application of software metrics to UML models

Some observations on the application of software metrics to UML models Some observations on the application of software metrics to UML models - Position Paper - Jacqueline A. McQuillan Department of Computer Science National University of Ireland, Maynooth jmcq@cs.nuim.ie

More information

Effectiveness of software metrics for object-oriented system

Effectiveness of software metrics for object-oriented system Available online at www.sciencedirect.com Procedia Technology 6 (2012 ) 420 427 2nd International Conference on Communication, Computing & Security [ICCCS-2012] Effectiveness of software metrics for object-oriented

More information

Theoretical Validation of Inheritance Metrics for Object-Oriented Design against Briand s Property

Theoretical Validation of Inheritance Metrics for Object-Oriented Design against Briand s Property I.J. Information Engineering and Electronic Business, 2014, 3, 28-33 Published Online June 2014 in MECS (http://www.mecs-press.org/) DOI: 10.5815/ijieeb.2014.03.05 Theoretical Validation of Inheritance

More information

Prediction of Software Readiness Using Neural Network

Prediction of Software Readiness Using Neural Network Prediction of Software Readiness Using Neural Network Jon T.S. Quah, Mie Mie Thet Thwin Abstract-- In this paper, we explore the behaviour of neural network in predicting software readiness. Our neural

More information

Object Oriented Metrics. Impact on Software Quality

Object Oriented Metrics. Impact on Software Quality Object Oriented Metrics Impact on Software Quality Classic metrics Lines Of Code Function points Complexity Code coverage - testing Maintainability Index discussed later Lines of Code KLOC = 1000 Lines

More information

Keywords: OLC, CLC. 2015, IJARCSSE All Rights Reserved Page 1

Keywords: OLC, CLC. 2015, IJARCSSE All Rights Reserved Page 1 Volume 5, Issue 3, March 2015 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Special Issue

More information

Using Metrics To Manage Software Risks. 1. Introduction 2. Software Metrics 3. Case Study: Measuring Maintainability 4. Metrics and Quality

Using Metrics To Manage Software Risks. 1. Introduction 2. Software Metrics 3. Case Study: Measuring Maintainability 4. Metrics and Quality Using Metrics To Manage Software Risks 1. Introduction 2. Software Metrics 3. Case Study: Measuring Maintainability 4. Metrics and Quality 1 1. Introduction Definition Measurement is the process by which

More information

A Complete and Comprehensive Metrics Suite for Object-Oriented Design Quality Assessment

A Complete and Comprehensive Metrics Suite for Object-Oriented Design Quality Assessment , pp.173-188 http://dx.doi.org/10.14257/ijseia.2014.8.2.17 A Complete and Comprehensive Metrics Suite for Object-Oriented Design Quality Assessment K.P. Srinivasan 1 and Dr. T.Devi 2 1 Associate Professor

More information

IMPACT OF DEPENDENCY GRAPH IN SOFTWARE TESTING

IMPACT OF DEPENDENCY GRAPH IN SOFTWARE TESTING IMPACT OF DEPENDENCY GRAPH IN SOFTWARE TESTING Pardeep kaur 1 and Er. Rupinder Singh 2 1 Research Scholar, Dept. of Computer Science and Engineering, Chandigarh University, Gharuan, India (Email: Pardeepdharni664@gmail.com)

More information

An Object Oriented Runtime Complexity Metric based on Iterative Decision Points

An Object Oriented Runtime Complexity Metric based on Iterative Decision Points An Object Oriented Runtime Complexity Metric based on Iterative Amr F. Desouky 1, Letha H. Etzkorn 2 1 Computer Science Department, University of Alabama in Huntsville, Huntsville, AL, USA 2 Computer Science

More information

Quality Metrics Tool for Object Oriented Programming

Quality Metrics Tool for Object Oriented Programming Quality Metrics Tool for Object Oriented Programming Mythili Thirugnanam * and Swathi.J.N. Abstract Metrics measure certain properties of a software system by mapping them to numbers (or to other symbols)

More information

A Comparative Study on State Programming: Hierarchical State Machine (HSM) Pattern and State Pattern

A Comparative Study on State Programming: Hierarchical State Machine (HSM) Pattern and State Pattern A Comparative Study on State Programming: Hierarchical State Machine (HSM) Pattern and State Pattern A. Cüneyd Tantuğ and Özdemir Kavak Abstract State machines can be implemented by using several methods.

More information

An Analysis of the McCabe Cyclomatic Complexity Number

An Analysis of the McCabe Cyclomatic Complexity Number An Analysis of the McCabe Cyclomatic Complexity Number Alain Abran ETS- U. of Québec, Canada aabran@ele.etsmtl.ca Miguel Lopez Cetic, Belgium vp@cetic.be Naji Habra University of Namur, Belgium nha@info.fundp.ac.be

More information

Moonzoo Kim CS Division of EECS Dept.

Moonzoo Kim CS Division of EECS Dept. Chapter 15 Product Metrics Moonzoo Kim CS Division of EECS Dept. KAIST 1 Overview of Ch15. Product Metrics 15.1 Software Quality 15.2 A Framework for Product Metrics 15.3 Metrics for the Analysis Model

More information

Quantify the project. Better Estimates. Resolve Software crises

Quantify the project. Better Estimates. Resolve Software crises Quantify the project Quantifying schedule, performance,work effort, project status Helps software to be compared and evaluated Better Estimates Use the measure of your current performance to improve your

More information

SNS College of Technology, Coimbatore, India

SNS College of Technology, Coimbatore, India Support Vector Machine: An efficient classifier for Method Level Bug Prediction using Information Gain 1 M.Vaijayanthi and 2 M. Nithya, 1,2 Assistant Professor, Department of Computer Science and Engineering,

More information

CHAPTER 4 QUANTIFICATION AND EVALUATION OF INTERFACE COMPLEXITY IN COTS BASED SYSTEMS

CHAPTER 4 QUANTIFICATION AND EVALUATION OF INTERFACE COMPLEXITY IN COTS BASED SYSTEMS 74 CHAPTER 4 QUANTIFICATION AND EVALUATION OF INTERFACE COMPLEXITY IN COTS BASED SYSTEMS 4.1 Introduction 4.2 Scope and Goal of the Chapter 4.3 Related Work 4.3.1 Complexity Metrics for Basic Software

More information

ICAD A USE CASE BASED OBJECT-ORIENTED SOFTWARE DESIGN APPROACH USING THE AXIOMATIC DESIGN THEORY

ICAD A USE CASE BASED OBJECT-ORIENTED SOFTWARE DESIGN APPROACH USING THE AXIOMATIC DESIGN THEORY Proceedings of ICAD2006 ICAD-2006-29 A USE CASE BASED OBJECT-ORIENTED SOFTWARE DESIGN APPROACH USING THE AXIOMATIC DESIGN THEORY Andrey Ricardo Pimentel andreyrp@cpgei.cefetpr.br The Federal Technological

More information

Importance of Software Metrics to Quantify of Software Design and Source Code Quality

Importance of Software Metrics to Quantify of Software Design and Source Code Quality Importance of Software Metrics to Quantify of Software Design and Source Code Quality Siddharth Jain, Pradeep Baniya Asstistant. Professors, IIST-II Abstract-The vital role of software process improvement

More information

ABSTRACT 2. Related Work 1. Introduction 1 NNGT Journal: International Journal of Software Engineering Volume 1 July 30,2014

ABSTRACT 2. Related Work 1. Introduction 1 NNGT Journal: International Journal of Software Engineering Volume 1 July 30,2014 Maintainability Evaluation of Information Systems Dr Nejmeddine Tagoug College of Computer and Information Systems KSU University Saudi Arabia ntagoug@ksu.edu.sa ABSTRACT The maintenance of existing software

More information

Analysis of Various Software Metrics Used To Detect Bad Smells

Analysis of Various Software Metrics Used To Detect Bad Smells The International Journal Of Engineering And Science (IJES) Volume 5 Issue 6 Pages PP -14-20 2016 ISSN (e): 2319 1813 ISSN (p): 2319 1805 Analysis of Various Software Metrics Used To Detect Bad Smells

More information

DETERMINE COHESION AND COUPLING FOR CLASS DIAGRAM THROUGH SLICING TECHNIQUES

DETERMINE COHESION AND COUPLING FOR CLASS DIAGRAM THROUGH SLICING TECHNIQUES IJACE: Volume 4, No. 1, January-June 2012, pp. 19-24 DETERMINE COHESION AND COUPLING FOR CLASS DIAGRAM THROUGH SLICING TECHNIQUES Akhilesh Kumar 1* & Sunint Kaur Khalsa 1 Abstract: High cohesion or module

More information

Toward a definition of run-time object-oriented metrics

Toward a definition of run-time object-oriented metrics 7TH ECOOP WORKSHOP ON QUANTITATIVE APPROACHES IN OBJECT-ORIENTED SOFTWARE ENGINEERING 200 1 Toward a definition of run-time object-oriented metrics - Position Paper - Aine Mitchell, James F. Power Abstract

More information

Enhancing Mood Metrics Using Encapsulation

Enhancing Mood Metrics Using Encapsulation Proceedings of the 8th WSEAS International Conference on Automation and Information, Vancouver, Canada, June 9-2, 2007 252 Enhancing Mood Metrics Using Encapsulation SUNINT SAINI, MEHAK AGGARWAL Department

More information

PREDICTION OF SOFTWARE DEFECTS USING OBJECT-ORIENTED METRICS

PREDICTION OF SOFTWARE DEFECTS USING OBJECT-ORIENTED METRICS International Journal of Civil Engineering and Technology (IJCIET) Volume 9, Issue 1, January 2018, pp. 889 899, Article ID: IJCIET_09_01_087 Available online at http://http://www.iaeme.com/ijciet/issues.asp?jtype=ijciet&vtype=9&itype=1

More information

Enhancing Object Oriented Coupling Metrics w.r.t. Connectivity Patterns

Enhancing Object Oriented Coupling Metrics w.r.t. Connectivity Patterns Enhancing Object Oriented Coupling Metrics w.r.t. Connectivity Patterns Thesis submitted in partial fulfillment of the requirements for the award of degree of Master of Engineering in Software Engineering

More information

Effective Modular Design

Effective Modular Design CSC40232: SOFTWARE ENGINEERING Professor: Jane Cleland Huang Metrics sarec.nd.edu/courses/se2017 Department of Computer Science and Engineering Effective Modular Design Modular design Reduces complexity

More information

On the Applicability of Predictive Maintainability Models onto dynamic Languages

On the Applicability of Predictive Maintainability Models onto dynamic Languages On the Applicability of Predictive Maintainability Models onto dynamic Languages Miguel Lopez 1, Naji Habra 2, Grégory Seront 1 1 CETIC asbl Rue Clément Ader, 8 B-6041 Gosselies, Belgium malm@cetic.be,,

More information

Effects of Dependency Injection on Maintainability. Kate Razina

Effects of Dependency Injection on Maintainability. Kate Razina Effects of Dependency Injection on Maintainability Kate Razina Overview Introduction Maintainability Dependency Injection Hypothesis Research Measuring Maintainability Data Collection Results Conclusion

More information

2IS55 Software Evolution. Software metrics (3) Alexander Serebrenik

2IS55 Software Evolution. Software metrics (3) Alexander Serebrenik 2IS55 Software Evolution Software metrics (3) Alexander Serebrenik Sources / SET / W&I 19-3-2013 PAGE 1 From imperative to OO All metrics so far were designed for imperative languages Applicable for OO

More information

SOFTWARE COMPLEXITY MEASUREMENT USING MULTIPLE CRITERIA ABSTRACT

SOFTWARE COMPLEXITY MEASUREMENT USING MULTIPLE CRITERIA ABSTRACT SOFTWARE COMPLEXITY MEASUREMENT USING MULTIPLE CRITERIA Bhaskar Raj Sinha, Pradip Peter Dey, Mohammad Amin and Hassan Badkoobehi National University, School of Engineering, Technology, and Media 3678 Aero

More information

CHAPTER 3 ROLE OF OBJECT-ORIENTED METRICS IN SOFTWARE MEASUREMENT

CHAPTER 3 ROLE OF OBJECT-ORIENTED METRICS IN SOFTWARE MEASUREMENT CHAPTER 3 ROLE OF OBJECT-ORIENTED METRICS IN SOFTWARE MEASUREMENT 3.1 Introduction 3.2 Object-Oriented Metrics 3.2.1 CK Metrics 3.2.2 Metrics by Li and Henry 3.2.3 Metrics by Li 3.2.4 Metrics by Sharble

More information

Introduction to software metics

Introduction to software metics Introduction to software metics Alexander Voigt Version_05_21 Technische Universität Dresden Institut für Kern- und Teilchenphysik /01234/546 78994:!"##$%&'$()*+,%&-,,$)*.$ IKTP Computing Kaffee 12 December

More information

Generation Rules in POMA Architecture

Generation Rules in POMA Architecture J. Software Engineering & Applications, 2010, 3, 1040-1046 doi:10.4236/jsea.2010.311122 Published Online November 2010 (http://www.scirp.org/journal/jsea) Mohamed Taleb 1, Ahmed Seffah 2, Alain Abran 1

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2005 Vol. 4, No. 4, May-June 2005 Automated Measurement of UML Models: an open toolset

More information

How to Realization Architectural testing model using Measurement Metrics

How to Realization Architectural testing model using Measurement Metrics How to Realization Architectural testing model using Measurement Metrics Lalji Prasad 1, Sarita Singh Bhadauria 2 1 TRUBA College of Engineering & Technology/ Computer Science &Engineering, INDORE, INDIA

More information

Analysis of operations and parameters involved in interface for CBSE

Analysis of operations and parameters involved in interface for CBSE Analysis of operations and parameters involved in interface for CBSE P.L. Powar 1, Dr. R.K. Pandey 2, M.P. Singh 3, Bharat Solanki 4 1 Department of Mathematics and Computer Science, R. D. University,

More information

Keywords: Abstract Factory, Singleton, Factory Method, Prototype, Builder, Composite, Flyweight, Decorator.

Keywords: Abstract Factory, Singleton, Factory Method, Prototype, Builder, Composite, Flyweight, Decorator. Comparative Study In Utilization Of Creational And Structural Design Patterns In Solving Design Problems K.Wseem Abrar M.Tech., Student, Dept. of CSE, Amina Institute of Technology, Shamirpet, Hyderabad

More information

CHAPTER 4 OBJECT ORIENTED COMPLEXITY METRICS MODEL

CHAPTER 4 OBJECT ORIENTED COMPLEXITY METRICS MODEL 64 CHAPTER 4 OBJECT ORIENTED COMPLEXITY METRICS MODEL 4.1 INTRODUCTION Customers measure the aspects of the final product to determine whether it meets the requirements and provides sufficient quality.

More information

ISSN: ISO 9001:2008 Certified International Journal of Engineering and Innovative Technology (IJEIT) Volume 3, Issue 11, May 2014

ISSN: ISO 9001:2008 Certified International Journal of Engineering and Innovative Technology (IJEIT) Volume 3, Issue 11, May 2014 Coupling Appraisal in Object-Oriented Systems Priya Nigam, Rachna Mishra Department of Computer Science & Engg. Abstract The metrics "Coupling is a quantification of interdependence of two objects. Coupling

More information

An Approach for Quality Control Management in Object Oriented Projects Development

An Approach for Quality Control Management in Object Oriented Projects Development J. Basic. Appl. Sci. Res., 3(1s)539-544, 2013 2013, TextRoad Publication ISSN 2090-4304 Journal of Basic and Applied Scientific Research www.textroad.com An Approach for Quality Control Management in Object

More information

Measurement Convertibility - From Function Points to COSMIC-FFP

Measurement Convertibility - From Function Points to COSMIC-FFP Measurement - From Function Points to Alain Abran Jean-Marc Desharnais Fatima Aziz École de Technologie Supérieure alain.abran@etsmtl.ca jean-marc.desharnais@etsmtl.ca fatima.aziz.1@ens.etsmtl.ca Abstract

More information

Class Break Point Determination Using CK Metrics Thresholds

Class Break Point Determination Using CK Metrics Thresholds P a g e 73 Vol.10 Issue 14 (Ver.1.0) November 2010 Class Break Point Determination Using CK Metrics Thresholds Dr. E. Chandra 1, P. Edith Linda 2 GJCST Classification D.2.8 Abstract-The design and development

More information

Report and Opinion 2014;6(10) Measurement Of Software Complexity In Object Oriented Systems Abstract

Report and Opinion 2014;6(10)   Measurement Of Software Complexity In Object Oriented Systems Abstract Measurement Of Software Complexity In Object Oriented Systems Abstract Hari Om Sharan 1, Garima 1, Md. Haroon 1, and Rajeev Kumar 2 1 Deptt. of Computer Science, COE, Teerthankar Mahaveer University, Moradabad,

More information

A prototype Web-based implementation of the QEST model

A prototype Web-based implementation of the QEST model 82 A prototype Web-based implementation of the QEST model Alain Abran 1, Martin Kunz 2, Reiner R. Dumke 2, Luigi Buglione 1 3 1 École de Technologie Supérieure - ETS 1100 Notre-Dame Ouest, Montréal, Canada

More information

Cohesion as Changeability Indicator in Object-Oriented Systems

Cohesion as Changeability Indicator in Object-Oriented Systems Cohesion as Changeability Indicator in Object-Oriented Systems Hind Kabaili, Rudolf K. Keller and François Lustman Département IRO Université de Montréal C.P. 6128, succursale Centre-ville Montréal, Québec

More information

A Change Impact Model for Changeability Assessment in Object-Oriented Software Systems

A Change Impact Model for Changeability Assessment in Object-Oriented Software Systems A Change Impact Model for Changeability Assessment in Object-Oriented Software Systems M. Ajmal Chaumun, Hind Kabaili, Rudolf K. Keller and François Lustman Département IRO Université de Montréal C.P.

More information

DEFINING MEASURES FOR MEMORY EFFICIENCY OF THE SOFTWARE IN MOBILE TERMINALS. Hannu Toivonen, Senior Consultant, Nokia Research Center, Finland

DEFINING MEASURES FOR MEMORY EFFICIENCY OF THE SOFTWARE IN MOBILE TERMINALS. Hannu Toivonen, Senior Consultant, Nokia Research Center, Finland DEFINING MEASURES FOR MEMORY EFFICIENCY OF THE SOFTWARE IN MOBILE TERMINALS Author: Hannu Toivonen, Senior Consultant, Nokia Research Center, Finland This paper was presented at the 12th International

More information

On the Impact of Aspect-Oriented Programming on Object-Oriented Metrics

On the Impact of Aspect-Oriented Programming on Object-Oriented Metrics On the Impact of Aspect-Oriented Programming on Object-Oriented Metrics Jean-Yves Guyomarc h and Yann-Gaël Guéhéneuc GEODES - Group of Open and Distributed Systems, Experimental Software Engineering Department

More information

Object-Oriented Design Quality Models A Survey and Comparison

Object-Oriented Design Quality Models A Survey and Comparison Object-Oriented Design Quality Models A Survey and Comparison Mohamed El-Wakil Ali El-Bastawisi Mokhtar Boshra Information Systems Department {Mohamed.elwakil@acm.org, ali.elbastawisi@link.net, mbriad@cu.edu.eg}

More information

A New Measure of Code Complexity during Software Evolution: A Case Study

A New Measure of Code Complexity during Software Evolution: A Case Study , pp.403-414 http://dx.doi.org/10.14257/ijmue.2014.9.7.34 A New Measure of Code Complexity during Software Evolution: A Case Study Vinay Singh 1 and Vandana Bhattacherjee 2 Usha Martin Academy, Ranchi,

More information

A SURVEY OF COUPLING MEASUREMENT IN OBJECT ORIENTED SYSTEMS

A SURVEY OF COUPLING MEASUREMENT IN OBJECT ORIENTED SYSTEMS A SURVEY OF COUPLING MEASUREMENT IN OBJECT ORIENTED SYSTEMS V. S. Bidve 1 and Akhil Khare 2 1 Information Technology Department, M.Tech. (II), BVCOE, Pune, India 2 Assistant Professor, Information Technology

More information

An Empirical Verification of Software Artifacts Using Software Metrics

An Empirical Verification of Software Artifacts Using Software Metrics An Empirical Verification of Software Artifacts Using Software Metrics Raed Shatnawi and Ahmad Alzu bi Abstract In model-driven development, design understandability is very important to maintain software

More information

2IS55 Software Evolution. Software metrics (2) Alexander Serebrenik

2IS55 Software Evolution. Software metrics (2) Alexander Serebrenik 2IS55 Software Evolution Software metrics (2) Alexander Serebrenik Administration Assignment 5: Deadline: May 22 1-2 students Next week NO CLASS Next class May 15 / SET / W&I 2-5-2012 PAGE 1 Sources /

More information

Eliminating Annotations by Automatic Flow Analysis of Real-Time Programs

Eliminating Annotations by Automatic Flow Analysis of Real-Time Programs Eliminating Annotations by Automatic Flow Analysis of Real-Time Programs Jan Gustafsson Department of Computer Engineering, Mälardalen University Box 883, S-721 23 Västerås, Sweden jangustafsson@mdhse

More information

Utilizing a Common Language as a Generative Software Reuse Tool

Utilizing a Common Language as a Generative Software Reuse Tool Utilizing a Common Language as a Generative Software Reuse Tool Chris Henry and Stanislaw Jarzabek Department of Computer Science School of Computing, National University of Singapore 3 Science Drive,

More information

Influence of Design Patterns Application on Quality of IT Solutions

Influence of Design Patterns Application on Quality of IT Solutions Influence of Design Patterns Application on Quality of IT Solutions NADINA ZAIMOVIC, DZENANA DONKO Department for Computer Science and Informatics Faculty of Electrical Engineering, University of Sarajevo

More information

An Approach for Mapping Features to Code Based on Static and Dynamic Analysis

An Approach for Mapping Features to Code Based on Static and Dynamic Analysis An Approach for Mapping Features to Code Based on Static and Dynamic Analysis Abhishek Rohatgi 1, Abdelwahab Hamou-Lhadj 2, Juergen Rilling 1 1 Department of Computer Science and Software Engineering 2

More information

An Approach to XML-Based Administration and Secure Information Flow Analysis on an Object Oriented Role-Based Access Control Model

An Approach to XML-Based Administration and Secure Information Flow Analysis on an Object Oriented Role-Based Access Control Model JOURNAL OF INFORMATION SCIENCE AND ENGINEERING 22, 49-61 (2006) An Approach to XML-Based Administration and Secure Information Flow Analysis on an Object Oriented Role-Based Access Control Model CUNGANG

More information

Assessing Package Reusability in Object-Oriented Design

Assessing Package Reusability in Object-Oriented Design , pp.75-84 http://dx.doi.org/10.14257/ijseia.2014.8.4.09 Assessing Package Reusability in Object-Oriented Design Vinay Singh 1 and Vandana Bhattacherjee 2 1 Usha Martin Academy, Ranchi, India 2 Birla Institute

More information

Review and Evaluation of Cohesion and Coupling Metrics at Package and Subsystem Level

Review and Evaluation of Cohesion and Coupling Metrics at Package and Subsystem Level Review and Evaluation of Cohesion and Coupling Metrics at Package and Subsystem Level Shouki A. Ebad1*, Moataz A. Ahmed2 1 Faculty 2 of Computing and IT, rthern Border University, Saudi Arabia. Info. &

More information

Software Testing: A Craftsman s Approach, 4 th Edition. Chapter 16 Software Complexity

Software Testing: A Craftsman s Approach, 4 th Edition. Chapter 16 Software Complexity Chapter 16 Software Complexity Levels of Software Complexity Unit Level Topological (cyclomatic) complexity, based on a program graph Decisional complexity, a refinement of topological complexity, based

More information

EVALUATING IMPACT OF INHERITANCE ON OBJECT ORIENTED SOFTWARE METRICS

EVALUATING IMPACT OF INHERITANCE ON OBJECT ORIENTED SOFTWARE METRICS CHAPTER-4 EVALUATING IMPACT OF INHERITANCE ON OBJECT ORIENTED SOFTWARE METRICS 4.1 Introduction Software metrics are essential to software engineering for measuring software complexity and quality, estimating

More information

Mixing SNA and Classical Software Metrics for Sub-Projects Analysis.

Mixing SNA and Classical Software Metrics for Sub-Projects Analysis. Mixing SNA and Classical Software Metrics for Sub-Projects Analysis. ROBERTO TONELLI University of Cagliari DIEE P.zza D Armi, 91 Cagliari ITALY roberto.tonelli@dsf.unica.it GIUSEPPE DESTEFANIS University

More information