As an important research content of source code analysis and comprehension, identifier normalization is the leading field of the current research of software engineering. Identifier normalization aims to parse identifiers into natural language terms so as to improve the understandability and maintainability of source code. The performance of existing identifier normalization algorithms needs to be improved. In addition, existing studies do not systematically analyze the evolution patterns of identifiers with their normalization, which seriously affects the results of some software development tasks by leveraging identifier normalization. Targeted towards tackling the shortcomings of existing studies, this project issues a series of research contents to resolve, analyze, and apply identifier normalization. These research contents can be divided into three levels, namely 1) the level of algorithm design – how to boost the performance of identifier normalization algorithms by leveraging the generality and uniqueness of identifiers, 2) the level of data analysis – how to analyze the evolution patterns of identifiers with their normalization along with different versions and granularities of source code repositories, 3) the level of application – how to improve the results of typical software development tasks by leveraging identifiers with their normalization. To resolve these challenging research contents, this project develops a feasible research program based on existing work. The project can effectively enhance the current work on identifier normalization, summarize the evaluation patterns of identifier normalization, and extend the research area of identifier normalization.
作为代码分析和理解的重要内容,代码标识符及其归一化是国际学术界的前沿热点研究领域。标识符归一化旨在将标识符解析成自然语言词汇,以提高代码的可理解性和可维护性。现有的标识符归一化算法的性能有待提升,标识符及其归一化的演化规律尚未经过系统性归纳,严重影响了标识符归一化提升相关软件开发任务的效果。本项目针对现有工作的不足,围绕标识符归一化的算法设计、数据分析、应用,凝练出三个层面的研究内容:1)在算法设计层面,利用标识符的通用性和独特性提升标识符归一化的算法效果;2)在数据分析层面,归纳标识符及其归一化在软件代码库的不同版本和不同粒度的演化规律;3)在应用方面,利用标识符归一化提升典型的软件开发任务的效果。针对这些挑战性的研究内容,本项目结合现有的研究基础,制定了切实可行的研究方案。本项目有望显著提升标识符归一化的算法性能,归纳标识符归一化的演化规律,拓展标识符归一化的研究范畴。
代码标识符归一化的目标是将标识符解析成一系列自然语言词汇,一方面方便开发人员阅读和理解标识符所代表的语义功能,另一方面可以匹配其他软件制品以提高软件自动化工具的效果。针对标识符归一化算法设计尚未充分考虑编程上下文语义及开发人员的编程风格、标识符及其归一化的演化分布规律尚未经过系统性总结和归纳、标识符及其归一化对典型软件开发任务的提升效果尚不明晰等问题,本项目开展了一系列的研究工作,主要研究内容包括:1)创新地提出了基于深度预训练模型的标识符组合词拆分算法和基于问答系统的标识符缩写词扩展算法,经过在公开数据集上进行验证,该标识符归一化方法超过现有最好方法10%左右。2)首次系统性归纳了标识符及其归一化的各个维度的性质和标识符及其归一化的风格的演化规律,为开发人员定义和修改标识符提供了指导和借鉴。3)应用标识符及其归一化结果提升典型的软件开发任务的效果,包括API指令检测、标识符重命名机会识别及推荐等,在真实数据集上的结果显示标识符及其归一化可以不同程度地提高这些典型软件开发任务的效果。在本项目的支持下,共发表学术论文11篇,申请国家发明专利4项,并构建了对应软件原型工具。通过本项目的实施,可以辅助开发人员准确定义、分析、理解、修改标识符及其代码,提高代码质量,实现软件系统的良性开发与演化。
{{i.achievement_title}}
数据更新时间:2023-05-31
珠江口生物中多氯萘、六氯丁二烯和五氯苯酚的含量水平和分布特征
向日葵种质资源苗期抗旱性鉴定及抗旱指标筛选
复杂系统科学研究进展
基于LS-SVM香梨可溶性糖的近红外光谱快速检测
基于MCPF算法的列车组合定位应用研究
耦合传递过程的归一化系统集成理论及其应用研究
深刻蚀光栅的归一化设计方法
复杂恶意代码逆向分析方法研究
代码融合的软件信息隐藏方法研究