Automated recommendation of software refactorings based on feature requests

dc.contributor.authorNyamawe, Ally S.
dc.contributor.authorLiu, Hui
dc.contributor.authorNiu, Nan
dc.contributor.authorUmer, Qasim
dc.contributor.authorNiu, Zhendong
dc.date.accessioned2020-08-26T08:55:31Z
dc.date.available2020-08-26T08:55:31Z
dc.date.issued2019
dc.descriptionAbstract. Full Text Conference Article available at https://ieeexplore.ieee.org/abstract/document/8920694en_US
dc.description.abstractDuring 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%).en_US
dc.identifier.citationNyamawe, 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.en_US
dc.identifier.otherDOI: 10.1109/RE.2019.00029
dc.identifier.urihttp://hdl.handle.net/20.500.12661/2432
dc.language.isoenen_US
dc.publisherIEEEen_US
dc.subjectSoftwareen_US
dc.subjectSoftware refactoringen_US
dc.subjectFeature requestsen_US
dc.subjectMachine learningen_US
dc.subjectSoftware qualityen_US
dc.subjectSoftware maintenanceen_US
dc.subjectSoftware exntensionen_US
dc.titleAutomated recommendation of software refactorings based on feature requestsen_US
dc.title.alternative27th International Requirements Engineering Conference (RE)en_US
dc.typeConference Proceedingsen_US
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Nyamawe and Liu.pdf
Size:
83.27 KB
Format:
Adobe Portable Document Format
Description:
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
1.71 KB
Format:
Item-specific license agreed upon to submission
Description: