我要吃瓜

An 80-20 Analysis of Buggy and Non-buggy Refactorings in Open-Source Commits

Details

Citation

Counsell S, Nowack V, Hall T, Bowes D, Haraldsson S, Winter E & Woodward J (2022) An 80-20 Analysis of Buggy and Non-buggy Refactorings in Open-Source Commits. In: 2022 48th Euromicro Conference on Software Engineering and Advanced Applications (SEAA), Gran Canaria, Spain, 31.08.2022-02.09.2022. IEEE, pp. 197-200. https://doi.org/10.1109/seaa56994.2022.00038

Abstract
In this short paper, we explore the Pareto principle, sometimes known as the “80-20” rule as part of the refactoring process. We explore five frequently applied refactorings, namely extract method, extract variable, rename variable, rename method and change variable type from a data set of forty open-source systems and nearly two hundred thousand refactorings. We address two key research questions. Firstly, do 80% of “buggy” refactorings (where a refactoring has induced a bug fix) arise from just 20% of commits and, secondly, does the same rule apply to “non-buggy” refactorings when applied to the same systems? To facilitate our analysis, we used refactoring and bug data from a study by Di Penta et al. Results showed that refactorings inducing bugs were clustered around a more concentrated set of commits than refactorings that did not induce bugs. One refactoring ‘change variable type’ stood out - it almost conformed to an 80-20 rule. The take-away message is, as the saying goes, that too much of a “good” thing [refactoring] could actually be a “bad” thing.

StatusPublished
Funders
Publication date31/08/2022
Publication date online31/01/2023
PublisherIEEE
Conference2022 48th Euromicro Conference on Software Engineering and Advanced Applications (SEAA)
Conference locationGran Canaria, Spain
Dates

People (1)

Dr Saemundur Haraldsson

Dr Saemundur Haraldsson

Lecturer, Computing Science