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

被引:0
作者
Mordahl, Austin [1 ]
Soles, Dakota [1 ]
Miao, Miao [1 ]
Zhang, Zenong [1 ]
Wei, Shiyi [1 ]
机构
[1] Univ Texas Dallas, Richardson, TX 75083 USA
来源
PROCEEDINGS OF THE 32ND ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS, ISSTA 2023 | 2023年
关键词
static analysis; testing; debugging; configurable software;
D O I
10.1145/3597926.3604918
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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%.
引用
收藏
页码:1479 / 1482
页数:4
相关论文
共 21 条
  • [1] Andreasen E, 2014, ACM SIGPLAN NOTICES, V49, P17, DOI [10.1145/2714064.2660214, 10.1145/2660193.2660214]
  • [2] [Anonymous], 2022, The Call-graph Assessment & Test Suite
  • [3] [Anonymous], 2021, DroidBench 3.0
  • [4] Arzt S, 2014, ACM SIGPLAN NOTICES, V49, P259, DOI [10.1145/2594291.2594299, 10.1145/2666356.2594299]
  • [5] The DaCapo benchmarks: Java']Java benchmarking development and analysis
    Blackburn, Stephen M.
    Garner, Robin
    Hoffmann, Chris
    Khan, Asjad M.
    McKinley, Kathryn S.
    Bentzur, Rotem
    Diwan, Amer
    Feinberg, Daniel
    Frampton, Daniel
    Guyer, Samuel Z.
    Hirzel, Martin
    Hosking, Antony
    Jump, Maria
    Lee, Han
    Moss, J. Eliot B.
    Phansalkar, Aashish
    Stefanovic, Darko
    VanDrunen, Thomas
    von Dincklage, Daniel
    Wiedermann, Ben
    [J]. ACM SIGPLAN NOTICES, 2006, 41 (10) : 169 - 190
  • [6] Strictly Declarative Specification of Sophisticated Points-to Analyses
    Bravenboer, Martin
    Smaragdakis, Yannis
    [J]. ACM SIGPLAN NOTICES, 2009, 44 (10) : 243 - 261
  • [7] A Survey of Compiler Testing
    Chen, Junjie
    Patra, Jibesh
    Pradel, Michael
    Xiong, Yingfei
    Zhang, Hongyu
    Hao, Dan
    Zhang, Lu
    [J]. ACM COMPUTING SURVEYS, 2020, 53 (01)
  • [8] Debugging Static Analysis
    Do, Lisa Nguyen Quang
    Kruger, Stefan
    Hill, Patrick
    Ali, Karim
    Bodden, Eric
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2020, 46 (07) : 697 - 709
  • [9] FossDroid, 2022, About us
  • [10] Github, 2022, WALA