ISSTA2023
ECSTATIC: Automatic Configuration-Aware Testing and Debugging of Static Analysis Tools
Austin Mordahl, Dakota Soles, Miao Miao, Zenong Zhang, Shiyi Wei
2 citations
Abstract
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%. CCS CONCEPTS • Software and its engineering → Software testing and debugging; Automated static analysis.