Contextualizing rename decisions using refactorings, commit messages, and data types

Contextualizing rename decisions using refactorings, commit messages, and data types
复制标题

DOI:
10.1016/j.jss.2020.110704
复制
发表时间:
2020-11
期刊:
J. Syst. Softw.
影响因子:
--
通讯作者:
Anthony S Peruma;Mohamed Wiem Mkaouer;M. J. Decker;Christian D. Newman
Anthony S Peruma;Mohamed Wiem Mkaouer;M. J. Decker;Christian D. Newman
中科院分区:
其他
文献类型:
--
作者:
Anthony S Peruma;Mohamed Wiem Mkaouer;M. J. Decker;Christian D. Newman

文献摘要

被引文献

相似文献

标识符名是程序理解的原子。弱标识符名称降低了开发人员的生产力,并降低了在源代码分析中利用标识符名称的自动化方法的性能;威胁到人工智能和机器学习进步所带来的许多优势。因此,支持开发人员命名和重命名标识符至关重要。在本文中,我们扩展了我们以前的工作,研究了名称演变的主要方法:重命名重构。在我们之前的工作中,我们通过检查提交消息和其他重构来上下文化重命名更改。在此扩展中,我们进一步考虑与这些重命名同时发生的数据类型更改,目的是了解数据类型更改如何影响重命名的结构和语义。从长远来看,这项研究的结果将用于支持以下研究:(1)建议何时应用重命名,(2)建议如何重命名标识符,以及(3)开发一个模型,描述开发人员如何使用领域和项目知识在心理上协同名称。我们提供的见解,我们的数据如何可以支持重命名推荐和分析在未来,并反映了重大的挑战,我们的研究强调,为未来的研究,在推荐重命名。
Identifier names are the atoms of program comprehension. Weak identifier names decrease developer productivity and degrade the performance of automated approaches that leverage identifier names in source code analysis; threatening many of the advantages which stand to be gained from advances in artificial intelligence and machine learning. Therefore, it is vital to support developers in naming and renaming identifiers. In this paper, we extend our prior work, which studies the primary method through which names evolve: rename refactorings. In our prior work, we contextualize rename changes by examining commit messages and other refactorings. In this extension, we further consider data type changes which co-occur with these renames, with a goal of understanding how data type changes influence the structure and semantics of renames. In the long term, the outcomes of this study will be used to support research into: (1) recommending when a rename should be applied, (2) recommending how to rename an identifier, and (3) developing a model that describes how developers mentally synergize names using domain and project knowledge. We provide insights into how our data can support rename recommendation and analysis in the future, and reflect on the significant challenges, highlighted by our study, for future research in recommending renames.