A framework to measure coupling using static change impact analysis

Software defects can often be the result of many changes made to a software over a period. Incomplete or incorrect comprehension of the program segments affected by the changes may cost regression testing. Therefore, identification and testing of such program segments early in the testing phase can reveal more regression errors. Driven by this motivation, this paper uses a new slicing technique to identify the affected program parts through static change impact analysis. The probability of a program segment being erroneous is then shown by computing the coupling factor of the affected program parts. We propose a novel static approach to calculating the coupling factor of these affected program segments to predict the erroneous parts. The theoretical validation and comparative analysis shows the correctness and preciseness of the approach.

[1]  Jonathan I. Maletic,et al.  A Very Efficient and Scalable Forward Static Slicing Approach , 2012, 2012 19th Working Conference on Reverse Engineering.

[2]  Amjed Tahir,et al.  A systematic mapping study on dynamic metrics and software quality , 2012, 2012 28th IEEE International Conference on Software Maintenance (ICSM).

[3]  David W. Binkley,et al.  An empirical study of slice-based cohesion and coupling metrics , 2007, TSEM.

[4]  Austen Rainer,et al.  An Introduction to Slice-Based Cohesion and Coupling Metrics , 2009 .

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

[6]  Arvinder Kaur,et al.  A comparative study of models for predicting fault proneness in object-oriented systems , 2014, Int. J. Comput. Appl. Technol..

[7]  Wenbing Zhao,et al.  An Input Data Related Behavior Extracting and Measuring Model , 2013 .

[8]  Mariam Kamkar,et al.  An overview and comparative classification of program slicing techniques , 1995, J. Syst. Softw..

[9]  Juergen Rilling,et al.  Identifying comprehension bottlenecks using program slicing and cognitive complexity metrics , 2003, 11th IEEE International Workshop on Program Comprehension, 2003..

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

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

[12]  Gabriele Bavota,et al.  Recovering test-to-code traceability using slicing and textual analysis , 2014, J. Syst. Softw..

[13]  Andy Evans,et al.  Object-Oriented Theories for Model Driven Architecture , 2002, OOIS Workshops.

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

[15]  Mark Weiser,et al.  Program Slicing , 1981, IEEE Transactions on Software Engineering.

[16]  Jagdeep Kaur,et al.  Dynamic inheritance coupling metric-design and analysis for assessing reusability , 2015 .

[17]  Michele Marchesi,et al.  System performance analyses through object-oriented fault and coupling prisms , 2014, ICPE.

[18]  Bixin Li,et al.  An Approach to Regression Test Selection Based on Hierarchical Slicing Technique , 2010, 2010 IEEE 34th Annual Computer Software and Applications Conference Workshops.

[19]  Rajib Mall,et al.  An edge marking technique for dynamic slicing of object-oriented programs , 2004, Proceedings of the 28th Annual International Computer Software and Applications Conference, 2004. COMPSAC 2004..

[20]  Laurie A. Williams,et al.  Towards the prioritization of system test cases , 2014, Softw. Test. Verification Reliab..

[21]  Lars Mathiassen,et al.  Managing knowledge in software method adoption , 2005, Int. J. Bus. Inf. Syst..

[22]  Satwinder Singh,et al.  Empirical model for predicting high, medium and low severity faults using object oriented metrics in Mozilla Firefox , 2013, Int. J. Comput. Appl. Technol..

[23]  S Panda,et al.  Application of Hierarchical Slicing to Regression Test Selection of Java Programs , 2013 .

[24]  Zhenyu Chen,et al.  Similarity-based test case prioritization using ordered sequences of program entities , 2013, Software Quality Journal.

[25]  Xiaocong Fan,et al.  A model for slicing JAVA programs hierarchically , 2004, Journal of Computer Science and Technology.

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

[27]  Marvin V. Zelkowitz,et al.  A formal program complexity model and its application , 1992, J. Syst. Softw..

[28]  Sallie M. Henry,et al.  Software Structure Metrics Based on Information Flow , 1981, IEEE Transactions on Software Engineering.

[29]  Wanzhi Wen,et al.  Software fault localization based on program slicing spectrum , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[30]  Khaled M. Khan,et al.  Tasks and Methods for Software Maintenance: a process oriented framework , 2001, Australas. J. Inf. Syst..

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

[32]  A. S. M. Sajeev,et al.  A tool for regression testing , 2004, IASTED Conf. on Software Engineering.

[33]  Renata M. C. R. de Souza,et al.  Classifying metrics for assessing Object-Oriented Software Maintainability: A family of metrics' catalogs , 2015, J. Syst. Softw..

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

[35]  Jonathan I. Maletic,et al.  An XML-based lightweight C++ fact extractor , 2003, 11th IEEE International Workshop on Program Comprehension, 2003..

[36]  Jingde Cheng,et al.  A dependence-based representation for concurrent object-oriented software maintenance , 1998, Proceedings of the Second Euromicro Conference on Software Maintenance and Reengineering.

[37]  L. Suganthi,et al.  An empirical study on creating software product value in India - an analytic hierarchy process approach , 2015, Int. J. Bus. Inf. Syst..

[38]  Jussi Koskinen,et al.  Fault-proneness of open source software: Exploring its relations to internal software quality and maintenance process , 2013 .

[39]  Anju Saha,et al.  Prediction of testability using the design metrics for object-oriented software , 2012, Int. J. Comput. Appl. Technol..

[40]  Jehad Al Dallal Object-oriented class maintainability prediction using internal quality attributes , 2013, Inf. Softw. Technol..

[41]  Claire Cardie,et al.  Proceedings of the Eighteenth International Conference on Machine Learning, 2001, p. 577–584. Constrained K-means Clustering with Background Knowledge , 2022 .

[42]  Paul Hong,et al.  The role of IT for global firms in emerging markets , 2015, Int. J. Bus. Inf. Syst..

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

[44]  Sudhir Kumar Mohapatra,et al.  Minimizing test cases to reduce the cost of regression testing , 2014, 2014 International Conference on Computing for Sustainable Global Development (INDIACom).

[45]  F. Brito e Abreu,et al.  Coupling and cohesion as modularization drivers: are we being over-persuaded? , 2001, Proceedings Fifth European Conference on Software Maintenance and Reengineering.

[46]  Barrett R. Bryant,et al.  Object-oriented software specification in programming language design and implementation , 1998, Proceedings. The Twenty-Second Annual International Computer Software and Applications Conference (Compsac '98) (Cat. No.98CB 36241).

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

[48]  K. Iyakutti,et al.  An empirical validation of the suite of metrics for object-relational data modelling , 2011, Int. J. Intell. Inf. Database Syst..

[49]  Jonathan I. Maletic,et al.  Lightweight Transformation and Fact Extraction with the srcML Toolkit , 2011, 2011 IEEE 11th International Working Conference on Source Code Analysis and Manipulation.

[50]  Radu Marinescu,et al.  Measurement and Quality in Object-Oriented Design , 2005, ICSM.

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

[52]  Frank Tip,et al.  A survey of program slicing techniques , 1994, J. Program. Lang..