Authors
Ally S Nyamawe, Hui Liu, Nan Niu, Qasim Umer, Zhendong Niu
Publication date
2020/9
Journal
Empirical Software Engineering
Volume
25
Pages
4315-4347
Publisher
Springer US
Description
Software requirements are ever-changing which often leads to software evolution. Consequently, throughout software lifetime, developers receive new requirements often expressed as feature requests. To implement the requested features, developers sometimes apply refactorings to make their systems adapt to the new requirements. However, deciding what refactorings to apply is often challenging and there is still lack of automated support to recommend refactorings given a feature request. To this end, we propose a learning-based approach that recommends refactorings based on the history of the previously requested features, applied refactorings, and code smells information. First, the state-of-the-art refactoring detection tools are leveraged to identify the previous refactorings applied to implement the past feature requests. Second, a machine classifier is trained with the history data of the feature requests …
Total citations
202120222023202451065
Scholar articles
AS Nyamawe, H Liu, N Niu, Q Umer, Z Niu - Empirical Software Engineering, 2020