龚丹
- 作品数:2 被引量:7H指数:1
- 供职机构:哈尔滨工业大学计算机科学与技术学院更多>>
- 发文基金:国家自然科学基金黑龙江省自然科学基金更多>>
- 相关领域:自动化与计算机技术更多>>
- Clang编译平台优势分析
- 2017年
- 当前用户对软件产品在功能上、体验上的需求多种多样,这就对软件开发和维护的时效性要求越来越高。作为软件开发中使用的主流语言——C家族的编程语言,若要在激烈的竞争中保持住自己的主流地位,其支撑平台和工具也需要不断寻求快速、轻量、易于剪裁等方面的突破。Clang源自于伊利诺伊大学的LLVM研究项目,并有苹果公司的开发支持,是一款革新性的C家族语言编译器。Clang不仅在编译速度上普遍比传统的编译器快,并且其基于库的体系结构,使得Clang易于剪裁、体量轻盈,同时,还具有强大的动、静态分析功能,发布不到十年,已经得到了软件开发和维护专业人员的广泛认可。
- 龚丹苏小红王甜甜
- 关键词:软件开发编译器语法分析抽象语法树
- 基于软件历史仓库和抽象语法树的相似缺陷识别方法被引量:7
- 2020年
- 软件开发过程中,软件开发人员常常通过搜索软件历史仓库(historical software repository,HSR),再经复制/粘贴以实现软件复用。HSR中会保存被复用的代码的缺陷及修复信息,辅助处理相似缺陷。基于此,提出一种基于HSR挖掘的相似缺陷识别方法。首先,基于变更日志的分析,从HSR中提取出已知缺陷的模块,建立bug模块库。然后,采用基于抽象语法树(abstract syntax tree,AST)的相似代码检测方法,识别待测试软件与bug模块库中相似的代码,并借助HSR中保存的相应缺陷及修复信息,完成待测试软件中可能包含潜在缺陷的模块的识别。同时,为提高相似代码的识别精度,优化基于AST的代码特征度量。在18个C程序、164对克隆代码上进行实验,结果表明所提方法能够识别出全部相似代码且性能优于已有工具。在人工构建的bug模块库上验证了代码相似性对相似缺陷识别的作用。最后,在8个真实的大型C项目上进行验证,平均缺陷召回率达到94%,表明挖掘HSR可以有效地为跨项目传播的相似代码提供缺陷理解支持。
- 龚丹龚丹王甜甜苏小红
- 关键词:软件复用克隆代码抽象语法树