XTA辅助的Java冗余代码检测与知识图谱应用

需积分: 5 0 下载量 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算法和知识图谱技术,旨在提供更准确、更完整的冗余代码检测解决方案,有助于优化软件质量和降低维护成本。这种方法不仅提升了检测工具的性能,也为未来类似的研究提供了新的思路。