Can Automated Impact Analysis Techniques Help Predict Decaying Modules?

A decaying module refers to a module whose quality is getting worse and is likely to become smelly in the future. The concept has been proposed to mitigate the problem that developers cannot track the progression of code smells and prevent them from occurring. To support developers in proactive refactoring process to prevent code smells, a prediction approach has been proposed to detect modules that are likely to become decaying modules in the next milestone. Our prior study has shown that modules that developers will modify as an estimation of developers' context can be used to improve the performance of the prediction model significantly. Nevertheless, it requires the developer who has perfect knowledge of locations of changes to manually specify such information to the system. To this end, in this study, we explore the use of automated impact analysis techniques to estimate the developers' context. Such techniques will enable developers to improve the performance of the decaying module prediction model without the need of perfect knowledge or manual input to the system. Furthermore, we conduct a study on the relationship between the accuracy of an impact analysis technique and its effect on improving decaying module prediction, as well as the future direction that should be explored.

[1]  Takashi Ishio,et al.  On the effectiveness of accuracy of automated feature location technique , 2013, 2013 20th Working Conference on Reverse Engineering (WCRE).

[2]  Naoyasu Ubayashi,et al.  The Impact of Task Granularity on Co-evolution Analyses , 2016, ESEM.

[3]  Bogdan Dit,et al.  Integrated impact analysis for managing software changes , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[4]  Shinpei Hayashi,et al.  Toward Proactive Refactoring: An Exploratory Study on Decaying Modules , 2019, 2019 IEEE/ACM 3rd International Workshop on Refactoring (IWoR).

[5]  Shinpei Hayashi,et al.  Context‐based approach to prioritize code smells for prefactoring , 2018, J. Softw. Evol. Process..

[6]  Francesca Arcelli Fontana,et al.  Towards a prioritization of code debt: A code smell Intensity Index , 2015, 2015 IEEE 7th International Workshop on Managing Technical Debt (MTD).

[7]  Aiko Fallas Yamashita,et al.  Do code smells reflect important maintainability aspects? , 2012, 2012 28th IEEE International Conference on Software Maintenance (ICSM).

[8]  Gabriele Bavota,et al.  Detecting bad smells in source code using change history information , 2013, 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[9]  Bogdan Dit,et al.  Feature location in source code: a taxonomy and survey , 2013, J. Softw. Evol. Process..