代码静态分析工具的能力评估与集成优化技术研究

来源 :国防科学技术大学 | 被引量 : 0次 | 上传用户:network_worm
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
静态分析已成为软件质量保障的重要手段,且已有大量优秀的静态分析工具。但不同的工具具有不同的特点和优势,同时较高的误报和漏报仍然是现有静态分析技术和工具的一个主要问题。如何高效选择合适的工具和提高分析精度成为使用静态分析工具的主要挑战。针对这两个问题,论文开展了四个方面的研究。1、基于标准测试集Juliet的51399个测试用例,从CWE类型和代码结构复杂度类型两个评估维度,使用精确度、召回率、F-Score、区分度、交叉度、覆盖度六个评估指标,对三个著名的开源静态分析工具和某主流商业工具A进行了系统的评估。首先对四个工具在测试集上的整体性能进行了评估;接着基于91种CWE类型、48种代码结构复杂度类型对四个工具进行了详细的评估,得到了工具适合分析的缺陷类型。然后进行了工具交叉分析,评估了工具间的相似度,并对工具交叉缺陷进行了研究。最后评估了工具简单集成较单个工具检测性能的提升效果。2、基于四种静态分析工具的简单集成,使用朴素贝叶斯、逻辑回归、决策树、支持向量机这四种机器学习分类算法,把四种工具集成后的缺陷分为正报缺陷和误报缺陷,并去除误报缺陷。实现了在小幅度降低整体召回率的基础上,大幅度提高了简单集成后缺陷报告的精确度。3、针对静态分析工具评估的关键问题“测试集扩展”进行了探索和研究。首先,人工审查了两个开源工具和商业工具A在Nginx、麒麟操作系统部分代码等7个开源和闭源代码上的缺陷报告,记录了这200多个缺陷的缺陷原因、缺陷核心代码等,并对三个工具进行了评估。其次,实现了基于Bugzilla和JIRA的专用缺陷爬取程序,并提供了缺陷是否有补丁文件这一接口,可方便后人基于此实现更快速的测试集持续扩展。4、设计实现了代码静态分析工具评估框架,实现了评估工作的自动化和可视化。该框架可实现:测试集的批量检测、缺陷报告的解析与标准化、工具评估,具备较好的易用性和可扩展性。
其他文献
目的改善院前急救时护患矛盾,减少护患纠纷,提高防范措施。方法通过对院前急救中护患纠纷的常见因素的分析,加强护患沟通,增加收费的透明度,提高急救技能。结果急救患者及家属满意
党的十八大报告强调:要把立德树人作为教育的根本任务,培养德智体美全面发展的社会主义建设者和接班人。教育部《关于全面深化课程改革落实立德树人根本任务的意见》指出:立
《日本的外交》,是著名历史学家入江昭的著作。这部作品向读者展示了日本明治维新之后的外交政策,并结合当时的一些历史事件,从政治、经济、文化等方面分析了制定外交政策的背景
近年来,血清中蒙药成分的结构及与活性的关系、动力学、药效学行为均通过蒙药血清药物化学与血清药理学的研究来描述;而蒙药血清药物化学与血清药理学等学科形成的基础与推动
奉节天坑地缝国家风景名胜区位于奉节县东南部,是七曜山山脉与巫山山脉中的一部分,地质遗迹景观资源丰富多样,以喀斯特地貌景观为主要代表,其中以世界上形态典型、规模最大的
公司法上规定的与公司相关的各主体在民事责任方面具有共同的特征,在确立有关主体的民事责任时,应特别注重对公司资本的保护,加强对无过错责任的规定并对有限责任时,应特别注重对
本文介绍了回归式反光材料的光学原理,分析了回归式反光材料的国内外研究现状。对国内回归式反光材料的进一步研究方向作了探讨。 This paper introduces the optical princi