Object-Oriented Design Quality Models A Survey and Comparison

Size: px
Start display at page:

Download "Object-Oriented Design Quality Models A Survey and Comparison"

Transcription

1 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} Ali Fahmy Computer Science Department afahmy@mailer.eun.eg Faculty of Computers and Information, Cairo University, Cairo, Egypt Abstract Since 1994, many Object-Oriented Design (OOD) quality models had appeared. OOD quality models aim is assessing OOD quality characteristics, such as maintainability, in a quantitative way through establishing relationships between OOD quality characteristics, and metrics computable from OOD diagrams, such as Depth of Inheritance Tree (DIT). This paper presents the results of our survey of the major OOD quality models appeared in literature since the MOOSE model in 1994, till the QMOOD model in 2002, then it proposes a set of desirable properties that should be possessed by OOD quality models and a comparison among the presented models with respect to the proposed desirable properties set Keywords: Information Systems quality, Object-Oriented Information Systems, Object- Oriented metrics, Object-Oriented quality models, quality assessment, UML. 1 Introduction Since the famous statement "What is not measurable make measurable" of Galileo Galilei ( ) it has been a major goal in science to quantify observations as a way to understand and control the underlying causes. One of the important observations that needs quantification in the Information Systems discipline is the quality of Information Systems. Producing a high quality information system (IS) is a goal required by all the stakeholders involved in any IS project. A major prerequisite to attain a high quality IS, is the continuous and early assessment of its quality. Assessing the IS quality in the early stages of its development life cycle signals any omissions or weaknesses that need to be addressed, and allows taking the necessarily measures to deviate such deficiencies as early as possible, thus, reducing the overall cost of IS development process, and increasing the IS quality level. Quality, as it applies to IS and the process of IS development, has two views; namely: the use view and the production view. The use view of IS quality is concerned with the extent to which the IS meets its intended organizational requirements; how much added-value the IS gives to its users, and how much it is easy to use and learn. The production view of IS quality is concerned with the IS software component quality. 1

2 The quality of the software component, of any computerized information system, influences the IS quality, as a whole, up to a very large extent. Analogously, software design quality affects the software end product (i.e. implemented applications) quality extensively. So, there is an intense need to guarantee the quality of the design. To achieve a high quality design there must be means to judge designs against established desirable attributes (e.g. maintainability). This judgment should be quantitative and objective to be applicable. Fortunately, information systems development projects that adhere to Object-oriented Analysis and Design (OOAD) approach tend to have many design documents available at early stages of the Software Development Life Cycle (SDLC). Over and above, design documents (e.g. class diagrams) produced by pursuing OOAD are likely to contain much information that facilitates assessing the design. Object-oriented design quality models are means for judging Object-oriented Designs. OOD quality models work by establishing relationships between desirable design attributes, such as maintainability and reusability and reckonable OOD metrics, such as depth of inheritance tree. Another prominent benefit of utilizing object-oriented design quality models is predicting estimations about the quality of the information system software component as a whole. In general, quality models consist of four parts: 1. Objectives: which are the quality characteristics that the model claims to assess. (e.g. maintainability) 2. Metrics: which is a set of quantitative design properties, that should be computable from a given design diagram. (e.g. Depth of Inheritance Tree DIT) 3. Relationships: Ways to express the association between Objectives and Metrics. (e.g. classes deep in the classes hierarchy are harder to maintain) 4. (Optional) Thresholds: that set upper/lower limits for metrics to fall within, to express a given trait. (e.g. For better maintainability the DIT should not exceed 6) In the next section, the first object-oriented quality model (MOOSE) is presented, followed by the Lorenz and Kidd metrics suite in section 3. In section 4, MOOD model is introduced, followed by QMOOD model in section 5. In section 6, we introduce six desirable properties that quality models should possess, and then, assess the presented quality models against these desirable properties. 2 MOOSE When Chidamber and Kemmerer Introduced the MOOSE (Metrics for Object-Oriented Software Engineering) metrics suite [1], also known as C.K. metrics suite, they inaugurated a plethora of Object-Oriented design metrics suits. Since 1994, many other OOD metrics suites [18,22,11,5] were presented; most of them are built upon the original C.K. metrics suite. Also, much effort [1,6] was devoted for empirically validating the original C.K. metrics and linking them to OOD quality attributes. Brito [7] published a formalization of C.K metrics based on the Object Constraint Language OCL. The C.K. metrics suite consists of six metrics that assess different characteristics of the OOD: 2

3 1. The Weighted Method Per Class (WMC) assesses complexity of a class through aggregating a complexity measure of its methods. Chidamber and Kemerer did not state, deliberately, a complexity measure to use, leaving the matter as an implementation detail. Given that the WMC is computed after the design phase, and before the implementation phase, it is not possible to use traditional code-based complexity measures such as McCabe Cyclomatic Complexity (CC) [9]. A viable assessment for methods complexity would be based on the methods attributes complexity. Another commonly used solution, is to consider the complexities of all methods as unity, in this case, the WMC would be a count for the number of methods in a class, and then, considered as a measure of the size, not the complexity [9] The Depth of Inheritance Tree (DIT) assess how deep, in a class hierarchy, a class is. This metric assesses the potential of reuse of a class and its probable ease of maintenance. A class with small DIT, has much potential for reuse. (i.e. it tends to be a general abstract class). On the other side, as a class gets deeper into a class hierarchy, it becomes more difficult to maintain, due to the increased mental burden needed to capture its functionally. The Number Of Children (NOC) is a simple measure of the number of classes associated with a given class using an inheritance relationship. It could be used to assess the potential influence a class has on the overall design. God classes [10] (i.e. classes with many children) are considered a bad design habit that occurs frequently. NOC helps detecting such classes. The Coupling Between Object Classes (CBO) of a class is defined as the number of other classes to which it is coupled. A class A is coupled to another class B, if A uses methods or attributes of class B. The information available in a typical class diagram dose not allow determining the methods usage part of CBO (i.e. whether class A uses method X in class B), but it is possible to determine whether a class A is using an attribute Y in class B or not (if attribute Y is a parameter of a method in class A). CBO is beneficial in judging how complex the testing of various parts of a design are likely to be [1]. A modular and encapsulated design shall yield a low CBO, and this is a desired situation. The more independent the class is, the easier to test and/or reuse it. The Response For a Class (RFC) is defined as a count of the set of methods that can be potentially executed in response to a message received by an instance of the class. The Lack of COhesion in Methods (LCOM) is the difference between the number of methods whose similarity is zero and the number of methods whose similarity is not zero. The similarity of two methods is the number of attributes used in common. LCOM can judge cohesiveness among class methods. Low LCOM indicates high cohesiveness, and vice versa. High LCOM indicates a class that shall be considered for splitting into two or more classes. However, a LCOM measure of zero is not a strong evidence that a class enjoys cohesiveness. 3 Lorenz and Kidd Object-Oriented Metrics In their fundamental book about software quality [5] Lorenz and Kidd introduced many metrics to quantify software quality assessment. Lorenz and Kidd metrics were accompanied by a justification for being considered as metrics. Eleven metrics introduced by Lorenz and 3

4 Kidd are applicable to class diagrams. A description of these metrics and the rationale behind them is given; they are classified into three metrics categories: 1. Class size metrics, which deal with quantifying an individual class: a. Number of Public Methods (NPM). This is a count of the number of public methods in a class. It is used to help estimating the amount of work to develop a class. b. Number of Methods (NM). The total number of methods in a class counts all public, private and protected methods. This metric is a useful indication of the classes which may be trying to do too much work themselves; i.e., they provide too much functionality. c. Number of Public Variables per class (NPV). This metric counts the number of public variables in a class. Lorenz and Kidd consider the number of variables in a class to be one measure of its size. The fact that one class has more public variables than another might imply that the class has more relationships with other objects and, as such, is more likely to be a key class. d. Number of Variables per class (NV). The total number of variables including public, private and protected variables. e. Number of Class Variables (NCV) f. Number of Class Methods (NCM) 2. Class Inheritance metrics, which look at the quality of the classes use of inheritance: a. Number of Methods Inherited (NMI). This metric measures the number of methods inherited by a subclass. No mention is made as to whether that inheritance is public or private. b. Number of Methods Overridden (NMO). A large number of overridden methods indicates a design problem, indicating that those methods were overridden as a design afterthought. It is suggested that a subclass should really be a specialization of its super classes, resulting in new unique names for methods. c. Number of New Methods (NNA). The normal expectation for a subclass is that it will further specialize (or add) methods to the super class object. A method is defined as an added method in a subclass if there is no method of the same name in any of its super classes. 3. Class Internals metrics, which look at general characteristics of classes. a. Average parameters per Method (APM) which is defined as Total Number Parameters in a class / Total number of methods. Lorenz and Kidd argue that APM should not exceed 0.7 b. Specialization Index: (SIX) is calculated as (NMO*DIT)/NM This metric looks at the quality of the classes use of inheritance. The specialization index measures to what extent subclasses redefine the behavior of their super classes. 4 MOOD Metrics for Object-Oriented Design (MOOD) suite was proposed by Fernando Brito and Rogerio Carpuca in 1994 [11], embedded in a quality model in 1995 [12] empirically validated in 1996 [13], a newer version (MOOD2) and MOODKIT, a metrics collection automation tool, were introduced in 1998 [14]. A formal method for representing MOOD2 metrics using OCL [17] appeared in

5 MOOD objective was to enable identifying quality Object-Oriented designs by means of quantitative evaluation (i.e. metrics) of the object-oriented paradigm abstractions (e.g. encapsulation) that are supposed to be responsible for internal quality, and to be able to express external quality attributes (e.g. defect density) as functions of these metrics. The original MOOD set consisted of eight metrics: Method Inheritance Factor (MIF), Attribute Inheritance Factor (AIF), Coupling Factor (CF), Polymorphism Factor (PF), Method Hiding Factor (MHF), Attribute Hiding Factor (AHF), Clustering Factor (CLF) and Reuse Factor (RF). These factors are percentages that measure the presence degree of OOD desired attributes. Hence their values are ranges from 0 to one. 1. The Method Hiding Factor (MHF) of a class diagram represents the percentage of invisibilities of methods in a class diagram (degree of methods encapsulation). The MHF is computed by dividing the number of all visible methods in all classes by the number of all methods in all classes. 2. The Attribute Hiding Factor (AHF) of a class diagram represents the percentage of invisibilities of attributes in a class diagram (degree of attributes encapsulation). The AHF is computed by dividing the number of visible attributes in a class diagram by the number of all attributes in a class diagram. 3. The Method Inheritance Factor (MIF) of a class diagram represents the percentage of effective inheritance of methods. The MIF is computed by dividing the number of all inherited methods in all classes by the sum of all methods available (inherited and locally defined) of all classes. 4. The Attribute Inheritance Factor (AIF) of a class diagram the percentage of effective inheritance of attributes. The AIF is computed by dividing the number of all inherited attribute in all classes by the sum of all attributes available (inherited and locally defined) of all classes. 5. The Polymorphism Factor (PF) represents the actual number of possible different polymorphic situations with respect to the maximum number of possible distinct polymorphic situations. The PF is computed by dividing the total number of overridden methods in all classes by the result of multiplying the number of new methods times the number of descendants for all classes, respectively. 6. The Coupling Factor (CF) of a class diagram represents the percentage of couplings among classes, not imputable to inheritance, with respect to the maximum possible number of couplings in the class diagram. The CF is computed by dividing the number of associations, not related to inheritance, between all classes by the number of classes squared minus the number of classes. 7. The Clustering Factor (CLF) of a class diagram represents percentage of actual number of standalone class hierarchies (clusters) with respect to the maximum possible number of class clusters, in a class diagram. The CLF is computed by dividing the number of class clusters in by the number of classes in a class diagram. 8. The Reuse Factor (RF) of a class diagram represents the percentage of classes that are specializations (children) of previously defined classes. The parent classes may be external to the class diagram (from a library such as MFC or OWL) or internal from super classes. Computing RF precisely is not possible with class diagrams solely, unless they are augmented by external libraries usage information. Brito and others in [14] proposed MOODKIT G2, depicted below in Figure 1, which is a tool that consists of two tiers. Tier 1 is a collection of parsers that accept input from different OOD formalisms such as OMT, Fusion, C++ and Java, then outputs the OOD constructs, 5

6 inputted earlier, represented using a proposed OOD specification language (Generic Object- Oriented Design Language? Yes! GOODLY). The second tier processes GOODLY specifications to verify its completeness and correctness, and then extract MOOD metrics to be stored in a repository for later utilization. Such an architecture will be helpful in situations when different object-oriented formalisms are used to design/develop different parts of the same system. (e.g. systems with parts developed using Java and other parts developed using C++) Figure 1: MOODKIT G2 Architecture [14] The MOOD2 set, referenced in [14], added many metrics to the MOOD set, however, the definitions of MOOD2 metrics are detailed in an internal report [16] that is not available in public. In [17] Brito and others introduced FLAME -a Formal Library for Aiding Metrics Extraction- that defined OOD metrics extractable from UML class diagrams in terms of the Object Constraint Language (OCL). However, OCL seems to be ineffective for such a purpose, since it is not rich enough to represent computationally complex metrics. 5 QMOOD The QMOOD [18] (Quality Model for Object-Oriented Design) is a comprehensive quality model that establishes a clearly defined and empirically validated model to assess OOD quality attributes such as understandability and reusability, and relates it through mathematical formulas, with structural OOD properties such as encapsulation and coupling. Also, it presents the OOD metrics needed to quantify these OOD properties. 6

7 The QMOOD model consists of six equations that establish relationship between six OOD quality attributes (reusability, flexibility, understandability, functionality, extendibility, and effectiveness) and eleven design properties (see Figure 2 below). How to measure these design properties is also a part of QMOOD. For example, reusability is a function of the coupling measure, cohesion measure, messaging measure, and the design size. The coupling measure is quantified using Direct Class Coupling (DCC) metric. The cohesion measure is quantified using Cohesion Among Methods in a Class (CAM) metric. The Messaging metric is quantified by Class Interface Size (CIS) metric. Finally, design size is quantified by Design Size in Classes (DSC) metric. All these are measurable directly from class diagrams, and applicable to UML class diagrams. Figure 2: QMOOD quality attributes, design properties and design metrics [18] 6 Desirable properties of OOD quality models Based on our survey of the existing OOD quality models, we propose a set of properties that should be exhibited by any OOD quality model to be of practical use. Lacking any of these properties will result in an inapplicable quality model. 1. Depend on high level design features only. High level design features are those design models available early in software development life cycle, such as abstract class diagrams (i.e. without implementation). Depending on high level design features allow assessing the design in its early stages. 2. The model objectives, quality characteristics to be assessed, should be stated explicitly. Some models [19, 20, 5, and 21] just introduce metrics without stating how these metrics could be used to assess quality. 3. The metrics should be precisely defined. Ambiguity in metrics definitions allows many interpretations for the same metric, for example, in [1] the Weighted Method per Class metric does not state clearly what methods are to be considered. Are inherited methods considered? Are overridden methods included? What about overloaded methods? Does visibility affect the counting? These and other question will arise when it comes to applying the model. 7

8 4. The models should express the relationships between the characteristics and design metrics in a clear, preferably, formal manner. Just stating that a given set of metrics affect fault-proneness, is not enough. A formal expression that involves metrics and how they coincide to the assessed characteristic is very important. This formal expression could be in the form of a mathematical equation [18] or a set of thresholds within which the metrics should lay for the design to be considered adhering to desired design characteristic. Some other formal methods are possible: Genero in [22] uses fuzzy classification and regression trees to classify design diagrams with respect to their ease of maintainability into one of seven levels. 5. There should be an interpretation of the results. The famous Lord Kevin quote The degree to which you can express something in numbers is the degree to which you really understand it [24] is overly exaggerated. Numbers are no more than numbers! They do not have a meaning by their own. Till the values produced by a model are given interpretations that could be used in making decisions, there is no extra understanding is gained. 6. Models should be validated empirically. Quality models could be developed based on a person s own expertise. However, a proof of the validity of any proposed model is a strong support to its thesis. Empirical validation of proposed models received a great attention in the literature [23,3,8,15]. Empirical validation works, in general, by assessing the quality characteristics of a given design in two ways, one way using the proposed model, the other way using human judgment. The confidence we can put on the proposed model, depends on the degree of coincidence between the human assessment and the model assessment. Models without validation are always in doubt concerning their correctness. Hence, only validated models were considered in this paper and in our work in general. The results of assessing the presented OOD quality models against our proposed OOD quality desirable properties are summarized in table 1: Property MOOSE LK OO Metrics MOOD QMOOD Dependence on high NO 1 YES YES YES level design characteristics only Explicit quality characteristics NO 2 NO 3 Error Density, Fault Density and Normalized Rework Reusability, Flexibility, Understandability, Extendibility, and Effectiveness Precise metrics Yes, except the YES YES YES definitions WMC Formal relationships NO 2 NO YES (Pearson r YES (Equations) correlation coefficients) Results interpretation NO 2 NO YES YES Empirical validation Validated NO Validated [13] Validated [11] Table 1: Assessment of the four major OOD quality models against our proposed OOD quality models desirable properties. 8

9 1 Chidamber and Kemmerer metric set focuses on class level metrics and that several of them are highly dependent on low level metrics for their derivation, and as such are not ideally suited to early stage design analysis. 2 The original MOOSE suite did not refer to any quality characteristic, however, later experiments linked the MOOSE with maintenance effort [4] and fault proneness [3] 3 Lorenz and Kidd metrics are criticized [2] for being mere counts of class properties such as the number of public methods, the number of all instance methods, the number of all class methods and so. 7 Conclusion In this paper, we have surveyed four object-oriented design quality models. The work of Chidamber and Kemerer has been seminal in defining, and validating quality models. Lorenz and Kidd metrics are criticized for not being a part of a quality model, however, they have the advantages of being well-defined, easy to collect, and could be computed in the early phases of design. MOOD model is as a very well-defined, through mathematical formulas and OCL statements, empirically validated, supported by a tool, and most importantly provides thresholds that could be used to judge the metrics collected from a given design. The QMOOD model enjoys similar properties as the MOOD model of being well-defined, empirically validated and supported by a tool. QMOOD distinguishes itself by providing mathematical formulas that links design quality attributes with design metrics. This allowed computing a Total Quality Index (TQI), which was already used by [18] authors to compare fourteen class diagrams. We proposed a group of desirable properties for OOD quality models, and then we used them to compare the presented OOD quality models. Based on this comparison, we conclude that the QMOOD suite is the most complete, comprehensive, and supported suite. 9

10 References [1] Shyam R. Chidamber and Chris F. Kemerer,1994, A METRICS SUITE FOR OBJECT ORIENTED DESIGN, IEEE Transactions on Software Engineering, Vol. 20, No. 6, June 1994, pp [2] R. Harrison, S. Counsell, and R. Nithi,1997, An Overview of Object-Oriented Design Metrics,Proceedings of the 8th International Workshop on Software Technology and Engineering Practice (STEP '97). [3] Victor R. Basili, Lionel C. Brian and Walchlio L. Melo,1996, Validation of Object- Oriented Design Metrics as Quality Indicators, IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 22, NO. 10, OCTOBER [4] Li, W. and Henry, S.,1993, Object-Oriented Metrics that predict Maintainability, Journal of Systems and Software, 23(2), pages [5] Mark Lorenz, Jeff Kidd,1994, Object-Oriented Software Metrics, Prentice Hall; ISBN: X. [6] Giancarlo Succi, Witold Pedrycz, Milorad Stefanovic, and James Miller,2003, Practical assessment of the models for identification of defect-prone classes in object-oriented commercial systems using design metrics, The Journal of Systems and Software 65 (2003) [7] Aline Lúcia Baroni, and Fernando Brito e Abreu,2003, An OCL-Based Formalization of the MOOSE Metric Suite, 7th ECOOP Workshop on Quantitative Approaches in Object- Oriented Software Engineering. [8] Marcela Genero, José Olivas, Mario Piattini, and Francisco Romero,2001, Using metrics to predict OO information systems maintainability,13th International Conference Advanced Information Systems Engineering. [9] McCabe, Thomas J. & Butler, and Charles W,1989, Design Complexity Measurement and Testing,Communications of the ACM 32, 12 (December 1989): [10] Alexander Chatzigeorgiou,2003, Mathematical Assessment of Object-Oriented Design Quality,IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 29, NO. 11, NOVEMBER [11] Fernando Brito e Abreu and Rogério Carapuça,1994, Object-Oriented Software Engineering: Measuring and Controlling the Development Process, 4th Int. Conf. on Software Quality, McLean, VA, USA, 3-5 October [12] Fernando Brito e Abreu Miguel Goulão, Rita Esteves,1995, Toward the Design Quality Evaluation of Object-Oriented Software Systems,5th International Conference on Software Quality, Austin, Texas, 23 to 26 October [13] Fernando Brito e Abreu and Walcélio Melo,1996, Evaluating the Impact of Object- Oriented Design on Software Quality,3rd Int l S/W Metrics Symposium, March 1996, Berlin, Germany. 10

11 [14] Fernando Brito e Abreu and Luis Ochoa, Miguel Goulão,1999, The GOODLY Design Language for MOOD Metrics Collection, International Workshop on Quantitative Approaches in Object-Oriented Software Engineering. [15] Marcela Genero, and Mario Piattini, Empirical validation of measures for class diagram structural complexity through controlled experiments, 5th International ECOOP Workshop on Quantitative Approaches in Object-Oriented Software Engineering. [16] Abreu, F. Brito,1998, The MOOD2 Metrics Set,INESC/ISEG internal report, April [17] Aline Lúcia Baroni, and Fernando Brito e Abreu,2003, A Formal Library for Aiding Metrics Extraction,4th International Workshop on OO Reengineering. [18] Jagdish Bansiya, and Carl G. Davis,2002, A Hierarchical Model for Object-Oriented Design Quality Assessment,IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 28, NO. 1, JANUARY [19] Hyoseob Kim1 and Cornelia Boldyreff,2002, Developing Software Metrics Applicable to UML Models,6th ECOOP Workshop on Quantitative Approaches in Object-Oriented Software Engineering. [20] Michele Marchesi,1998, OOA Metrics for the Unified Modeling Language,Proceedings of the 2nd Euromicro Conference on Software Maintenance and Reengineering. [21] Michele Lanza and Stephane Ducasse,2002, Beyond Language Independent Object Oriented Metrics: Model Independent Metrics, 6th International Workshop on Quantitative Approaches in Object-Oriented Software Engineering. [22] Marcela Genero, Mario Piattini and Coral Calero, 2000, Early measures for UML class diagrams, L' Objet. Volume 6 No. 4/2000. [23] Khaled El Emam, Saida Beniarbi, Nishith Goel, and Shesh Rai, 1999, A Validation of Object-oriented Metrics,National Research Council Canada Internal Report No [24] Kelvin, W. T. Popular Lectures and Addresses. 11

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

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

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

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

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

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

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

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

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

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

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

A Hierarchical Model for Object- Oriented Design Quality Assessment

A Hierarchical Model for Object- Oriented Design Quality Assessment A Hierarchical Model for Object- Oriented Design Quality Assessment IEEE Transactions on Software Engineering (2002) Jagdish Bansiya and Carl G. Davis 2013-08-22 Yoo Jin Lim Contents Introduction Background

More information

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

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

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

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

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

Software Quality Estimation through Object Oriented Design Metrics

Software Quality Estimation through Object Oriented Design Metrics 100 Software Quality Estimation through Object Oriented Design Metrics Deepak Arora, Pooja Khanna and Alpika Tripathi, Shipra Sharma and Sanchika Shukla Faculty of Engineering, Department of Computer Science,

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

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

Design Metrics for Object-Oriented Software Systems

Design Metrics for Object-Oriented Software Systems ECOOP 95 Quantitative Methods Workshop Aarhus, August 995 Design Metrics for Object-Oriented Software Systems PORTUGAL Design Metrics for Object-Oriented Software Systems Page 2 PRESENTATION OUTLINE This

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

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

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

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

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

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

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

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

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 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

Object Oriented Design Metrics for Predicting Fault Proneness using Naïve Bayes and Random Forest

Object Oriented Design Metrics for Predicting Fault Proneness using Naïve Bayes and Random Forest Proc. of Int. Conf. on Advances in Communication, Network, and Computing, CNC Object Oriented Design Metrics for Predicting Fault Proneness using Naïve Bayes and Random Forest Vaishnavi.J 1, Anousouya

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

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

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

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

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

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

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

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

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

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

EasyChair Preprint. Software Metrics Proposal for Conformity Checking of Class Diagram to SOLID Design Principles

EasyChair Preprint. Software Metrics Proposal for Conformity Checking of Class Diagram to SOLID Design Principles EasyChair Preprint 508 Software Metrics Proposal for Conformity Checking of Class Diagram to SOLID Design Principles Intan Oktafiani and Bayu Hendradjaya EasyChair preprints are intended for rapid dissemination

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

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

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

ANALYSIS OF OBJECT ORIENTED SOFTWARE METRICS

ANALYSIS OF OBJECT ORIENTED SOFTWARE METRICS International Journal of Emerging Technology and Innovative Engineering Volume I, Issue7, July 2015 (ISSN: 2394 6598) ANALYSIS OF OBJECT ORIENTED SOFTWARE METRICS Pooja Arora Assistant Professor, BCIIT(affiliated

More information

ATL Transformation Example

ATL Transformation Example 1. ATL Transformation Example: UML2 to Measure The UML2 to Measure example describes measurement on UML2 models, using metrics defined as ATL libraries. 1.1. Transformation Overview The aim of this transformation

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

Vragen. Intra-modular complexity measures. The uses relation. System structure: inter-module complexity

Vragen. Intra-modular complexity measures. The uses relation. System structure: inter-module complexity Vragen Intra-modular complexity measures Wat wordt bedoeld met het ontwerpsprincipe: Anticipate obsolence? Wat is het voordeel van strong cohesion en weak coupling? Wat is het gevolg van hoge complexiteit

More information

Static Metrics. Feature Brief

Static Metrics. Feature Brief SOFTWARE QUALITY ASSURANCE TOOLS & TECHNOLOGY PROFESSIONAL SERVICES ACADEMY P a g e 1 Feature Brief Static Metrics Cantata provides a full and unique suite of intelligent testing capabilities for the efficient

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

Metrics in assessing the quality and evolution of jedit

Metrics in assessing the quality and evolution of jedit Metrics in assessing the quality and evolution of jedit Ilona Bluemke, Rafał Roguski Institute of Computer Science, Warsaw University of Technology Nowowiejska 15/19, 00-665 Warsaw, Poland I.Bluemke@ii.pw.edu.pl

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

An Empirical Investigation of Inheritance Trends in Java OSS Evolution. by Emal Nasseri

An Empirical Investigation of Inheritance Trends in Java OSS Evolution. by Emal Nasseri An Empirical Investigation of Inheritance Trends in Java OSS Evolution A Thesis submitted for a degree of Doctor of Philosophy by Emal Nasseri Department of Information Systems, Computing and Mathematics

More information

MERGING OF OBJECT-ORIENTED PARADIGM AND THE SOFTWARE PRODUCT MEASUREMENT PROCESS: AN OVERVIEW

MERGING OF OBJECT-ORIENTED PARADIGM AND THE SOFTWARE PRODUCT MEASUREMENT PROCESS: AN OVERVIEW International Journal of Information Technology and Knowledge Management July-December 2011, Volume 4, No. 2, pp. 613-621 MERGING OF OBJECT-ORIENTED PARADIGM AND THE SOFTWARE PRODUCT MEASUREMENT PROCESS:

More information

CHAPTER 2 LITERATURE REVIEW

CHAPTER 2 LITERATURE REVIEW 26 CHAPTER 2 LITERATURE REVIEW 2.1 CLASSICAL METRICS FOR COMPLEXITY In the field of software metrics there has been research on metrics to predict fault-proneness, change-proneness, identifying refactorable

More information

UML class diagram object-oriented metrics: algorithms of calculation

UML class diagram object-oriented metrics: algorithms of calculation UML class diagram object-oriented metrics: algorithms of calculation Olga Deryugina 1, * 1 Moscow Technological University (MIREA), 119454 Moscow, Russia Abstract. The paper proposes algorithms of the

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

SOFTWARE ASSESSMENT USING OBJECT METRICS

SOFTWARE ASSESSMENT USING OBJECT METRICS Key words: object metrics, metrics measuring tools, software assessment, software evolution Ilona BLUEMKE*, Rafał ROGUSKI* SOFTWARE ASSESSMENT USING OBJECT METRICS Adequate metrics of object-oriented software

More information

Software Design & Evolution. Lecture 04. You cannot control what you cannot measure. Metrics & Problem Detection. Michele Lanza

Software Design & Evolution. Lecture 04. You cannot control what you cannot measure. Metrics & Problem Detection. Michele Lanza Software Design & Evolution Lecture 04 Michele Lanza Metrics & Problem Detection Metrics? Don t trust them Michele Lanza & Radu Marinescu Object-Oriented Metrics in Practice Using Software Metrics to Characterize,

More information

A Critical Analysis of Current OO Design Metrics

A Critical Analysis of Current OO Design Metrics A Critical Analysis of Current OO Design Metrics Tobias Mayer & Tracy Hall Centre for Systems and Software Engineering (CSSE) South Bank University, London, UK Abstract Chidamber and Kemerer (C&K) outlined

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

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

An Empirical and Analytical View of New Inheritance Metric for Object-Oriented Design

An Empirical and Analytical View of New Inheritance Metric for Object-Oriented Design vailable Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing Monthly Journal of Computer Science and Information Technology IJCSMC, Vol. 4, Issue. 6, June 2015, pg.804

More information

Analysis of Cohesion and Coupling Metrics for Object Oriented System

Analysis of Cohesion and Coupling Metrics for Object Oriented System 2016 IJSRSET Volume 2 Issue 2 Print ISSN : 2395-1990 Online ISSN : 2394-4099 Themed Section: Engineering and Technology Analysis of Cohesion and Coupling Metrics for Object Oriented System Annushri Sethi

More information

Thresholds for Software Quality Metrics in Open Source Android Projects

Thresholds for Software Quality Metrics in Open Source Android Projects Thresholds for Software Quality Metrics in Open Source Android Projects Mile Stojkovski Applied Computer Science Submission date: December 2017 Supervisor: Deepti Mishra, IDI Co-supervisor: Mariusz Nowostawski,

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

Beyond Language Independent Object-Oriented Metrics: Model Independent Metrics

Beyond Language Independent Object-Oriented Metrics: Model Independent Metrics Beyond Language Independent Object-Oriented Metrics: Model Independent Metrics Michele Lanza lanza@iam.unibe.ch Software Composition Group Universitá di Berna, Svizzera Stéphane Ducasse ducasse@iam.unibe.ch

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

Visualizing Software Metrics for increased Refactoring

Visualizing Software Metrics for increased Refactoring Visualizing Software Metrics for increased Refactoring Paul Steneram Bibby ada08pst@student.lu.se Fredrik Palmquist dat11fpa@student.lu.se March 7, 2016 Keywords: Agile Development, Code Complexity, Refactoring

More information

Analysis of Object Oriented Metrics on a Java Application

Analysis of Object Oriented Metrics on a Java Application Analysis of Object Oriented Metrics on a Java Application D.I. George Amalarethinam Associate Professor Department of Computer Science Jamal Mohamed College Tiruchirappali, India P.H. Maitheen Shahul Hameed

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

FOR0383 Software Quality Assurance

FOR0383 Software Quality Assurance This method seems much, much bigger than all the other methods. FOR0383 Software Quality Assurance Lecture 15 Code metrics "You cannot control what you cannot measure." Tom DeMarco 2/11/2009 Dr Andy Brooks

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

SHOTGUN SURGERY DESIGN FLAW DETECTION. A CASE-STUDY

SHOTGUN SURGERY DESIGN FLAW DETECTION. A CASE-STUDY STUDIA UNIV. BABEŞ BOLYAI, INFORMATICA, Volume LVIII, Number 4, 2013 SHOTGUN SURGERY DESIGN FLAW DETECTION. A CASE-STUDY CAMELIA ŞERBAN Abstract. Due to the complexity of object oriented design, its assessment

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

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

Usability Evaluation of Software Testing Based on Analytic Hierarchy Process Dandan HE1, a, Can WANG2

Usability Evaluation of Software Testing Based on Analytic Hierarchy Process Dandan HE1, a, Can WANG2 4th International Conference on Machinery, Materials and Computing Technology (ICMMCT 2016) Usability Evaluation of Software Testing Based on Analytic Hierarchy Process Dandan HE1, a, Can WANG2 1,2 Department

More information

OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis

OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis UNIT I INTRODUCTION OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis Design Implementation Testing Maintenance

More information

On the Impact of Refactoring Operations on Code Quality Metrics

On the Impact of Refactoring Operations on Code Quality Metrics On the Impact of Refactoring Operations on Code Quality Metrics Oscar Chaparro 1, Gabriele Bavota 2, Andrian Marcus 1, Massimiliano Di Penta 2 1 University of Texas at Dallas, Richardson, TX 75080, USA

More information

Class Inheritance Metrics-An Analytical and Empirical Approach

Class Inheritance Metrics-An Analytical and Empirical Approach Class Inheritance Metrics-n nalytical and Empirical pproach KUMR RJNISH 1, VNDN BHTTCHERJEE 2 1 Department of Computer Science & Engineering, Birla Institute of Technology, Ranchi-01, India kumar_rajnish_in@yahoo.com

More information

Software Metrics and Problem Detection

Software Metrics and Problem Detection Software Metrics and Problem Detection Oscar Nierstrasz Yuriy Tymchuk Selected material by Mircea Lungu Roadmap > Software Metrics Size / Complexity Metrics Quality Metrics > Metric-Based Problem Detection

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

Empirical Analysis of the Reusability of Object-Oriented Program Code in Open-Source Software

Empirical Analysis of the Reusability of Object-Oriented Program Code in Open-Source Software Empirical Analysis of the Reusability of Object-Oriented Program Code in Open-Source Software Fathi Taibi Abstract Measuring the reusability of Object-Oriented (OO) program code is important to ensure

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

Existing Model Metrics and Relations to Model Quality

Existing Model Metrics and Relations to Model Quality Existing Model Metrics and Relations to Model Quality Parastoo Mohagheghi, Vegard Dehlen WoSQ 09 ICT 1 Background In SINTEF ICT, we do research on Model-Driven Engineering and develop methods and tools:

More information

REVERSE SOFTWARE ENGINEERING AND REENGINEERING TO DETECT PLAGIARISM IN JAVA PROGRAMS

REVERSE SOFTWARE ENGINEERING AND REENGINEERING TO DETECT PLAGIARISM IN JAVA PROGRAMS REVERSE SOFTWARE ENGINEERING AND REENGINEERING TO DETECT PLAGIARISM IN JAVA PROGRAMS By Khair Eddin Muawiyah Sabri Supervisor Dr. Jubair J. Al-Ja'afer, Prof This Thesis was submitted in Partial Fulfillment

More information

International Journal of Software and Web Sciences (IJSWS) EVALUATING TESTABILITY OF OBJECT ORIENTED SYSTEM

International Journal of Software and Web Sciences (IJSWS)   EVALUATING TESTABILITY OF OBJECT ORIENTED SYSTEM 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

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

Maintainability and Agile development. Author: Mika Mäntylä

Maintainability and Agile development. Author: Mika Mäntylä Maintainability and Agile development Author: Mika Mäntylä ISO 9126 Software Quality Characteristics Are the required functions available in the software? How easy is it to

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

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

Design Quality Assessment in Practice

Design Quality Assessment in Practice Design Quality Assessment in Practice my two hats... Radu Marinescu radum@cs.upt.ro Associate Professor since 006 Co-Founder and Head since 003 http://www.intooitus.com/ Co-Founder (008) Assessment with

More information

CHAPTER 5 GENERAL OOP CONCEPTS

CHAPTER 5 GENERAL OOP CONCEPTS CHAPTER 5 GENERAL OOP CONCEPTS EVOLUTION OF SOFTWARE A PROGRAMMING LANGUAGE SHOULD SERVE 2 RELATED PURPOSES : 1. It should provide a vehicle for programmer to specify actions to be executed. 2. It should

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

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

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

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 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