An empirical investigation into the effect of slice types on slice-based cohesion metrics

ContextThere is a debate about whether end slice or metric slice is preferable for computing slice-based cohesion metrics. However, up till now, there is no consensus about this issue. ObjectiveWe aim to investigate the relationship between end-slice-based and metric-slice-based cohesion metrics and then determine which type of slice is preferable for computing slice-based cohesion metrics. MethodWe used forty widely used open-source software systems to conduct the study. First, we compute the baseline values for end-slice-based and metric-slice-based cohesion metrics. Then, we investigate their relationships with module size. Finally, we employ correlation analysis and principal component analysis to analyze the relationships between end-slice-based and metric-slice-based cohesion metrics. ResultsEnd-slice-based and metric-slice-based cohesion metrics have similar baseline metric values. Furthermore, they exhibit a similar negative correlation with module size. In particular, the results from correlation analysis and principal component analysis reveal that they essentially measure the same cohesion dimensions. ConclusionFrom the viewpoint of metric values, there is little difference between end-slice-based and metric-slice-based cohesion metrics. We hence recommend choosing end slice for computing slice-based cohesion metrics in practice, as extra cost involved in data collection could be avoided.

[1]  Tracy Hall,et al.  Fault Analysis in OSS Based on Program Slicing Metrics , 2009, 2009 35th Euromicro Conference on Software Engineering and Advanced Applications.

[2]  Jehad Al Dallal Software similarity-based functional cohesion metric , 2009, IET Softw..

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

[4]  Linda M. Ott,et al.  Slice based metrics for estimating cohesion , 1993, [1993] Proceedings First International Software Metrics Symposium.

[5]  Nikolai Kosmatov,et al.  Frama-C - A Software Analysis Perspective , 2012, SEFM.

[6]  Yuming Zhou,et al.  Examining the Potentially Confounding Effect of Class Size on the Associations between Object-Oriented Metrics and Change-Proneness , 2009, IEEE Transactions on Software Engineering.

[7]  James M. Bieman,et al.  Effects of software changes on module cohesion , 1992, Proceedings Conference on Software Maintenance 1992.

[8]  Edward Yourdon,et al.  Structured design : fundamentals of a discip!ine of computer proqram and system desiqn , 1979 .

[9]  Tracy Hall,et al.  A Theoretical and Empirical Analysis of Three Slice-Based Metrics for Cohesion , 2010, Int. J. Softw. Eng. Knowl. Eng..

[10]  Jehad Al Dallal Fault prediction and the discriminative powers of connectivity-based object-oriented class cohesion metrics , 2012, Inf. Softw. Technol..

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

[12]  Yuming Zhou,et al.  Are Slice-Based Cohesion Metrics Actually Useful in Effort-Aware Post-Release Fault-Proneness Prediction? An Empirical Study , 2015, IEEE Transactions on Software Engineering.

[13]  Karl J. Ottenstein,et al.  The program dependence graph in a software development environment , 1984 .

[14]  Steve Counsell,et al.  Calibrating program slicing metrics for practical use. , 2009 .

[15]  David W. Binkley,et al.  Slice-based cohesion metrics and software intervention , 2004, 11th Working Conference on Reverse Engineering.

[16]  R. Lyman Ott,et al.  Introduction to Statistical Methods and Data Analysis (with CD-ROM) , 2006 .

[17]  R. Lyman Ott.,et al.  An introduction to statistical methods and data analysis , 1977 .

[18]  Meilir Page-Jones,et al.  The practical guide to structured systems design: 2nd edition , 1988 .

[19]  Khaled El Emam,et al.  The Confounding Effect of Class Size on the Validity of Object-Oriented Metrics , 2001, IEEE Trans. Software Eng..

[20]  Hareton K. N. Leung,et al.  An in-depth study of the potentially confounding effect of class size in fault prediction , 2014, TSEM.

[21]  Jehad Al Dallal Measuring the Discriminative Power of Object-Oriented Class Cohesion Metrics , 2011, IEEE Transactions on Software Engineering.

[22]  J Carpenter,et al.  Bootstrap confidence intervals: when, which, what? A practical guide for medical statisticians. , 2000, Statistics in medicine.

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

[24]  Yuming Zhou,et al.  ICBMC: an improved cohesion measure for classes , 2002, International Conference on Software Maintenance, 2002. Proceedings..

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

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