Software Maintenance and Evolution

Behind the scenes: On the relationship between developer experience and refactoring

Refactoring is widely recognized as one of the efficient techniques to manage technical debt and maintain a healthy software project through enforcing best design practices, or coping with design defects. Previous refactoring surveys have shown that …

How Do I Refactor This? An Empirical Study on Refactoring Trends and Topics in Stack Overflow

An essential part of software maintenance and evolution, refactoring is performed by developers, regardless of technology or domain, to improve the internal quality of the system, and reduce its technical debt. However, choosing the appropriate …

An Exploratory Study on the Refactoring of Unit Test Files in Android Applications

An essential activity of software maintenance is the refactoring of source code. Refactoring operations enable developers to take necessary actions to correct bad programming practices (i.e., smells) in the source code of both production and test …

On the Relationship Between Developer Experience and Refactoring: An Exploratory Study and Preliminary Results

Refactoring is one of the means of managing technical debt and maintaining a healthy software structure through enforcing best design practices, or coping with design defects. Previous refactoring surveys have shown that these code restructurings are …