国内刊号:11-2560/TP
国际刊号:1000-9825
发布日期:
作者:李广威,袁挺,李炼
单位:李广威,计算机体系结构国家重点实验室(中国科学院 计算技术研究所), 北京 100190;中国科学院大学, 北京 10004911,袁挺,计算机体系结构国家重点实验室(中国科学院 计算技术研究所), 北京 100190;中国科学院大学, 北京 10004902,李炼,计算机体系结构国家重点实验室(中国科学院 计算技术研究所), 北京 100190;中国科学院大学, 北京 10004903
关键词:软件缺陷检测;静态分析;软件质量保证;源码安全
基金:国家自然科学基金(61802368,62090024)
软件静态缺陷检测是软件安全领域中的一个研究热点.随着使用C/C++语言编写的软件规模和复杂度的逐渐提高,软件迭代速度的逐渐加快,由于静态软件缺陷检测不需要运行目标代码即可发现其中潜藏的缺陷,因而在工业界和学术界受到了更为广泛的关注.近年来涌现出大量使用软件静态分析技术的检测工具,并在不同领域的软件项目中发挥了不可忽视的作用,但是开发者仍然对静态缺陷检测工具缺乏信心.高误报率是C/C++静态缺陷检测工具难以普及的首要原因.因此,选择现有的较为完善的开源C/C++静态缺陷检测工具,在Juliet基准测试集和37个良好维护的开源软件项目上对特定类型缺陷的检测效果进行了深入研究,结合检测工具的具体实现,归纳了导致静态缺陷检测工具产生误报的关键原因.同时,通过研究静态缺陷检测工具的版本迁移轨迹,总结出了当下静态分析工具的发展方向和未来趋势,有助于未来静态分析技术的优化和发展,从而实现静态缺陷检测工具的普及应用.
来源:2022年第6期
《软件学报》期刊编辑部