一句话:用静态分析、符号执行与模糊测试三类工具,比较 GNU 工具多版本的缺陷演化与检测差异。
软件缺陷演化在软件工程中已有较多研究。本文使用三种基于不同方法的程序分析工具——静态分析、符号执行和模糊测试——检查两个流行编程工具集(GNU Binary utilities 与 Core utilities)的多个版本,判断其缺陷是否随时间增加或减少。作者对工具检测结果进行定性分析,比较各工具发现的缺陷类型及其有效性。结果表明,无法断言缺陷总体随时间减少或增加,且不同工具因其采用的方法不同会识别不同类型的缺陷。
The evolution of software bugs has been a well-studied topic in software engineering. We used three different program analysis tools to examine the different versions of two popular sets of programming tools (gnu Binary and Core utilities), and check if their bugs increase or decrease over time. Each tool is based on a different approach, namely: static analysis, symbolic execution, and fuzzing. In this way we can observe potential differences on the kinds of bugs that each tool detects and examine their effectiveness. To do so, we have performed a qualitative analysis on the results. Overall, our results indicate that we cannot say if bugs either decrease or increase over time and that the tools identify different bug types based on the method they follow.
DOI 原文 ·
@inproceedings{paperbot5148,
title = {Employing different program analysis methods to study bug evolution},
author = {Charalambos Mitropoulos},
booktitle = {FSE},
year = {2019},
doi = {10.1145/3338906.3342489}
}