Assessment of the Code Refactoring Dataset Regarding the Maintainability of Methods
Code refactoring has a solid theoretical background while being used in development practice at the same time. However, previous works found controversial results on the nature of code refactoring activities in practice. Both their application context and
- PDF / 688,583 Bytes
- 15 Pages / 439.37 x 666.142 pts Page_size
- 48 Downloads / 162 Views
ract. Code refactoring has a solid theoretical background while being used in development practice at the same time. However, previous works found controversial results on the nature of code refactoring activities in practice. Both their application context and impact on code quality needs further examination. Our paper encourages the investigation of code refactorings in practice by providing an excessive open dataset of source code metrics and applied refactorings through several releases of 7 open-source systems. We already demonstrated the practical value of the dataset by analyzing the quality attributes of the refactored source code classes and the values of source code metrics improved by those refactorings. In this paper, we have gone one step deeper and explored the effect of code refactorings at the level of methods. We found that similarly to class level, lower maintainability indeed triggers more code refactorings in practice at the level of methods and these refactorings significantly decrease size, coupling and clone metrics.
Keywords: Code refactoring study · Refactoring dataset
1
·
Software maintainability
·
Empirical
Introduction
Source code refactoring is a very powerful technique to improve the internal quality of software systems. Since its introduction by Fowler [6] it become more and more popular and nowadays IT practitioners think of it as an essential part of the development processes. Despite the high acceptance of refactoring techniques by the software industry, there are some aspects that software companies should take into consideration which may affect the practical application of such techniques; for example, time constraint, cost effectiveness, or return on investment. Due to this shift of priorities between industry and research, we should also explore how developers tend to use refactoring in practice and not just focus on the theoretical concepts of code refactoring. There are evidences in the literature [21] that engineers are aware of code smells, but are not very concerned with their impact as refactoring activity is not focused on them. But as Fowler et al. suggested, code smells should be the primary technique for identifying c Springer International Publishing Switzerland 2016 O. Gervasi et al. (Eds.): ICCSA 2016, Part IV, LNCS 9789, pp. 610–624, 2016. DOI: 10.1007/978-3-319-42089-9 43
Assessment of the Code Refactoring Dataset
611
refactoring opportunities in the code and a lot of research effort [4,5] has been put into examining them. A similar contradictory result by Bavota et al. [2] suggests that only 7 % of the refactoring operations actually remove the code smells from the affected class. All these seemingly negative results only indicate that although some concepts might be very effective in theory, they may not be applied in industry due to practical reasons. So to be able to elaborate new techniques and methods that better suit the practitioners’ needs we should further examine how they apply refactorings. To help addressing this goal, we proposed a publicly av
Data Loading...