Defining and Validating Measures for Object-Based High-Level Design

The availability of significant measures in the early phases of the software development life-cycle allows for better management of the later phases, and more effective quality assessment when quality can be more easily affected by preventive or corrective actions. We introduce and compare various high-level design measures for object-based software systems. The measures are derived based on an experimental goal, identifying fault-prone software parts, and several experimental hypotheses arising from the development of Ada systems for Flight Dynamics Software at the NASA Goddard Space Flight Center (NASA/GSFC). Specifically, we define a set of measures for cohesion and coupling, which satisfy a previously published set of mathematical properties that are necessary for any such measures to be valid. We then investigate the measures' relationship to fault-proneness on three large scale projects, to provide empirical support for their practical significance and usefulness.

[1]  James M. Bieman,et al.  Measuring Functional Cohesion , 1994, IEEE Trans. Software Eng..

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

[3]  H. Dieter Rombach,et al.  A Controlled Expeniment on the Impact of Software Structure on Maintainability , 1987, IEEE Transactions on Software Engineering.

[4]  Martin Hitz,et al.  Measuring coupling and cohesion in object-oriented systems , 1995 .

[5]  Juris Hartmanis,et al.  The Programming Language Ada Reference Manual American National Standards Institute, Inc. ANSI/MIL-STD-1815A-1983 , 1983, Lecture Notes in Computer Science.

[6]  Graham Beech,et al.  Software engineering with ada , 1983 .

[7]  Sallie M. Henry,et al.  Object-oriented metrics that predict maintainability , 1993, J. Syst. Softw..

[8]  Victor R. Basili,et al.  A Validation of Object-Oriented Measures , 1996 .

[9]  Lionel C. Briand,et al.  Modeling and managing risk early in software development , 1993, Proceedings of 1993 15th International Conference on Software Engineering.

[10]  Glenford J. Myers,et al.  Structured Design , 1999, IBM Syst. J..

[11]  James M. Bieman,et al.  Cohesion and reuse in an object-oriented system , 1995, SSR '95.

[12]  Eliot R. Smith,et al.  Research methods in social relations , 1962 .

[13]  H. Dieter Rombach Design measurement: some lessons learned , 1990, IEEE Software.

[14]  Sallie M. Henry,et al.  The evaluation of software systems' structure using quantitative software metrics , 1984, Softw. Pract. Exp..

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

[16]  D. C. Ince,et al.  System design metrics: a review and perspective , 1988 .

[17]  Henry Ledgard,et al.  Reference Manual for the ADA® Programming Language , 1983, Springer New York.

[18]  W. Hays Statistics for the social sciences , 1973 .

[19]  Glenford J. Myers,et al.  An extension to the cyclomatic measure of program complexity , 1977, SIGP.

[20]  Victor R. Basili,et al.  Metrics for Ada packages: an initial study , 1986, CACM.

[21]  B.W. Weide,et al.  The Effects of Layering and Encapsulation on Software Development Cost and Quality , 1995, IEEE Trans. Software Eng..

[22]  R. Cranley,et al.  Multivariate Analysis—Methods and Applications , 1985 .

[23]  Victor R. Basili,et al.  Developing Interpretable Models with Optimized Set Reduction for Identifying High-Risk Software Components , 1993, IEEE Trans. Software Eng..

[24]  Lionel C. Briand,et al.  A Unified Framework for Coupling Measurement in Object-Oriented Systems , 1999, IEEE Trans. Software Eng..

[25]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

[26]  Albert L. Baker,et al.  A mathematical perspective for software measures research , 1990, Softw. Eng. J..

[27]  Norman E. Fenton,et al.  Software Metrics: A Rigorous Approach , 1991 .

[28]  Victor R. Basili,et al.  Ada reusability and measurement , 1990 .

[29]  Lionel C. Briand,et al.  Defining and validating design coupling measures in object-oriented systems , 1996 .

[30]  Victor R. Basili,et al.  Analyzing Error-Prone System Structure , 1991, IEEE Trans. Software Eng..

[31]  Elaine J. Weyuker,et al.  Evaluating Software Complexity Measures , 2010, IEEE Trans. Software Eng..

[32]  Sandro Morasca,et al.  Goal-Driven Definition of Product Metrics Based on Properties , 1995 .

[33]  Tony Mason,et al.  Lex & Yacc , 1992 .

[34]  Sandro Morasca,et al.  Defining and validating high-level design metrics , 1994 .

[35]  Victor R. Basili,et al.  The TAME Project: Towards Improvement-Oriented Software Environments , 1988, IEEE Trans. Software Eng..

[36]  David W. Hosmer,et al.  Applied Logistic Regression , 1991 .

[37]  Sandro Morasca,et al.  A goal-driven definition process for product metrics based on properties , 1994 .

[38]  A. R. Ilersic,et al.  Research methods in social relations , 1961 .

[39]  John B. Shoven,et al.  I , Edinburgh Medical and Surgical Journal.

[40]  Sandro Morasca,et al.  Software measurement and formal methods: a case study centered on TRIO+ specifications , 1997, First IEEE International Conference on Formal Engineering Methods.

[41]  Martin Shepperd Design metrics: an empirical analysis , 1990 .

[42]  Sandro Morasca,et al.  Property-Based Software Engineering Measurement , 1996, IEEE Trans. Software Eng..

[43]  William M. Evanco,et al.  Projecting Software Defects From Analyzing Ada Designs , 1992, IEEE Trans. Software Eng..