一句话:提出配置感知的静态分析器自动化测试与调试工具 ECSTATIC,利用配置偏序关系发现 74 个缺陷并高效归约程序。
静态分析工具通常提供大量配置选项以保证通用性,但这使测试与调试更困难。ECSTATIC 利用分析配置选项之间的偏序关系,在无需 ground truth 的情况下自动测试和调试静态分析器;其运行于 Docker 容器中保证可复现,并提供扩展接口以加入新工具与输入程序。作者在四个流行的数据流分析工具上评估,共发现 74 个缺陷;其新颖的两阶段 delta debugging 能将真实程序缩减约 50%,而基线仅 6%。
Static analyses are powerful tools that can serve as a complement to dynamic approaches such as testing. In order to ensure generality, many static analysis tools are configurable. However, these configurations can make testing and debugging more difficult. To address this issue, we introduce a new tool, ECSTATIC, which leverages partial order relations between analysis configuration options to automatically test and debug static analyzers, even without ground truths. ECSTATIC’s results are reproducible by virtue of running within Docker containers, and ECSTATIC provides clear extension interfaces for users to add their own tools and input programs. We evaluated ECSTATIC on four popular dataflow analysis tools, and found 74 bugs in all four tools. We also found that ECSTATIC’s novel two-staged delta debugging was able to reduce real-world programs by 50%, compared to a baseline of 6%.
@inproceedings{paperbot8054,
title = {ECSTATIC: Automatic Configuration-Aware Testing and Debugging of Static Analysis Tools},
author = {Austin Mordahl and Dakota Soles and Miao Miao and Zenong Zhang and Shiyi Wei},
booktitle = {ISSTA},
year = {2023},
doi = {10.1145/3597926.3604918}
}