基于代码图遍历的可扩展缺陷检测
软件工程
2024-06-13 v1
摘要
在软件工程中,早期检测缺陷和漏洞长期以来是一个挑战。静态分析作为一种在不执行代码的情况下检查代码的技术,已成为应对这一挑战的关键策略。尽管近期进展取得了显著成果,但现有基于图的分析工具仍面临性能和可扩展性问题。主要瓶颈在于 CPG(代码属性图)的大小和复杂性,这使得对大型代码库的分析效率低下且占用大量内存。此外,当前工具使用的查询规则可能过于具体。因此,我们引入了 QVoG,这是一个基于图的静态分析平台,用于检测缺陷和漏洞。它采用压缩后的 CPG 表示以保持合理的图大小,从而提高整体查询效率。基于 CPG,它还提供了声明式查询语言以简化查询。进一步,它整合了机器学习以增强漏洞检测的通用性。对于由 100 万行代码组成的项目,QVoG 可在约 15 分钟内完成分析,而 CodeQL 需要约 19 分钟。
引用
@article{arxiv.2406.08098,
title = {Scalable Defect Detection via Traversal on Code Graph},
author = {Zhengyao Liu and Xitong Zhong and Xingjing Deng and Shuo Hong and Xiang Gao and Hailong Sun},
journal= {arXiv preprint arXiv:2406.08098},
year = {2024}
}