2017 IEEE/ACM 25th International Conference on Program Comprehension (ICPC) 2017
DOI: 10.1109/icpc.2017.38
|View full text |Cite
|
Sign up to set email alerts
|

An Exploratory Study on the Relationship between Changes and Refactoring

Abstract: Refactoring aims at improving the internal structure of a software system without changing its external behavior. Previous studies empirically assessed, on the one hand, the benefits of refactoring in terms of code quality and developers' productivity, and on the other hand, the underlying reasons that push programmers to apply refactoring. Results achieved in the latter investigations indicate that besides personal motivation such as the responsibility concerned with code authorship, refactoring is mainly per… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

5
46
0
1

Year Published

2018
2018
2023
2023

Publication Types

Select...
8
1

Relationship

4
5

Authors

Journals

citations
Cited by 79 publications
(52 citation statements)
references
References 39 publications
5
46
0
1
Order By: Relevance
“…The main finding is that refactoring is mainly driven by changes in the requirements rather than by the presence of code smells. This finding was also confirmed in a recent study on the relationship between changes and refactoring [78]. With the empirical study conducted in Section 3 we complement the findings reported in the paper by Silva et al [94] by studying the way developers act on code smells of different nature, finding that refactoring code smells is more common when the code elements are affected by textual code smells.…”
Section: Refactoring Of Code Smellssupporting
confidence: 84%
“…The main finding is that refactoring is mainly driven by changes in the requirements rather than by the presence of code smells. This finding was also confirmed in a recent study on the relationship between changes and refactoring [78]. With the empirical study conducted in Section 3 we complement the findings reported in the paper by Silva et al [94] by studying the way developers act on code smells of different nature, finding that refactoring code smells is more common when the code elements are affected by textual code smells.…”
Section: Refactoring Of Code Smellssupporting
confidence: 84%
“…In the Eclipse ecosystem we observed a consistent percentage of refactoring actions performed while fixing bugs; in this case, the differences with the other ecosystems are statistically significant and have a medium effect size when compared to Android and a large one when considering Apache. A similar result had been already noticed by Palomba et al [46], who showed that different refactoring activities aimed at improving both maintainability and comprehensibility of the source code are generally applied during bug fixing tasks. Such a scenario is particularly evident if we look the case of the Extract Method refactoring for Eclipse projects, where the commits tagged as bug fixing reach 38%.…”
Section: Rq3 Developer-oriented Factors and Refactoringsupporting
confidence: 82%
“…Specifically, the current development task (e.g., bug fixing, new feature implementation, feature enhancement) the developers' workload and the knowledge developers have about certain software components seem to be related to (i) the decision to refactor or not and (ii) which kind of refactoring operations to perform. These findings may represent an important starting point for researchers interested in devising new methodologies for adapting refactoring recommendations not only to the change type [46] but also to the characteristics of developers and the development time-frame of a project.…”
Section: Discussionmentioning
confidence: 83%
“…In particular, in the context of RQ1.1, we test whether JUnit test methods that contain a test smell are more likely to be change-or defect-prone. To this aim, we compute the Relative Risk (RR) [37], an index reporting the likelihood that a specific cause (in our case, the presence/absence of a test smell) leads to an increase in the amount a test case is subject to a particular property (in our case, number of changes or defects) [30], [58]. The RR is defined as the ratio of the probability of an event occurring in an exposed group (e.g., the probability of smelly tests being defective), to the probability of the event occurring in a non-exposed group (e.g., the probability of non-smelly tests being defective) and it is computed using the following equation:…”
Section: Discussionmentioning
confidence: 99%