Empirical Studies of Object-Oriented Artifacts, Methods, and Processes: State of the Art and Future Directions

Object-Oriented technologies are becoming pervasive in many software development organizations. However, many methods, processes, tools, or notations are being used without thorough evaluation. Empirical studies aim at investigating the performance of such technologies and the quality of the resulting object-oriented (OO) software products. In other words, the goal is to provide a scientific foundation to the engineering of OO software. This paper summarizes the results of a working group at the Empirical Studies of Software Development and Evolution (ESSDE) workshop in Los Angeles in May 1999. The authors of this paper took part in the working group and have all been involved with various aspects of empirical studies of OO software development. We therefore hope to achieve a good coverage of the current state of the art. We provide an overview of the existing research and results, future research directions, and important issues regarding the methodology of conducting empirical studies. In Section 2, we cover existing empirical studies and we relate them to the claims usually associated with OO development technologies. Section 3 describes in depth what we believe are important directions for research and, more concretely, precise research questions. Section 4 identifies what we think are important methodological points and strategies to answer these questions.

[1]  Robert V. Binder,et al.  Design for testability in object-oriented systems , 1994, CACM.

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

[3]  Lionel C. Briand,et al.  A Controlled Experiment for Evaluating Quality Guidelines on the Maintainability of Object-Oriented Designs , 2001, IEEE Trans. Software Eng..

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

[5]  Grady Booch,et al.  Object-Oriented Analysis and Design with Applications , 1990 .

[6]  James M. Bieman,et al.  Measuring Design-Level Cohesion , 1998, IEEE Trans. Software Eng..

[7]  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.

[8]  Walcélio L. Melo,et al.  Polymorphism measures for early risk prediction , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

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

[10]  Chris Dollin,et al.  Object-oriented development: the fusion method , 1994 .

[11]  Norman E. Fenton,et al.  Measurement : A Necessary Scientific Basis , 2004 .

[12]  Shari Lawrence Pfleeger,et al.  Experimental design and analysis in software engineering , 1995, Ann. Softw. Eng..

[13]  Hélène Waeselynck,et al.  Towards a statistical approach to testing object-oriented programs , 1997, Proceedings of IEEE 27th International Symposium on Fault Tolerant Computing.

[14]  R BasiliVictor,et al.  A Validation of Object-Oriented Design Metrics as Quality Indicators , 1996 .

[15]  Grady Booch,et al.  Object-oriented analysis and design with applications (2nd ed.) , 1993 .

[16]  KungDavid,et al.  Developing an object-oriented software testing and maintenance environment , 1995 .

[17]  Sandro Morasca,et al.  On the application of measurement theory in software engineering , 2004, Empirical Software Engineering.

[18]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2000, The Kluwer International Series in Software Engineering.

[19]  Robert C. Sharble,et al.  The object-oriented brewery: a comparison of two object-oriented development methods , 1993, SOEN.

[20]  Brian Henderson-Sellers,et al.  The OPEN process specification , 1997 .

[21]  Norman E. Fenton,et al.  When a software measure is not a measure , 1992, Softw. Eng. J..

[22]  Lois Ann Colaianni,et al.  Uniform Requirements for Manuscripts Submitted to Biomedical Journals , 1991, The Medical journal of Australia.

[23]  Stephen R. Schach,et al.  Validation of the coupling dependency metric as a predictor of run-time failures and maintenance measures , 1998, Proceedings of the 20th International Conference on Software Engineering.

[24]  Dietmar Ernst,et al.  Comparing Structured and Object-Oriented Methods for Embedded Systems: A Controlled Experiment , 1999 .

[25]  Nazim H. Madhavji,et al.  The Impact of Tools on Software Productivity , 1996, IEEE Softw..

[26]  Shari Lawrence Pfleeger Experimental design and analysis in software engineering, part 5: analyzing the data , 1995, SOEN.

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

[28]  Lionel C. Briand,et al.  A Comprehensive Empirical Validation of Product Measures for Object-Oriented Systems , 1998 .

[29]  Paolo Nesi,et al.  Effort estimation and prediction of object-oriented systems , 1998, J. Syst. Softw..

[30]  C. Jones,et al.  Gaps in the O-O paradigm , 1994 .

[31]  John D. McGregor,et al.  Parallel Architecture for Component Testing , 1997, J. Object Oriented Program..

[32]  David P. Darcy,et al.  Managerial Use of Metrics for Object-Oriented Software: An Exploratory Analysis , 1998, IEEE Trans. Software Eng..

[33]  Victor R. Basili,et al.  A Validation of Object-Oriented Design Metrics , 1995 .

[34]  Cécile Péraire,et al.  From Requirements to Tests via Object-Oriented Design , 1998 .

[35]  Cécile Péraire,et al.  Modelling the Production Cell Case Study using the Fusion Method , 1998 .

[36]  Ivar Jacobson,et al.  The Unified Software Development Process , 1999 .

[37]  Edward V. Berard,et al.  Testing Object-Oriented Software , 2021, TOOLS.

[38]  Lionel C. Briand,et al.  An Experimental Comparison of the Maintainability of Object-Oriented and Structured Design Documents , 2004, Empirical Software Engineering.

[39]  F KemererChris,et al.  Managerial Use of Metrics for Object-Oriented Software , 1998 .

[40]  David Chenho Kung,et al.  Developing an object-oriented software testing and maintenance environment , 1995, CACM.

[41]  Lionel C. Briand,et al.  Using coupling measurement for impact analysis in object-oriented systems , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[42]  Gail E. Kaiser,et al.  Adequate testing and object-oriented programming , 1990 .

[43]  Lionel C. Briand,et al.  A Unified Framework for Cohesion Measurement in Object-Oriented Systems , 2004, Empirical Software Engineering.

[44]  Rachel Harrison,et al.  An Investigation into the Applicability and Validity of Object-Oriented Design Metrics , 1998, Empirical Software Engineering.

[45]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide , 1998, J. Database Manag..

[46]  John D. McGregor,et al.  Incremental testing of object-oriented class structures , 1992, ICSE '92.

[47]  Lionel C. Briand,et al.  A Unified Framework for Cohesion Measurement in Object-Oriented Systems , 1997, Proceedings Fourth International Software Metrics Symposium.

[48]  Horst Zuse,et al.  Software complexity: Measures and methods , 1990 .

[49]  Paul C. Jorgensen,et al.  Object-oriented integration testing , 1994, CACM.

[50]  Victor R. Basili,et al.  How reuse influences productivity in object-oriented systems , 1996, CACM.

[51]  Martin J. Shepperd,et al.  Towards a conceptual framework for object oriented software metrics , 1995, SOEN.

[52]  Richard H. Carver,et al.  An Evaluation of the MOOD Set of Object-Oriented Software Metrics , 1998, IEEE Trans. Software Eng..

[53]  Robert V. Binder,et al.  Testing object‐oriented software: a survey , 1996 .

[54]  Shari Lawrence Pfleeger,et al.  Towards a Framework for Software Measurement Validation , 1995, IEEE Trans. Software Eng..

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

[56]  Hélène Waeselynck,et al.  A Case Study in Statistical Testing of Reusable Concurrent Objects , 1999, EDCC.

[57]  Rachel Harrison,et al.  Experimental assessment of the effect of inheritance on the maintainability of object-oriented systems , 2000, J. Syst. Softw..

[58]  Lionel C. Briand,et al.  Investigating quality factors in object-oriented designs: an industrial case study , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[59]  John W. Daly,et al.  Evaluating inheritance depth on the maintainability of object-oriented software , 2004, Empirical Software Engineering.

[60]  Jeffrey M. Voas Object-Oriented Software Testability , 1996 .

[61]  Cécile Péraire,et al.  A Theory of Specification-Based Testing for Object-Oriented Software , 1996, EDCC.

[62]  L. Briand,et al.  Theoretical and Empirical Validation of Software Product Measures , 1995 .

[63]  W. Nobnop,et al.  Quality assurance. , 1998, Nursing standard (Royal College of Nursing (Great Britain) : 1987).

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

[65]  Claus Lewerentz,et al.  Formal Development of Reactive Systems: Case Study Production Cell , 1995 .

[66]  David Chenho Kung,et al.  Testing Object-Oriented Software , 1998 .