A novel approach to formalize Object-Oriented Design Metrics

Despite the extensive and solid research literature on Object-Oriented Design Metrics (OOD Metrics), a recent survey that was conducted to assess the exploitation of metrics collection and analysis in the design phase within the software industry in Sweden [1], indicated that only 21% of the survey respondents collect metrics in the design phase. 55% of the respondents to the same survey said that they consider metrics collection as a difficult process. A major reason of the difficulty of collecting design metrics is the lack of a common syntax or a common language to express OOD metrics. This lack resulted in shortage of tools that automate collecting design metrics. Researchers who propose OOD metrics express them in plain English or as mathematical formulas. Plain English allows different interpretations for the same metric. Mathematical formulas should be based on a mathematical model, which does not exist for ObjectOriented designs. In this paper, we propose expressing metrics as XQuery expressions that targets XMI documents. XMI documents offer a standard way for representing object-oriented designs, specifically UML diagrams. Also, we present Design-Metrics Crawler, which is a software tool that applies our proposal.

[1]  Fernando Brito e Abreu,et al.  A Formal Library for Aiding Metrics Extraction , 2003 .

[2]  Serge Demeyer,et al.  The FAMOOS Object-Oriented Reengineering Handbook , 1999 .

[3]  Ralf Reissing,et al.  Towards a Model for Object-Oriented Design Measurement , 1996 .

[4]  Fernando Brito e Abreu,et al.  Evaluating the impact of object-oriented design on software quality , 1996, Proceedings of the 3rd International Software Metrics Symposium.

[5]  Arthur J. Riel,et al.  Object-Oriented Design Heuristics , 1996 .

[6]  Lionel C. Briand,et al.  Exploring the relationships between design measures and software quality in object-oriented systems , 2000, J. Syst. Softw..

[7]  Chris F. Kemerer,et al.  A Metrics Suite for Object Oriented Design , 2015, IEEE Trans. Software Eng..

[8]  W. Thomson Popular Lectures and Addresses: Contents , 1891 .

[9]  Carl G. Davis,et al.  A Hierarchical Model for Object-Oriented Design Quality Assessment , 2002, IEEE Trans. Software Eng..

[10]  Mourad Badri A New Class Cohesion Criterion : An empirical study on several systems , 2003 .

[11]  Premkumar T. Devanbu,et al.  An Investigation into Coupling Measures for C++ , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[12]  Mario Piattini,et al.  Early Measures for UML Class Diagrams , 2000, Obj. Logiciel Base données Réseaux.

[13]  Martin Gogolla,et al.  Metric-based selective representation of UML diagrams , 2002, Proceedings of the Sixth European Conference on Software Maintenance and Reengineering.

[14]  Hausi A. Müller,et al.  Predicting fault-proneness using OO metrics. An industrial case study , 2002, Proceedings of the Sixth European Conference on Software Maintenance and Reengineering.

[15]  Stéphane Ducasse,et al.  Beyond Language Independent Object-Oriented Metrics: Model Independent Metrics , 2002 .

[16]  Khaled El Emam,et al.  A Validation of Object-oriented Metrics , 1999 .

[17]  Oliver Ciupke,et al.  Exploiting Design Heuristics for Automatic Problem Detection , 1998, ECOOP Workshops.

[18]  Barry W. Boehm,et al.  Software Defect Reduction Top 10 List , 2001, Computer.

[19]  Martin Shepperd,et al.  Derivation and Validation of Software Metrics , 1993 .

[20]  Cornelia Boldyreff,et al.  Developing Software Metrics Applicable to UML Models , 2002 .

[21]  Radu Marinescu,et al.  Detecting design flaws via metrics in object-oriented systems , 2001, Proceedings 39th International Conference and Exhibition on Technology of Object-Oriented Languages and Systems. TOOLS 39.

[22]  Fernando Brito e Abreu,et al.  Object-Oriented Software Engineering: Measuring and Controlling the Development Process , 1994 .

[23]  Radu Marinescu Using Object-Oriented Metrics for Automatic Design Flaws Detection in Large Scale Systems , 1998, ECOOP Workshops.

[24]  Houari A. Sahraoui,et al.  Can metrics help to bridge the gap between the improvement of OO design quality and its automation? , 2000, Proceedings 2000 International Conference on Software Maintenance.

[25]  Fernando Brito e Abreu,et al.  An OCL-Based Formalization of the MOOSE Metric Suite , 2003 .

[26]  Steven J. DeRose,et al.  XML Path Language (XPath) Version 1.0 , 1999 .

[27]  Mario Piattini,et al.  A Prediction Model for OO Information System Quali ty Based on Ear ly Indicators , 2001 .

[28]  Mario Piattini,et al.  Empirical validation of measures for class diagram structural complexity through controlled experiments , 2001 .

[29]  James Clark,et al.  XSL Transformations (XSLT) Version 1.0 , 1999 .

[30]  David Carlson,et al.  Modeling XML Applications with UML: Practical e-Business Applications , 2001 .

[31]  Javam C. Machado,et al.  The prediction of faulty classes using object-oriented design metrics , 2001, J. Syst. Softw..

[32]  Douglas Bell Software Engineering: A Programming Approach , 1987 .

[33]  Peter In,et al.  Uml-based object-oriented metrics for architecture complexity analysis , 2003 .

[34]  William M. Evanco,et al.  Poisson analyses of defects for small software components , 1997, J. Syst. Softw..

[35]  Lionel C. Briand,et al.  The impact of design properties on development cost in object-oriented systems , 2001, Proceedings Seventh International Software Metrics Symposium.

[36]  Victor R. Basili,et al.  A Validation of Object-Oriented Design Metrics as Quality Indicators , 1996, IEEE Trans. Software Eng..