Namesake: A Checker of Lexical Similarity in Identifier Names

被引:1
作者
Al Madi, Naser [1 ]
机构
[1] Colby Coll, Waterville, ME 04901 USA
来源
PROCEEDINGS OF THE 37TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, ASE 2022 | 2022年
关键词
identifier naming; readability; code comprehension; similarity; opensource tool; PROGRAM COMPREHENSION;
D O I
10.1145/3551349.3560441
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Identifier naming is one of the main sources of information in program comprehension, where a significant portion of software development time is spent. Previous research shows that similarity in identifier names could potentially hinder code comprehension, and subsequently code maintenance and evolution. In this paper, we present an open-source tool for assessing confusing naming combinations in Python programs. The tool which we call Namesake, flags confusing identifier naming combinations that are similar in orthography (word form), phonology (pronunciation), or semantics (meaning). Our tool extracts identifier names from the abstract syntax tree of a program, splits compound names, and evaluates the similarity of each pair in orthography, phonology, and semantics. Problematic identifier combinations are flagged to programmers along with their line numbers. In combination with existing coding style checkers, Namesake can provide programmers with an additional resource to enhance identifier naming quality. The tool can be integrated easily in DevOps pipelines for automated checking and identifier naming appraisal.
引用
收藏
页数:5
相关论文
共 25 条
[1]  
Al Madi Naser, 2022, 2022 33 ANN WORKSH P
[2]   An Investigation of Compound Variable Names Toward Automated Detection of Confusing Variable Pairs [J].
Aman, Hirohisa ;
Amasaki, Sousuke ;
Yokogawa, Tomoyuki ;
Kawahara, Minoru .
2021 36TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING WORKSHOPS (ASEW 2021), 2021, :133-137
[3]   A New Family of Software Anti-Patterns: Linguistic Anti-Patterns [J].
Arnaoudova, Venera ;
Di Penta, Massimiliano ;
Antoniol, Giuliano ;
Gueheneuc, Yann-Gael .
PROCEEDINGS OF THE 17TH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING (CSMR 2013), 2013, :187-196
[4]  
Barry B, 1981, Software engineering economics, P197
[5]   The impact of identifier style on effort and comprehension [J].
Binkley, Dave ;
Davis, Marcia ;
Lawrie, Dawn ;
Maletic, Jonathan I. ;
Morrell, Christopher ;
Sharif, Bonita .
EMPIRICAL SOFTWARE ENGINEERING, 2013, 18 (02) :219-276
[6]   Exploring the Influence of Identifier Names on Code Quality: an empirical study [J].
Butler, Simon ;
Wermelinger, Michel ;
Yu, Yijun ;
Sharp, Helen .
14TH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING (CSMR 2010), 2010, :156-165
[7]  
CMU Pronouncing Dictionary, 1998, Carnegie-Mellon University Pronouncing Dictionary for American English
[8]   CONGRUENCY FACTORS RELATED TO VISUAL CONFUSION OF ENGLISH LETTERS [J].
DUNNRANKIN, P ;
LETON, DA ;
SHELTON, VF .
PERCEPTUAL AND MOTOR SKILLS, 1968, 26 (02) :659-+
[9]   Measuring the impact of lexical and structural inconsistencies on developers' cognitive load during bug localization [J].
Fakhoury, Sarah ;
Roy, Devjeet ;
Ma, Yuzhan ;
Arnaoudova, Venera ;
Adesope, Olusola .
EMPIRICAL SOFTWARE ENGINEERING, 2020, 25 (03) :2140-2178
[10]  
Hucka Michael, 2018, J OPEN SOURCE SOFTW, V24, P653, DOI DOI 10.21105/JOSS.00653