Exploring the Impact of Alternatives of Object-Oriented Cohesion Measures on Machine Learning-Based Predictions of Inheritance Reusability
Exploring the Impact of Alternatives of Object-Oriented Cohesion Measures on Machine Learning-Based Predictions of Inheritance Reusability
Blog Article
The cohesion of an object-oriented class refers to the relatedness of its methods and attributes.Constructors, destructors, and access methods are special types of methods featuring unique characteristics that can artificially affect class cohesion quantification.Methods within a class can also directly or transitively invoke each other, representing another cohesion aspect not considered by most existing cohesion measures.The impact of considering special methods (SPs) and transitive relations (TRs) in cohesion measurement on the abilities of the measures to predict inheritance reusability has yet to be investigated.
In this paper, we empirically explored this effect.We applied a statistical technique to test the significance of the cohesion value changes across seven scenarios of ignoring or considering taylor te400 SPs and TRs.In addition, we applied a machine learning-based technique to build inheritance reusability prediction models using each of the considered measures and scenarios, evaluated the classification performance of the prediction models, and statistically compared the inheritance reusability prediction results.The results show that for most of the considered measures, the ignorance/consideration ivoryjinelle.com of SPs and TRs changed the cohesion values and the corresponding prediction significantly.
Based on the study findings, when building inheritance reusability prediction models, software engineers are advised to 1) combine cohesion with other quality factors; 2) exclude the TRs from cohesion quantification; and 3) decide whether to consider or ignore SPs in cohesion quantification based on the selected measure(s) to be used in the prediction model, as this decision differs from one measure to another.