A survey of dynamic software metrics

Software metrics help us to make meaningful estimates for software products and guide us in taking managerial and technical decisions. However, conventional static metrics have been found to be inadequate for modern object-oriented software due to the presence of object-oriented features such as polymorphism, dynamic binding, inheritance and unused code. This fact motivates us to focus on dynamic metrics in place of traditional static metrics. Moreover, dynamic metrics are more precise than static metrics as they are able to capture the dynamic behaviour of the software system during measurement. These dynamic metrics are usually obtained from the execution traces of the code or from the executable models. In this paper, advantages of dynamic metrics over static metrics are discussed and then a survey of the existing dynamic metrics is carried out. These metrics are characterized into different categories such as dynamic coupling metrics, dynamic cohesion metrics. Towards end of the paper, potential research challenges and opportunities in the field of dynamic metrics are identified.

[1]  Yuming Zhou,et al.  DRC: a dependence relationships based cohesion measure for classes , 2003, Tenth Asia-Pacific Software Engineering Conference, 2003..

[2]  James F. Power,et al.  Run-Time Cohesion Metrics: An Empirical Investigation , 2004, Software Engineering Research and Practice.

[3]  James M. Bieman,et al.  Design-level cohesion measures: derivation, comparison, and applications , 1996, Proceedings of 20th International Computer Software and Applications Conference: COMPSAC '96.

[4]  Letha H. Etzkorn,et al.  Clarifying specialized forms of association in UML and OML , 1998 .

[5]  Soo Dong Kim,et al.  Static and dynamic metrics for effective object clustering , 1998, Proceedings 1998 Asia Pacific Software Engineering Conference (Cat. No.98EX240).

[6]  Magne Jørgensen,et al.  Assessing the Changeability of two Object-Oriented Design Alternatives--a Controlled Experiment , 2001, Empirical Software Engineering.

[7]  Yuming Zhou,et al.  A novel approach to measuring class cohesion based on dependence analysis , 2002, International Conference on Software Maintenance, 2002. Proceedings..

[8]  John C. Munson,et al.  Software metrics in reliability assessment , 1996 .

[9]  Erik Arisholm Dynamic coupling measures for object-oriented software , 2002, Proceedings Eighth IEEE Symposium on Software Metrics.

[10]  James F. Power,et al.  Using object-level run-time metrics to study coupling between objects , 2005, SAC '05.

[11]  Yuming Zhou,et al.  A comparative study of graph theory-based class cohesion measures , 2004, SOEN.

[12]  Jon Kleinberg,et al.  Authoritative sources in a hyperlinked environment , 1999, SODA '98.

[13]  Andy Zaidman,et al.  Scalability solutions for program comprehension through dynamic analysis , 2006, Conference on Software Maintenance and Reengineering (CSMR'06).

[14]  Andy Zaidman,et al.  How Webmining and Coupling Metrics Improve Early Program Comprehension , 2006, 14th IEEE International Conference on Program Comprehension (ICPC'06).

[15]  Yuming Zhou,et al.  DMC: a more precise cohesion measure for classes , 2005, Inf. Softw. Technol..

[16]  Steve Counsell,et al.  Dynamic coupling metric: proof of concept , 2005, IEE Proc. Softw..

[17]  James M. Bieman,et al.  Program slices as an abstraction for cohesion measurement , 1998, Inf. Softw. Technol..

[18]  Lionel C. Briand,et al.  Dynamic coupling measurement for object-oriented software , 2004, IEEE Transactions on Software Engineering.

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

[20]  Doo-Hwan Bae,et al.  Improving cohesion metrics for classes by considering dependent instance variables , 2004, IEEE Transactions on Software Engineering.

[21]  Mark Lorenz,et al.  Object-oriented software metrics - a practical guide , 1994 .

[22]  Sallie M. Henry,et al.  Maintenance metrics for the object oriented paradigm , 1993, [1993] Proceedings First International Software Metrics Symposium.

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

[24]  Heung Seok Chae,et al.  A cohesion measure for classes in object-oriented systems , 1998, Proceedings Fifth International Software Metrics Symposium. Metrics (Cat. No.98TB100262).

[25]  James F. Power,et al.  An empirical investigation into the dimensions of run-time coupling in Java programs , 2004, PPPJ.

[26]  Praveen R. Rao,et al.  Program execution based module cohesion measurement , 2001, Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001).

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

[28]  Hany H. Ammar,et al.  Dynamic metrics for object oriented designs , 1999, Proceedings Sixth International Software Metrics Symposium (Cat. No.PR00403).

[29]  John D. Musa,et al.  Software reliability measurement , 1984, J. Syst. Softw..

[30]  Zongyuan Yang,et al.  A basic model for components implementation of software architecture , 2004, SOEN.

[31]  A. Jefferson Offutt,et al.  Coupling-based Testing of O-O Programs , 2004, J. Univers. Comput. Sci..

[32]  Taghi M. Khoshgoftaar,et al.  Dynamic system complexity , 1993, [1993] Proceedings First International Software Metrics Symposium.

[33]  Hany H. Ammar,et al.  A methodology for architectural-level risk assessment using dynamic metrics , 2000, Proceedings 11th International Symposium on Software Reliability Engineering. ISSRE 2000.

[34]  Taghi M. Khoshgoftaar,et al.  Measuring coupling and cohesion: an information-theory approach , 1999, Proceedings Sixth International Software Metrics Symposium (Cat. No.PR00403).

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

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

[37]  James F. Power,et al.  A study of the influence of coverage on the relationship between static and dynamic coupling metrics , 2006, Sci. Comput. Program..

[38]  Carl K. Chang,et al.  Requirements-based dynamic metrics in object-oriented systems , 2001, Proceedings Fifth IEEE International Symposium on Requirements Engineering.

[39]  Steve Counsell,et al.  Empirical Validation of a Dynamic Coupling Metric , 2004 .

[40]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[41]  John D. Musa,et al.  Software reliability - measurement, prediction, application , 1987, McGraw-Hill series in software engineering and technology.

[42]  Rachel Harrison,et al.  Coupling metrics for object-oriented design , 1998, Proceedings Fifth International Software Metrics Symposium. Metrics (Cat. No.98TB100262).

[43]  James F. Power,et al.  An approach to quantifying the run-time behaviour of Java GUI applications , 2004 .

[44]  Doo-Hwan Bae,et al.  A cohesion measure for object‐oriented classes , 2000 .

[45]  Bran Selic,et al.  Real-time object-oriented modeling , 1994, Wiley professional computing.

[46]  Taghi M. Khoshgoftaar,et al.  Measuring dynamic program complexity , 1992, IEEE Software.

[47]  Norman E. Fenton,et al.  Software metrics: successes, failures and new directions , 1999, J. Syst. Softw..

[48]  Steve Counsell,et al.  A dynamic runtime coupling metric for meta-level architectures , 2004, Eighth European Conference on Software Maintenance and Reengineering, 2004. CSMR 2004. Proceedings..

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

[50]  Cemal Yilmaz,et al.  Software Metrics , 2008, Wiley Encyclopedia of Computer Science and Engineering.

[51]  Hany H. Ammar,et al.  Pseudo dynamic metrics [software metrics] , 2005, The 3rd ACS/IEEE International Conference onComputer Systems and Applications, 2005..