Object-Oriented (OO) estimation Martin Vigo Gabriel H. Lozano M.

Slides:



Advertisements
Similar presentations
Metrics for OO Design Distinct & measurable characteristics of OO design:- Size:-it is defined as – population,volume,length & functionality Population.
Advertisements

CLUSTERING SUPPORT FOR FAULT PREDICTION IN SOFTWARE Maria La Becca Dipartimento di Matematica e Informatica, University of Basilicata, Potenza, Italy
Software Metrics for Object Oriented Design
Presentation of the Quantitative Software Engineering (QuaSE) Lab, University of Alberta Giancarlo Succi Department of Electrical and Computer Engineering.
1 ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Case Studies Instructor Paulo Alencar.
1 Empirical Validation of Three Software Metrics Suites to Predict Fault-Proneness of Object-Oriented Classes Developed Using Highly Iterative or Agile.
1 Predicting Bugs From History Software Evolution Chapter 4: Predicting Bugs from History T. Zimmermann, N. Nagappan, A Zeller.
Prediction of fault-proneness at early phase in object-oriented development Toshihiro Kamiya †, Shinji Kusumoto † and Katsuro Inoue †‡ † Osaka University.
Figures – Chapter 24.
March 25, R. McFadyen1 Metrics Fan-in/fan-out Lines of code Cyclomatic complexity Comment percentage Length of identifiers Depth of conditional.
Nov R. McFadyen1 Metrics Fan-in/fan-out Lines of code Cyclomatic complexity* Comment percentage Length of identifiers Depth of conditional.
Page 1 Building Reliable Component-based Systems Chapter 7 - Role-Based Component Engineering Chapter 7 Role-Based Component Engineering.
Analysis of CK Metrics “Empirical Analysis of Object-Oriented Design Metrics for Predicting High and Low Severity Faults” Yuming Zhou and Hareton Leung,
Design Metrics Software Engineering Fall 2003 Aditya P. Mathur Last update: October 28, 2003.
Software engineering for real-time systems
© S. Demeyer, S. Ducasse, O. Nierstrasz Duplication.1 7. Problem Detection Metrics  Software quality  Analyzing trends Duplicated Code  Detection techniques.
Object-Oriented Metrics
Empirical Validation of OO Metrics in Two Different Iterative Software Processes Mohammad Alshayeb Information and Computer Science Department King Fahd.
March R. McFadyen1 Software Metrics Software metrics help evaluate development and testing efforts needed, understandability, maintainability.
1 Complexity metrics  measure certain aspects of the software (lines of code, # of if-statements, depth of nesting, …)  use these numbers as a criterion.
Predicting Class Testability using Object-Oriented Metrics M. Bruntink and A. van Deursen Presented by Tom Chappell.
Object Oriented Metrics XP project group – Saskia Schmitz.
Database Complexity Metrics Brad Freriks SWE6763, Spring 2011.
Comp 587 Parker Li Bobby Kolski. Automated testing tools assist software engineers to gauge the quality of software by automating the mechanical aspects.
1 NASA OSMA SAS02 Software Reliability Modeling: Traditional and Non-Parametric Dolores R. Wallace Victor Laing SRS Information Services Software Assurance.
Lecture 17 Software Metrics
Chidamber & Kemerer Suite of Metrics
INFO 631 Prof. Glenn Booker Week 4 – Testing and Object-Oriented Metrics 1INFO631 Week 4.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 Refactoring.
Object-Oriented Metrics Alex Evans Jonathan Jakse Cole Fleming Matt Keran Michael Ababio.
Japan Advanced Institute of Science and Technology
Paradigm Independent Software Complexity Metrics Dr. Zoltán Porkoláb Department of Programming Languages and Compilers Eötvös Loránd University, Faculty.
Software Measurement & Metrics
1. Software Metric- A definition 2. Types of Software metrics 3. Frame work of product metrics 4. Product metrics.
Product Metrics An overview. What are metrics? “ A quantitative measure of the degree to which a system, component, or process possesses a given attribute.”
The CK Metrics Suite. Weighted Methods Per Class b To use this metric, the software engineer must repeat this process n times, where n is the number of.
1 OO Metrics-Sept2001 Principal Components of Orthogonal Object-Oriented Metrics Victor Laing SRS Information Services Software Assurance Technology Center.
The CK Metrics Suite. Weighted Methods Per Class b To use this metric, the software engineer must repeat this process n times, where n is the number of.
A Validation of Object-Oriented Design Metrics As Quality Indicators Basili et al. IEEE TSE Vol. 22, No. 10, Oct. 96.
Concepts of Software Quality Yonglei Tao 1. Software Quality Attributes  Reliability  correctness, completeness, consistency, robustness  Testability.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 Metrics and lessons learned for OO projects Kan Ch 12 Steve Chenoweth, RHIT Above – New chapter, same Halstead. He also predicted various other project.
An Automatic Software Quality Measurement System.
Research Heaven, West Virginia FY2003 Initiative: Hany Ammar, Mark Shereshevsky, Walid AbdelMoez, Rajesh Gunnalan, and Ahmad Hassan LANE Department of.
CSc 461/561 Information Systems Engineering Lecture 5 – Software Metrics.
Measurement and quality assessment Framework for product metrics – Measure, measurement, and metrics – Formulation, collection, analysis, interpretation,
Daniel Liu & Yigal Darsa - Presentation Early Estimation of Software Quality Using In-Process Testing Metrics: A Controlled Case Study Presenters: Yigal.
Ontology Support for Abstraction Layer Modularization Hyun Cho, Jeff Gray Department of Computer Science University of Alabama
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Object Oriented Metrics
Software Engineering Lecture 19: Object-Oriented Testing & Technical Metrics.
1 OO Technical Metrics CIS 375 Bruce R. Maxim UM-Dearborn.
Software Engineering Object Oriented Metrics. Objectives 1.To describe the distinguishing characteristics of Object-Oriented Metrics. 2.To introduce metrics.
1 740f02classsize18 The Confounding Effect of Class Size on the Validity of Object- Oriented Metrics Khaled El Eman, etal IEEE TOSE July 01.
CS223: Software Engineering Lecture 21: Unit Testing Metric.
Design Metrics CS 406 Software Engineering I Fall 2001 Aditya P. Mathur Last update: October 23, 2001.
A Hierarchical Model for Object-Oriented Design Quality Assessment
Software Metrics 1.
Course Notes Set 12: Object-Oriented Metrics
Design Characteristics and Metrics
Towards a Multi-paradigm Complexity Measure
Object-Oriented Metrics
Design Metrics Software Engineering Fall 2003
Design Metrics Software Engineering Fall 2003
Information flow-Test coverage measure
Mei-Huei Tang October 25, 2000 Computer Science Department SUNY Albany
Predicting Fault-Prone Modules Based on Metrics Transitions
Software Metrics SAD ::: Fall 2015 Sabbir Muhammad Saleh.
Software Metrics using EiffelStudio
Chapter 8: Design: Characteristics and Metrics
Presentation transcript:

Object-Oriented (OO) estimation Martin Vigo Gabriel H. Lozano M.

General Estimation process Independent variable x Process estimation f(x)

What is special in OO? estimation? Artifacts (different metrics, OO metrics). Relations found.

”...metrics which reflect the specifities of the OO paradigm must be defined and validated in order to be used in industry. Some studies have concluded that “traditional” product metrics are not sufficient for characterizing, assessing, and predicting the quality of OO software systems”.[2]

What we did? Look some OO estimation researches. Focus on: the metrics used (OO metrics). The independent variables and the life cycle associated. The dependent variable(s) and the relation with the independent var. Not focus in the “relation discover process”.

What we did? (cont...) Not focused on the f(x) discover process.

OO software metrics

OO metrics sources [5] is a very well-known source of theoretically-grounded (base on the ontology of Bunge[7][8][9]) OO design metrics. Different kind of researches.

External complexity of a class (EC) Where n is the number of associations of the class, Ai is each association of the class, and AC(A) is

Internal complexity of a class (IC) where n is the number of methods of the class, Mi is each method, and MC(M) is

Weighted Methods per Class (WMC) If all method complexities are to be considered to be unity, then WMC = n, the number of methods. (this is the definition of NoM in [1])

Depth of the inheritance tree (DIT) Maximum length of the path from the class to the root of the inheritance tree. dit = 1 dit = 2 dit = 3

Coupling between object classes (CBO) is a count of the number of other classes to which it is coupled. CBO = 0CBO = 1CBO = 2

Response for a class (RFC) The Response set of a class is a set of methods that can potentially be executed in response to a message received by an object of that class.

Lack of cohesion (LCOM) is a count of the number of method pairs whose similarity is 0 minus the count of method pairs whose similarity is not zero. the similarity is given by:

Others self-defined Number of children of a class (NoC). Number of Attributes of a class (NoA).

Researches reviewed Early estimation of software size in object- oriented environments a case study in a CMM level 3 software firm[1]. A validation of Object-Oriented Design Metrics as Quality Indicators [2]. Predicting Maintainability with Object-Oriented Metrics. An Empirical Comparison[4]

Early estimation of software size in object- oriented environments a case study in a CMM level 3 software firm

Purpose To study if any property of analysis objects can be used to infer the size of the final code in an OO environment.

Independent variables From the analysis objects they took: External complexity of a class (ECC). Internal complexity of a class (ICC). Depth of the inheritance tree of a class (DIT). Number of methods of a class (NoM). Number of children of a class (NoC). Number of attributes of a class (NoA).

Input data for the analysis 2 different projects at a european software firm at level 3 of CMM. Telecommunications domain. It has a defined OO software development process. C++.

Method for obtaining the f(x) Parametric correlation between the analysis metrics and LOC. Identification of a linear parametric model. Study the possibility of extending the model. More info see [1].

Final results The number of analysis methods well correlated with software size (r > o.77). Inferential statistics guarantee that the results are applicable outside. Two proposed linear models:

A validation of Object-Oriented Design Metrics as Quality Indicators [2]

Purpose Build a predictive model of fault-prone classes. make inspections of design or code artifacts more efficient. Testing big systems cost prohibitive.

Hypothesis H-WMC. H-DIT. H-NOC. H-CBO. H-RFC. H-LCOM.

The process Empirical study over 4 months. Students of an upper division undergraduate/graduate level course of University of Maryland. Dev. environment and technology used WAS representative of what WAS currently used. C++.

Data collection source code C++. data about these programs. data about errors found during testing phase. the repaired source code delivered at the end of the life cycle.

Distributions of the metrics of the 180 classes in the studied systems.

Method for obtaining the f(x) The response variable they used to validate the OO design metrics is binary (was a fault detected during test?) Logistic regression was used. More info see [2].

Final results H-WMC Yes. H-DIT Yes. H-RFC Yes. H-NOC NO!! -> L-NOC Yes!! Good design?. LCOM insignificant. CBO significant and more particularly for UI classes.

Validation of the estimation Classes with most faults are detected. 80/180 inspected. 48/58 faulty classes would be identified. 250/268 faults detected.

Comparison with usual code metrics 112/180 inspected. 51/58 faulty classes would be identified. 231/268 faults detected. +3 faulty classes, -32 more classes inspected. 250 vs. 231 faults detected.

References [1] M. Ronchetti, G. Succi, W. Pedrycz, B. Russo, Early estimation of software size in object-oriented environments a case study in a CMM level 3 software firm (2004). [2] V.R. Basili, L.C. Briand, W.L.Melo, A validation of object-oriented design metrics as quality indicators, (1996) [7] M. Bunge, Treatise on Basic Philosophy: Ontology I: The furniture of the world (1997). [8] M. Bunge, Treatise on Basic Philosophy: Ontology II: The World of Systems (1979). [9] Y.Wand and R.Weber, "An ontological evaluation of systems analysis and design methods," (1989).