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
演化经济地理学视角下的产业结构演替与分叉研究评述
玉米叶向值的全基因组关联分析
监管的非对称性、盈余管理模式选择与证监会执法效率?
正交异性钢桥面板纵肋-面板疲劳开裂的CFRP加固研究
硬件木马:关键问题研究进展及新动向
耦合传递过程的归一化系统集成理论及其应用研究
深刻蚀光栅的归一化设计方法
复杂恶意代码逆向分析方法研究
代码融合的软件信息隐藏方法研究