Abstract
Developers spend most of their time comprehending source code, with some studies estimating this activity takes between 58% to 70% of a developer’s time. To improve the readability of source code, and therefore the productivity of developers, it is important to understand what aspects of static code analysis and syntactic code structure hinder the understandability of code. Identifiers are a main source of code comprehension due to their large volume and their role as implicit documentation of a developer’s intent when writing code. Despite the critical role that identifiers play during program comprehension, there are no regulated naming standards for developers to follow when picking identifier names. Our research supports previous work aimed at understanding what makes a good identifier name, and practices to follow when picking names by exploring a phenomenon that occurs during identifier naming: identifier clones. Identifier clones are two or more identifiers that are declared using the same name. This is an important yet unexplored phenomenon in identifier naming where developers intentionally give the same name to two or more identifiers in separate parts of a system. We must study identifier clones to understand it’s impact on program comprehension and to better understand the nature of identifier naming. To accomplish this, we conducted an empirical study on identifier clones detected in open-source software engineered systems and propose a taxonomy of identifier clones containing categories that can explain why they are introduced into systems and whether they represent naming antipatterns.
Library of Congress Subject Headings
Software maintenance--Quality control; Readability (Literary style); File organization (Computer science); Grounded theory
Publication Date
5-2022
Document Type
Thesis
Student Type
Graduate
Degree Name
Software Engineering (MS)
Department, Program, or Center
Software Engineering (GCCIS)
Advisor
Christian D. Newman
Advisor/Committee Member
J. Scott Hawker
Advisor/Committee Member
Mohamed Wiem Mkaouer
Recommended Citation
Gutierrez Galaviz, Luis Angel, "Why did you clone these identifiers? Using Grounded Theory to understand Identifier Clones" (2022). Thesis. Rochester Institute of Technology. Accessed from
https://repository.rit.edu/theses/11143
Campus
RIT – Main Campus
Plan Codes
SOFTENG-MS