代码标识符归一化方法及其应用研究

基本信息
批准号:61902181
项目类别:青年科学基金项目
资助金额:26.00
负责人:张静宣
学科分类:
依托单位:南京航空航天大学
批准年份:2019
结题年份:2022
起止时间:2020-01-01 - 2022-12-31
项目状态: 已结题
项目参与者:
关键词:
生态系统形成和演化代码推荐缺陷定位软件制品可追踪性标识符分析
结项摘要

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项,并构建了对应软件原型工具。通过本项目的实施,可以辅助开发人员准确定义、分析、理解、修改标识符及其代码,提高代码质量,实现软件系统的良性开发与演化。

项目成果
{{index+1}}

{{i.achievement_title}}

{{i.achievement_title}}

DOI:{{i.doi}}
发表时间:{{i.publish_year}}

暂无此项成果

数据更新时间:2023-05-31

其他相关文献

1

演化经济地理学视角下的产业结构演替与分叉研究评述

演化经济地理学视角下的产业结构演替与分叉研究评述

DOI:10.15957/j.cnki.jjdl.2016.12.031
发表时间:2016
2

玉米叶向值的全基因组关联分析

玉米叶向值的全基因组关联分析

DOI:
发表时间:
3

监管的非对称性、盈余管理模式选择与证监会执法效率?

监管的非对称性、盈余管理模式选择与证监会执法效率?

DOI:
发表时间:2016
4

正交异性钢桥面板纵肋-面板疲劳开裂的CFRP加固研究

正交异性钢桥面板纵肋-面板疲劳开裂的CFRP加固研究

DOI:10.19713/j.cnki.43-1423/u.t20201185
发表时间:2021
5

硬件木马:关键问题研究进展及新动向

硬件木马:关键问题研究进展及新动向

DOI:
发表时间:2018

张静宣的其他基金

相似国自然基金

1

耦合传递过程的归一化系统集成理论及其应用研究

批准号:20936004
批准年份:2009
负责人:冯霄
学科分类:B0806
资助金额:160.00
项目类别:重点项目
2

深刻蚀光栅的归一化设计方法

批准号:61078050
批准年份:2010
负责人:周常河
学科分类:F0508
资助金额:39.00
项目类别:面上项目
3

复杂恶意代码逆向分析方法研究

批准号:60703076
批准年份:2007
负责人:苏璞睿
学科分类:F0205
资助金额:19.00
项目类别:青年科学基金项目
4

代码融合的软件信息隐藏方法研究

批准号:61373132
批准年份:2013
负责人:田祖伟
学科分类:F0206
资助金额:76.00
项目类别:面上项目