Abstract
Refactoring is a pervasive activity in software development, and identifying refactorings applied to a program is crucial to understand its evolution. Currently, automated tool support for identifying applied refactorings is available for different programming languages (e.g., Kotlin, Java, C++, Go, JavaScript and Python). However, majority of the proposed approaches relies on similarity thresholds, where choosing proper thresholds that work in all projects, if not impossible, remains to be challenging. To overcome such limitations, in this paper we propose a search-based algorithm implemented on top of RefDetect to mitigate its dependency on similarity thresholds. In this proposed approach, we pay less attention to choosing a proper threshold value and instead employ a nature-inspired algorithm called the Andean Condor Algorithm (ACA) to eliminate refactoring instances that have been erroneously identified due to an employed lower similarity threshold value. The performance of the proposed approach was evaluated on 513 commits of 185 open-source Java applications and compared with an existing NSGA-based multi-objective approach, a greedy algorithm, and the original version of RefDetect and also RefactoringMiner, a state-of-the-art refactoring detection tool that operates without relying on thresholds. The obtained results show the effectiveness of the employed search-based algorithm, where it outperformed the other search-based approaches, particularly outperforming the NSGA-based approach with a notable 17% improvement in F-score. The proposed approach also obtained a slightly better F-score compared with the other two tools not based on computational search and uncovered 238 true refactorings not detected by those tools.
Original language | English |
---|---|
Title of host publication | ICCTA '24 |
Subtitle of host publication | Proceedings of the 2024 10th International Conference on Computer Technology Applications |
Place of Publication | New York, NY |
Publisher | Association for Computing Machinery (ACM) |
Pages | 66-75 |
Number of pages | 10 |
ISBN (Electronic) | 979-8-4007-1638-6 |
DOIs | |
Publication status | Published - 26 Aug 2024 |
Event | 10th International Conference on Computer Technology Applications, ICCTA 2024 - Vienna, Austria Duration: 15 May 2024 → 17 May 2024 |
Conference
Conference | 10th International Conference on Computer Technology Applications, ICCTA 2024 |
---|---|
Country/Territory | Austria |
City | Vienna |
Period | 15/05/24 → 17/05/24 |
Keywords
- Andean condor algorithm
- Automated refactoring mining
- Java