ECSTATIC: Automatic Configuration-Aware Testing and Debugging of Static Analysis Tools

ECSTATIC: Automatic Configuration-Aware Testing and Debugging of Static Analysis Tools
复制标题

DOI:
10.1145/3597926.3604918
复制
发表时间:
2023-07
期刊:
Proceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis
影响因子:
--
通讯作者:
Austin Mordahl;Dakota Soles;Miao Miao-Miao;Zenong Zhang;Shiyi Wei
Austin Mordahl;Dakota Soles;Miao Miao-Miao;Zenong Zhang;Shiyi Wei
中科院分区:
其他
文献类型:
--
作者:
Austin Mordahl;Dakota Soles;Miao Miao-Miao;Zenong Zhang;Shiyi Wei

文献摘要

相似文献

静态分析是强大的工具,可作为测试等动态方法的补充。为确保通用性,许多静态分析工具是可配置的。然而,这些配置会使测试和调试变得更加困难。为解决这一问题,我们引入了一种新工具ECSTATIC,它利用分析配置选项之间的偏序关系自动测试和调试静态分析器,即使没有基本事实依据。由于在Docker容器中运行,ECSTATIC的结果是可重现的,并且ECSTATIC为用户提供了清晰的扩展接口,以便用户添加自己的工具和输入程序。我们在四种流行的数据流分析工具上对ECSTATIC进行了评估,在这四种工具中总共发现了74个漏洞。我们还发现,与6%的基准相比,ECSTATIC新颖的两阶段增量调试能够将实际程序减少50%。
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%.