首页> 外文会议>2011 27th IEEE International Conference on Software Maintenance >Expanding identifiers to normalize source code vocabulary
【24h】

Expanding identifiers to normalize source code vocabulary

机译:扩展标识符以标准化源代码词汇表

获取原文

摘要

Maintaining modern software requires significant tool support. Effective tools exploit a variety of information and techniques to aid a software maintainer. One area of recent interest in tool development exploits the natural language information found in source code. Such Information Retrieval (IR) based tools compliment traditional static analysis tools and have tackled problems, such as feature location, that otherwise require considerable human effort. To reap the full benefit of IR-based techniques, the language used across all software artifacts (e.g., requirements, design, change requests, tests, and source code) must be consistent. Unfortunately, there is a significant proportion of invented vocabulary in source code. Vocabulary normalization aligns the vocabulary found in the source code with that found in other software artifacts. Most existing work related to normalization has focused on splitting an identifier into its constituent parts. The next step is to expand each part into a (dictionary) word that matches the vocabulary used in other software artifacts. Building on a successful approach to splitting identifiers, an implementation of an expansion algorithm is presented. Experiments on two systems find that up to 66% of identifiers are correctly expanded, which is within about 20% of the current system's best-case performance. Not only is this performance comparable to previous techniques, but the result is achieved in the absence of special purpose rules and not limited to restricted syntactic contexts. Results from these experiments also show the impact that varying levels of documentation (including both internal documentation such as the requirements and design, and external, or user-level, documentation) have on the algorithm's performance.
机译:维护现代软件需要强大的工具支持。有效的工具利用各种信息和技术来辅助软件维护人员。最近在工具开发中感兴趣的一个领域是利用源代码中的自然语言信息。这种基于信息检索(IR)的工具补充了传统的静态分析工具,并解决了诸如特征定位之类的问题,这些问题否则需要大量的人力。为了充分利用基于IR的技术,在所有软件工件(例如,需求,设计,变更请求,测试和源代码)中使用的语言必须保持一致。不幸的是,源代码中有很大比例的发明词汇。词汇规范化将源代码中的词汇与其他软件工件中的词汇对齐。现有的与规范化有关的大多数工作都集中在将标识符分成其组成部分上。下一步是将每个部分扩展为一个与其他软件工件中使用的词汇匹配的(词典)单词。以成功的标识符分割方法为基础,提出了扩展算法的实现。在两个系统上进行的实验发现,正确地扩展了多达66%的标识符,这大约是当前系统最佳情况下性能的20%。这种性能不仅可以与以前的技术相提并论,而且可以在没有特殊目的规则的情况下获得结果,并且不限于受限的语法环境。这些实验的结果还表明,不同级别的文档(包括内部文档(例如需求和设计)以及外部或用户级别的文档)对算法性能的影响。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号