COSTECH Integrated Repository

Automated recommendation of software refactorings based on feature requests

Show simple item record

dc.creator Nyamawe, Ally S.
dc.creator Liu, Hui
dc.creator Niu, Nan
dc.creator Umer, Qasim
dc.creator Niu, Zhendong
dc.date 2020-08-26T08:55:31Z
dc.date 2020-08-26T08:55:31Z
dc.date 2019
dc.date.accessioned 2022-10-20T13:45:32Z
dc.date.available 2022-10-20T13:45:32Z
dc.identifier Nyamawe, A. S., Liu, H., Niu, N., Umer, Q. & Niu, Z. (2019). Automated recommendation of software refactorings based on feature requests. In 2019 IEEE 27th International Requirements Engineering Conference (RE) (pp. 187-198). IEEE.
dc.identifier DOI: 10.1109/RE.2019.00029
dc.identifier http://hdl.handle.net/20.500.12661/2432
dc.identifier.uri http://hdl.handle.net/20.500.12661/2432
dc.description Abstract. Full Text Conference Article available at https://ieeexplore.ieee.org/abstract/document/8920694
dc.description During software evolution, developers often receive new requirements expressed as feature requests. To implement the requested features, developers have to perform necessary modifications (refactorings) to prepare for new adaptation that accommodates the new requirements. Software refactoring is a well-known technique that has been extensively used to improve software quality such as maintainability and extensibility. However, it is often challenging to determine which kind of refactorings should be applied. Consequently, several approaches based on various heuristics have been proposed to recommend refactorings. However, there is still lack of automated support to recommend refactorings given a feature request. To this end, in this paper, we propose a novel approach that recommends refactorings based on the history of the previously requested features and applied refactorings. First, we exploit the state of-the-art refactoring detection tools to identify the previous refactorings applied to implement the past feature requests. Second, we train a machine classifier with the history data of the feature requests and refactorings applied on the commits that implemented the corresponding feature requests. The machine classifier is then used to predict refactorings for new feature requests. We evaluate the proposed approach on the dataset of 43 open source Java projects and the results suggest that the proposed approach can accurately recommend refactorings (average precision 73%).
dc.language en
dc.publisher IEEE
dc.subject Software
dc.subject Software refactoring
dc.subject Feature requests
dc.subject Machine learning
dc.subject Software quality
dc.subject Software maintenance
dc.subject Software exntension
dc.title Automated recommendation of software refactorings based on feature requests
dc.title 27th International Requirements Engineering Conference (RE)
dc.type Conference Proceedings


Files in this item

Files Size Format View
Nyamawe and Liu.pdf 85.26Kb application/pdf View/Open

This item appears in the following Collection(s)

Show simple item record

Search COSTECH


Advanced Search

Browse

My Account