XTA辅助的Java冗余代码检测与知识图谱应用
需积分: 5 105 浏览量
更新于2024-08-03
收藏 1.33MB PDF 举报
"该文提出了一种将静态分析与知识图谱相结合的Java冗余代码检测方法,通过改进快速类型分析算法,利用XTA调用图构造算法提高检测精度,并在名为RCD的工具中实现,同时借助知识图谱辅助人工审查,提升检测效率和可信度。实验结果显示,RCD在冗余代码检测的准确性和完整性上优于其他工具。"
在软件开发过程中,冗余代码是一个常见的问题,它可能导致内存浪费、代码维护困难和额外的维护成本。针对Java语言,静态分析是一种常用的冗余代码检测手段,尤其是快速类型分析算法,但这种算法在处理虚方法分析时可能存在局限性。XTA(eXtended Type Analysis)调用图构造算法则在虚方法调用的精确性和效率上有显著优势。
文章提出的新方法是将XTA算法应用于Java代码的静态分析,以改善对虚方法的检测能力,从而更有效地找出冗余代码。此外,作者开发了一个名为"RCD"的工具原型,该工具集成了这一方法,以帮助检测Java代码中的冗余部分。为提高人工审查的效率和检测结果的可靠性,RCD还引入了知识图谱的概念。知识图谱可以将程序中的实体和关系可视化,辅助开发者理解和审核检测结果,降低误报率。
在实验阶段,RCD被用于四个开源Java应用的测试,与另外三个冗余代码检测工具进行了对比。实验结果显示,RCD在检测冗余代码的准确性上提高了1%至30%,在检测冗余虚方法的完整性上提升了约4%,这表明了所提出方法的有效性。
总结起来,这篇文章介绍了一种创新的冗余代码检测策略,结合了静态分析的XTA算法和知识图谱技术,旨在提供更准确、更完整的冗余代码检测解决方案,有助于优化软件质量和降低维护成本。这种方法不仅提升了检测工具的性能,也为未来类似的研究提供了新的思路。
2024-04-10 上传
2021-06-27 上传
2021-08-14 上传
2021-07-15 上传
2022-12-15 上传
2022-11-26 上传
2019-09-02 上传
2022-11-23 上传
2021-04-24 上传
赵闪闪168
- 粉丝: 1450
- 资源: 2758
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析