Identifiers play a key role in code quality and comprehension, as poorly named identifiers hinder the developers’ ability to understand, debug, and maintain programs. To address these issues, several studies have proposed methods to automatically rename low-quality or inconsistent identifiers. Recently, machine learning has been used to predict potential renaming opportunities for identifiers. However, there is none or little work done that reviews the key machine learning-based methods used to rename identifiers. To that end, this project aims to conduct a systematic literature review that will answer: a) what key machine learning-based approaches exist for recommeding renamings of identifiers; b) how accurate are the different approaches; and c) what datasets are used for their evaluation. As a result of the literature review, we selected 14 learning-based identifier renaming approaches published between 2014-2021. From the extracted data, we identified a total of 19 machine learning techniques, which we categorized into a taxonomy of "deep" and "shallow" learning. In this process, we found that a majority of studies since 2019 have used deep learning techniques. Specifically, two context-based approaches achieved the best performance in detecting and renaming inconsistent identifiers. As a result, we discussed how the use of different techniques might have influenced the performance, evaluation methods, and research practices in the area of rename refactoring.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:lnu-113624 |
Date | January 2022 |
Creators | Haga, Eric |
Publisher | Linnéuniversitetet, Institutionen för datavetenskap och medieteknik (DM) |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | English |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0019 seconds