CHAPTER 4 OBJECT ORIENTED COMPLEXITY METRICS MODEL

Size: px
Start display at page:

Download "CHAPTER 4 OBJECT ORIENTED COMPLEXITY METRICS MODEL"

Transcription

1 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. Maintainers assess the current product to make a decision on what should be upgraded and improved.measurement of programs in software organizations are of an important source of control over quality, time and cost in the software development effort. Apart from system size, complexity has been an important factor to be considered in software quality. Complexity has direct impact on design, code, understandability, and maintenance of software. In object oriented paradigm, the structural design properties such as number of classes, size of the class, reuse level, play a vital role in estimating complexity. Hence, it is necessary to provide a complexity metric model to ensure the software quality Object Oriented Metrics for Software Complexity Estimates The reliability and quality management models tend to treat the software more or less as a black box. They are based on either external behavior of the product or the intermediate process data with out looking into the internal dynamics of design and code of the software.

2 65 If metrics analysis is made at the program module they tend to take an internal view and can provide clues for software engineers to improve the quality. Controlling and measuring complexity is a challenging engineering, managerial and research problem. Metrics have been created for measuring various aspects of complexity such as size, control flow, data structures and inter module structure. There are four types of complexities namely, problem complexity, algorithmic complexity structural complexity and cognitive complexity. This work focuses mainly on algorithmic and structural complexity that are obtained by analyzing the program Cyclomatic Complexity Cyclomatic complexity measures the number of linearly independent paths present in a program module. This measure provides a single ordinal number that can be compared to the complexity of other programs (McCabe 1976). This is also known as program complexity. It is intended to be independent of language. There are number of complexity measures that have been proposed by various researchers. The most prominent among them are cyclomatic complexity, Halstead's complexity and other similar complexity measures (Halstaled 1977; McCabe 1976). Cyclomatic complexity has been suggested by McCabe (1976) to improve the quality of design and structural complexity of a system. This is calculated from the connected graph of the module using the formula. CC = E-N+2 (4.1)

3 66 where CC - Cyclomatic complexity E - number of edges of the graph N - number of nodes in the graph. The Cyclomatic complexity, V (G) for a flow graph, G, is also defined as V (G) = P+I: where I f is the number of predicate nodes in the flow graph. One of the design guidelines states that the Cyclomatic Complexity must not exceed 10, because a low Cyclomatic complexity contributes to higher program understandability and indicates that it is amenable to modification at lower risk than a more complex program. Moreover a module's Cyclomatic Complexity is an indicator of its testability. A common application of Cyclomatic complexity is to compare it against a set of threshold values. One such threshold set is shown in Table 4.1 which helps in software design. Table 4.1 Threshold for Cyclomatic Complexity CC Risk evaluation 1-10 A simple program without much risk More complex and moderate risk Complex high risk program Greater than 50 Unstable program (very high risk) Halstead Complexity Measure Halstead's complexity measurement (Halstead 1977) was developed to measure a program module's complexity from source code, with an emphasis on computational complexity. These are applied to code and most often used

4 67 as a maintenance metric. The Halstead measures are based on four scalar numbers nl, n2, Nl, and N2 that are derived directly from the program source code, where nl - the number of distinct operators n2 - the number of distinct operands Nl - total number of operators N2 - total number of operands From these numbers, five measures have been derived and termed as Halstead complexity measures, as a shown in Table 4.2 Table 4.2 Halstead's Complexity Measures Measure Symbol Formula Program Length N N = N,+N 2 Program Vocabulary n n = n i +n 2 Volume V V = Nx(log 2 n) Difficulty D D = (n,/2)x(n 2 /n 2 ) Effort E E = DxV The extraction of the component numbers from code requires a language sensitive scanner, which is reasonably simple program for most languages. These measures are applicable to operational systems and to development efforts, once the code has been written. Because maintainability should be a concern during development, the Halstead measures should be considered for use during code development to follow complexity trends. A significant increase in complexity measure found during testing is a sign of a high-risk module.

5 Other measures of complexity The measures of complexity other than Cyclomatic Complexity and Halstead complexity measure are given in Table 4.3. Table 4.3 Measures of complexity Complexity Measurement Henry and Kafura metrics Bowles metrics Troy and Zweben metrics Ligier metrics Primary Measure Of Coupling between modules Module and system complexity, coupling via parameters and global variables Modularity or coupling, complexity of structure, calls to and called by Modularity of structure chart In this work, the over all complexity of object-oriented program is quantified. Moreover, the impact of reuse on an Object oriented system and the relationships between various structural metrics of the system have been considered in this research work. The study of the class complexity and its impact in estimating over all complexity of OO software is also explored. 4.2 COMPLEXITY METRICS BASED ON CLASS STRUCTURAL CHARACTERISTICS The proposed design methodology for the complexity metrics based on class structural complexity is obtained using the procedure given below.

6 69 Step 1: Input a OO system (C++ program) and measure the design properties of OO systems such as lines of code number of classes, number of methods in a class, Depth of inheritance etc. Step 2: Device the complexity measures from the available measures with an emphasize on classes. Step 3: Study the impact of reuse in complexity of OO systems with the experiment. Step 4: Analyze the metric. Considering the size as a parameter to be estimated in OO, the number of attributes per class and the number of methods per class are considered. Finally, the class size is measured using the relation. Class size SC = NOA + NOM. (4.2) where NOA is the number of attributes and NOM is the number of methods. Step 5: Apply weights to the methods and replace their number NOM by their total method size (TMS) to get the Weighted Size of the Class (SCW) using the relation. SCW = NOA + TMS (4.3) where NOA - number of attributes. NOM - number of methods,

7 70 and TMS - Total Method Size From experiments we found that wherever the value of SCW increases, the complexity of the software increases. Hence, it is necessary to reduce the value SCW in order to provide a good design. 4.3 ANALYSIS AND RESULTS The objective of this work is to empirically investigate the relationships between the structural properties, Reuse level of OO systems and complexity of OO systems. The metrics data were collected from various C++ programs and they were analyzed with the help of graphs to bring out conclusions. The experiments were carried out with C++ programs.the programs were selected from utility programs of windows operating system. Moreover, the programs were taken in such a way that the size varies from smaller size to larger size. The metrics data have been collected through automation programs written in C language. It is observed that the class plays an important role in OO systems. But at the same time to estimate the over all complexity merely class characteristics are not enough. In this section, we provided a number graphs to depict the results. From the graphs shown in Figures 4.2 and 4.3, it is observed that there is a proportional relationship between the number of class and total lines of code of OO programs. Moreover, by considering the physical code coverage by the classes the overall complexity of OO programs can be estimated as Weighted Complexity Measure (WCM). This procedure is as follows.

8 71 Let X = percent or code covered by class out of total size of OO program. Now, we compute the value of WCM using the formula WCM = X*sum of classes complexities + (10-X)* sum of code complexities. This does not take into account the conceptual value of the class part because conceptual value is a subjective measure and is not an objective one. The average DIT shows the average depth of inheritance, Reuse ratio shows the level of reuse of classes with in a program and the Specialization ratio is an indicator for the level of abstraction achieved with in a program. These metrics have an impact on complexity of OO systems. This can be determined at the design level itself. Threshold values for these metrics provide a way to control complexity, error rate, and maintenance of OO programs. More empirical studies help in estimating valid threshold values for these metrics. It is observed that class size in LOC and class size in NOA+NOM does not show proportional relationship. But LOC is considered as a vital indicator of size and effort for any program in-spite of many criticisms. Empirical observations show that the threshold of NOM is a good measure for controlling error-rate complexity and also increasing understandability. The metrics Data Collected from various C++ programs are shown in Tables 4.4 and 4.5.

9 72 Table 4.4 Metrics data - Project 1 Average Class Serial Lines of Code Number of Average Class Size (in Number (LOC) Classes Size (in LOC) NOA+NOM)

10 73 Table 4.5 Metrics data - Project 2 Number of Serial Number of Specialization Super Reuse ratio Number Sub-Classes ratio Classes Using these values, graphs have been plotted and are shown in Figures 4.2, 4.3 and 4.4.

11 NOC LOC Programs 0 Figure 4.2 Lines of Code (LOC) and Number of Classes (NOC) No of Classes TCS Programs Size Total Class Figure 4.3 Lines of Code (LOC) and Total Class Size in LOC (TCS)

12 ACS in LOC ACS in NOA + NOM Programes Figure 4.4 Average Class Size in LOC and Average Class Size in NOA + NOM Reuse ratio Reuse ratio Programs Figure 4.5 Reuse ratio for C++ Programs

13 CONCLUSION are: The conceptual conclusions derived from the empirical observations From the Figures 4.2 and 4.3 we infer that there is a proportional relationship between NOC (number of classes) and total LOC (lines of code) of OO programs. Class plays a dominant in OO systems. However, when the overall complexity is estimated, merely class characteristics are not enough. Considering physical code coverage by the classes the overall complexity of the OO program may be estimated as Weighted Complexity Measure (WCM) which provides an optimal design guideline for providing methods in classes. Average DIT shows average depth of inheritance and Reuse ratio shows the level of reuse of classes within a program. Specialization ratio is an indicator for the level of abstraction achieved within a program. These metrics have an impact on the complexity of OO systems. From graph 4.4 it is seen that the class size in LOC and class size in NOA+NOM does not show proportional relationship. The empirical results shows that, threshold for NOM, is a good measure for controlling error rate, complexity and also in increasing understandability. Hence, in this research work, we consider LOC as a base to estimate the complexity of OO programs and then apply the new OO metrics proposed in this thesis for improving the design.

Software complexity Methodologies Comparisons. Paper Reference Number: 6 Name of the Presenter: masoud rafighi

Software complexity Methodologies Comparisons. Paper Reference Number: 6 Name of the Presenter: masoud rafighi 1 Software complexity Methodologies Comparisons Masoud Rafighi 1, Nasser Modiri 2 1 Taali, Qom, Iran; 2 Zanjan Azad University, Zanjan, Iran; Paper Reference Number: 6 Name of the Presenter: masoud rafighi

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

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

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

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

Software Metrics. Lines of Code

Software Metrics. Lines of Code Software Metrics Naveed Arshad Lines of Code The total number of lines of executable code in the software program or module being measured But lines of code could mean anything e.g. count only executable

More information

Comparing Software Abstractions Baby Steps. Michael Hansen Lab Lunch Talk 2011

Comparing Software Abstractions Baby Steps. Michael Hansen Lab Lunch Talk 2011 Comparing Software Abstractions Baby Steps Michael Hansen Lab Lunch Talk 2011 Comparing Abstractions Need objective comparison method Libraries (OpenGL vs. Direct3D) Language constructs ( -expressions,

More information

Anale. Seria Informatică. Vol. XVI fasc Annals. Computer Science Series. 16 th Tome 1 st Fasc. 2018

Anale. Seria Informatică. Vol. XVI fasc Annals. Computer Science Series. 16 th Tome 1 st Fasc. 2018 Anale. Seria Informatică. Vol. XVI fasc. Annals. Computer Science Series. th Tome st Fasc. PERFORMANCE EVALUATION OF IMPROVED COGNITIVE COMPLEXITY METRIC AND OTHER CODE BASED COMPLEXITY METRICS Esther

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

Software Metrics and Design Principles. What is Design?

Software Metrics and Design Principles. What is Design? Software Metrics and Design Principles Chapters 5,8 What is Design? Design is the process of creating a plan or blueprint to follow during actual construction Design is a problem-solving activity that

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

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

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

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

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

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

ClearSQL Code Metrics Inside

ClearSQL Code Metrics Inside THE CODE METRICS FEATURE DETERMINES THE COMPLEXITY OF CODE AND HIGH- LIGHTS COMPLEX AND HARD TO MAINTAIN CODE BY FLAGGED METRICS. IT IDENTI- FIES POTENTIAL PROBLEM AREAS BASED ON COMPLEXITY, SIZE AND MODULARITY.

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

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

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

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

Exploring Efficient Ways of Distributing Code Quality Metrics in Cloud

Exploring Efficient Ways of Distributing Code Quality Metrics in Cloud Exploring Efficient Ways of Distributing Code Quality Metrics in Cloud by Dibangku Baruah, B.Sc. Dissertation Presented to the University of Dublin, Trinity College in fulfillment of the requirements for

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

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

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

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

Analysis of software architecture quality metrics

Analysis of software architecture quality metrics Analysis of software architecture quality metrics Hongyu Chen hongyu.chen@rwthaachen.de 23.04.2014 Motivation Goals elated work Approaches Evaluation Conclusion Motivation Motivation A good software architecture

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

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

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

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

Maintainability Index Variation Among PHP, Java, and Python Open Source Projects

Maintainability Index Variation Among PHP, Java, and Python Open Source Projects Maintainability Index Variation Among PHP, Java, and Python Open Source Projects Celia Chen 1, Lin Shi 2, Kamonphop Srisopha 1 1 Computer Science Department, USC 2 Laboratory for Internet Software Technologies,

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

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

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

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

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

Kostis Kapelonis Athens Greece, March 2010

Kostis Kapelonis Athens Greece, March 2010 Quality Metrics: GTE, CAP and CKJM Kostis Kapelonis Athens Greece, March 2010 Menu More Quality metrics: Google Testability Explorer (Starter) Code Analysis Plugin (Main Course) CKJM metrics (Dessert)

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

A New Weighted Composite Complexity Measure for Object-Oriented Systems

A New Weighted Composite Complexity Measure for Object-Oriented Systems A New Weighted Composite Complexity Measure for Obect-Oriented Systems Usha Chhillar, Shuchita Bhasin Department of Computer Science, Kurukshetra University, Kurukshetra, Haryana, India ABSTRACT Controlling

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

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

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

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

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

Er. Himanshi Vashisht, Sanjay Bharadwaj, Sushma Sharma

Er. Himanshi Vashisht, Sanjay Bharadwaj, Sushma Sharma International Journal Scientific Research in Computer Science, Engineering and Information Technology 2018 IJSRCSEIT Volume 3 Issue 8 ISSN : 2456-3307 DOI : https://doi.org/10.32628/cseit183833 Impact

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

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 Framework for Improving the Concept of Cyclomatic Complexity in Object-Oriented Programming

A Framework for Improving the Concept of Cyclomatic Complexity in Object-Oriented Programming A Framework for Improving the Concept of Cyclomatic Complexity in Object-Oriented Programming Thesis submitted in partial fulfillment of the requirements for the award of degree of Master of Engineering

More information

Agenda. Introduce new members 5 minutes. CISQ status 5 minutes. AEFP work 45 minutes. Assignments and adjourn 5 minutes

Agenda. Introduce new members 5 minutes. CISQ status 5 minutes. AEFP work 45 minutes. Assignments and adjourn 5 minutes AEFP Meeting #4 1 2 Agenda Introduce new members 5 minutes CISQ status 5 minutes AEFP work 45 minutes Assignments and adjourn 5 minutes Status CISQ Quality Characteristic Measures: Reliability, Performance

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

ARiSA First Contact Analysis

ARiSA First Contact Analysis ARiSA First Contact Analysis Applied Research In System Analysis - ARiSA You cannot control what you cannot measure Tom DeMarco Software Grail Version 1.3 Programming Language Java 1.4 Date 2 nd of December,

More information

ACM / /0262 $

ACM / /0262 $ USlNG A COMPETITIVE LEARNING NEURAL NETWORK TO EVALUATE SOFTWARE COMPLEXITY John W. Sheppard William R. Simpson ARINC Research Corporation ABSTRACT With recent advances in neural networks, an increasing

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

Measuring Complexity

Measuring Complexity Measuring Complexity outline why should we measure the complexity of a software system? what might we want to measure? complexity of the source code within a code module between code modules complexity

More information

A METRICS-BASED FRAMEWORK FOR MEASURING THE REUSABILITY OF OBJECT- ORIENTED SOFTWARE COMPONENTS SAMMY OLIVE NYASENTE

A METRICS-BASED FRAMEWORK FOR MEASURING THE REUSABILITY OF OBJECT- ORIENTED SOFTWARE COMPONENTS SAMMY OLIVE NYASENTE A METRICS-BASED FRAMEWORK FOR MEASURING THE REUSABILITY OF OBJECT- ORIENTED SOFTWARE COMPONENTS SAMMY OLIVE NYASENTE MASTER OF SCIENCE (Computer Systems) JOMO KENYATTA UNIVERSITY OF AGRICULTURE AND TECHNOLOGY

More information

What are Metrics?! Functions, that assign a precise numerical value to. Detecting Design Problems using Metrics

What are Metrics?! Functions, that assign a precise numerical value to. Detecting Design Problems using Metrics Detecting Design Problems using Metrics What are Metrics?! Functions, that assign a precise numerical value to! Products (Software)! Resources (Staff, Tools, Hardware)! Processes (Software development).

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

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

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

Measurement. Joseph Spring. Based on Software Metrics by Fenton and Pfleeger

Measurement. Joseph Spring. Based on Software Metrics by Fenton and Pfleeger Measurement Joseph Spring Based on Software Metrics by Fenton and Pfleeger Discussion Measurement Direct and Indirect Measurement Measurements met so far Measurement Scales and Types of Scale Measurement

More information

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS SOFTWARE ENGINEERING

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS SOFTWARE ENGINEERING DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS 6403 - SOFTWARE ENGINEERING QUESTION BANK TWO MARKS UNIT I SOFTWARE PROCESS AND PROJECT MANAGEMENT 1. What is software engineering? Software engineering

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

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

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

Introduction to Software Engineering

Introduction to Software Engineering Introduction to Software Engineering (CS350) Lecture 17 Jongmoon Baik Testing Conventional Applications 2 Testability Operability it operates cleanly Observability the results of each test case are readily

More information

THE ADHERENCE OF OPEN SOURCE JAVA PROGRAMMERS TO STANDARD CODING PRACTICES

THE ADHERENCE OF OPEN SOURCE JAVA PROGRAMMERS TO STANDARD CODING PRACTICES THE ADHERENCE OF OPEN SOURCE JAVA PROGRAMMERS TO STANDARD CODING PRACTICES Mahmoud O. Elish Department of Computer Science George Mason University Fairfax VA 223-44 USA melish@gmu.edu ABSTRACT The use

More information

By: Eng. Mohammed T. Abo Alroos

By: Eng. Mohammed T. Abo Alroos By: Eng. Mohammed T. Abo Alroos Use Case Points The formula for calculating UCP is composed of three variables: 1. Unadjusted Use Case Points (UUCP), which measures the complexity of the functional requirements

More information

Towards a Unified Source Code Measurement Framework Supporting Multiple Programming Languages

Towards a Unified Source Code Measurement Framework Supporting Multiple Programming Languages Towards a Unified Source Code Measurement Framework Supporting Multiple Programming Languages Reisha Humaira, Kazunori Sakamoto, Akira Ohashi, Hironori Washizaki, Yoshiaki Fukazawa Dept. Computer Science

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

Evolutionary Decision Trees and Software Metrics for Module Defects Identification

Evolutionary Decision Trees and Software Metrics for Module Defects Identification World Academy of Science, Engineering and Technology 38 008 Evolutionary Decision Trees and Software Metrics for Module Defects Identification Monica Chiş Abstract Software metric is a measure of some

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

MEASURE YOUR CODE USING CODE METRICS. CS 599 Software Metrics and Models Hana Alarifi

MEASURE YOUR CODE USING CODE METRICS. CS 599 Software Metrics and Models Hana Alarifi MEASURE YOUR CODE USING CODE METRICS CS 599 Software Metrics and Models Hana Alarifi Overview Quality code is the top priority for a good developer. The code must be not only bug free code but also understandable,

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

Introduction to Object Oriented Analysis and Design

Introduction to Object Oriented Analysis and Design A class note on Introduction to Object Oriented Analysis and Design Definition In general, analysis emphasizes an investigation of the problem and requirements of the domain, rather than a solution. Whereas,

More information

The influence of cyclomatic complexity distribution on the understandability of xtuml models

The influence of cyclomatic complexity distribution on the understandability of xtuml models Noname manuscript No. (will be inserted by the editor) The influence of cyclomatic complexity distribution on the understandability of xtuml models Nenad Ukić Josip Maras Ljiljana Šerić Received: date

More information

2015, IJARCSSE All Rights Reserved Page 31

2015, IJARCSSE All Rights Reserved Page 31 Volume 5, Issue 7, July 2015 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Procedural Cognitive

More information

Comparison of Software Complexity Metrics

Comparison of Software Complexity Metrics International Journal of Computing and Network Technology ISSN (-) Int. J. Com. Net. Tech., No. 1 (Jan.-0) Comparison of Software Complexity Metrics Ali Athar Khan, Amjad Mahmood, Sajeda M. Amralla and

More information

METRIC ATTITUDE PLUG-IN FOR ECLIPSE USER GUIDE

METRIC ATTITUDE PLUG-IN FOR ECLIPSE USER GUIDE METRIC ATTITUDE PLUG-IN FOR ECLIPSE USER GUIDE Metric Attitude Pag. 0 CONTENTS CONTENTS... 1 INTRODUCTION... 2 ECLIPSE... 2 1. INSTALLING ECLIPS FOR WINDOWS SYSTEM... 3 2. INSTALLING METRIC ATTITUDE...

More information

Feasibility of Testing to Code. Feasibility of Testing to Code. Feasibility of Testing to Code. Feasibility of Testing to Code (contd)

Feasibility of Testing to Code. Feasibility of Testing to Code. Feasibility of Testing to Code. Feasibility of Testing to Code (contd) Feasibility of Testing to Code (contd) Feasibility of Testing to Code (contd) An incorrect code fragment for determining if three integers are equal, together with two test cases Flowchart has over 10

More information

Methodologies of Software Complexity Evaluation for Software written by Object Oriented Languages

Methodologies of Software Complexity Evaluation for Software written by Object Oriented Languages Methodologies of Software Complexity Evaluation for Software written by Object Oriented Languages Yas A. Alsultanny College of Graduate Studies Arabian Gulf University, Kingdom of Bahrain 1 Introduction

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

The Downsides of Software Refactoring

The Downsides of Software Refactoring Journal of Computer Science and Information Technology June 2015, Vol. 3, No. 1, pp. 01-13 ISSN: 2334-2366 (Print), 2334-2374 (Online) Copyright The Author(s). All Rights Reserved. Published by American

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

VETRI VINAYAHA COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

VETRI VINAYAHA COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING VETRI VINAYAHA COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS6403 SOFTWARE ENGINEERING II year/ IV sem CSE (Regulation 2013) UNIT 1- SOFTWARE PROCESS AND PROJECT

More information

Frama-C s metrics plug-in

Frama-C s metrics plug-in Metrics Frama-C s metrics plug-in Magnesium-20151002 Richard Bonichon & Boris Yakobowski CEA LIST, Software Reliability Laboratory, Saclay, F-91191 2011 2013 CEA LIST CONTENTS Contents 1 Quick overview

More information

UNIT 1-SOFTWARE PROCESS AND PROJECT MANAGEMENT

UNIT 1-SOFTWARE PROCESS AND PROJECT MANAGEMENT PART A (2 MARKS) UNIT 1-SOFTWARE PROCESS AND PROJECT MANAGEMENT 1. What is software engineering? Software engineering is a discipline in which theories, methods and tools are applied to develop professional

More information

A TAXONOMY OF MODULAR GRIME IN DESIGN PATTERNS. Travis Steven Schanz. A thesis submitted in partial fulfillment of the requirements for the degree

A TAXONOMY OF MODULAR GRIME IN DESIGN PATTERNS. Travis Steven Schanz. A thesis submitted in partial fulfillment of the requirements for the degree A TAXONOMY OF MODULAR GRIME IN DESIGN PATTERNS by Travis Steven Schanz A thesis submitted in partial fulfillment of the requirements for the degree of Master of Science in Computer Science MONTANA STATE

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

Systems Analysis and Design in a Changing World, Fourth Edition

Systems Analysis and Design in a Changing World, Fourth Edition Systems Analysis and Design in a Changing World, Fourth Edition Systems Analysis and Design in a Changing World, 4th Edition Learning Objectives Explain the purpose and various phases of the systems development

More information

Static Code Analysis of Functional Descriptions in SystemC

Static Code Analysis of Functional Descriptions in SystemC Static Code Analysis of Functional Descriptions in SystemC M. Holzer and M. Rupp Vienna University of Technology Institute for Communications and RF Engineering Gusshausstr. 25/389, 1040 Vienna, Austria

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

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

Software Testing Fundamentals. Software Testing Techniques. Information Flow in Testing. Testing Objectives

Software Testing Fundamentals. Software Testing Techniques. Information Flow in Testing. Testing Objectives Software Testing Fundamentals Software Testing Techniques Peter Lo Software Testing is a critical element of software quality assurance and represents the ultimate review of specification, design and coding.

More information

Basel Dudin

Basel Dudin Measuring Internal Product Attributes: Size Basel Dudin dudinbk@mcmaster.ca Outline Aspects of Software Size Length (LOC) Lines of Code Halstead s Theory Functionality Unadjusted Function Point Count (UFC)

More information

A Suite of Object Oriented Cognitive Complexity Metrics

A Suite of Object Oriented Cognitive Complexity Metrics Received November 29, 2017, accepted December 27, 2017, date of publication January 10, 2018, date of current version March 13, 2018. Digital Object Identifier 10.1109/ACCESS.2018.2791344 A Suite of Object

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

THEORETICAL APPROACHES IN SOFTWARE COMPLEXITY METRICS. 5. C. Chiemeke & A. O. Oladipupo

THEORETICAL APPROACHES IN SOFTWARE COMPLEXITY METRICS. 5. C. Chiemeke & A. O. Oladipupo THEORETICAL APPROACHES IN SOFTWARE COMPLEXITY METRICS Abstract 5. C. Chiemeke & A. O. Oladipupo This paper presented a review of some of the theoretical issues involved in software complexity metrics.

More information

Measuring Maintainability of DPRA Models: A Pragmatic Approach

Measuring Maintainability of DPRA Models: A Pragmatic Approach Measuring Maintainability of DPRA Models: A Pragmatic Approach Irina Rychkova 1, Fabrice Boissier 1, Hassane Chraibi 2, and Valentin Rychkov 2 1 Université Paris 1 Panthéon-Sorbonne, 12, Place du Panthéon,

More information

Industrial Approach: Obfuscating Transformations

Industrial Approach: Obfuscating Transformations Industrial Approach: Obfuscating Transformations Yury Lifshits Steklov Institute of Mathematics, St.Petersburg, Russia yura@logic.pdmi.ras.ru Tartu University 17/03/2006 Yury Lifshits (Steklov Inst. of

More information