Automatic testing and benchmarking for configurable static analysis tools

A Mordahl - Proceedings of the 32nd ACM SIGSOFT International …, 2023 - dl.acm.org
Static analysis is an important tool for detecting bugs in real-world software. The advent of
numerous analysis algorithms with their own tradeoffs has led to the proliferation of …

Learning fast and precise numerical analysis

J He, G Singh, M Püschel, M Vechev - Proceedings of the 41st ACM …, 2020 - dl.acm.org
Numerical abstract domains are a key component of modern static analyzers. Despite recent
advances, precise analysis with highly expressive domains remains too costly for many real …

Program analysis via efficient symbolic abstraction

P Yao, Q Shi, H Huang, C Zhang - Proceedings of the ACM on …, 2021 - dl.acm.org
This paper concerns the scalability challenges of symbolic abstraction: given a formula ϕ in
a logic L and an abstract domain A, find a most precise element in the abstract domain that …

Unsupervised learning of API aliasing specifications

J Eberhardt, S Steffen, V Raychev… - Proceedings of the 40th …, 2019 - dl.acm.org
Real world applications make heavy use of powerful libraries and frameworks, posing a
significant challenge for static analysis as the library implementation may be very complex or …

The impact of tool configuration spaces on the evaluation of configurable taint analysis for android

A Mordahl, S Wei - Proceedings of the 30th ACM SIGSOFT International …, 2021 - dl.acm.org
The most popular static taint analysis tools for Android allow users to change the underlying
analysis algorithms through configuration options. However, the large configuration spaces …

Automatically testing implementations of numerical abstract domains

A Bugariu, V Wüstholz, M Christakis… - Proceedings of the 33rd …, 2018 - dl.acm.org
Static program analyses are routinely applied as the basis of code optimizations and to
detect safety and security issues in software systems. For their results to be reliable, static …

SATune: a study-driven auto-tuning approach for configurable software verification tools

U Koc, A Mordahl, S Wei, JS Foster… - 2021 36th IEEE/ACM …, 2021 - ieeexplore.ieee.org
Many program verification tools can be customized via run-time configuration options that
trade off performance, precision, and soundness. However, in practice, users often run tools …

PReach: a heuristic for probabilistic reachability to identify hard to reach statements

S Saha, M Downing, T Brennan, T Bultan - Proceedings of the 44th …, 2022 - dl.acm.org
We present a heuristic for approximating the likelihood of reaching a given program
statement using 1) branch selectivity (representing the percentage of values that satisfy a …

Lightweight verification of array indexing

M Kellogg, V Dort, S Millstein, MD Ernst - Proceedings of the 27th ACM …, 2018 - dl.acm.org
In languages like C, out-of-bounds array accesses lead to security vulnerabilities and
crashes. Even in managed languages like Java, which check array bounds at run time, out …

Ecstatic: An extensible framework for testing and debugging configurable static analysis

A Mordahl, Z Zhang, D Soles… - 2023 IEEE/ACM 45th …, 2023 - ieeexplore.ieee.org
Testing and debugging the implementation of static analysis is a challenging task, often
involving significant manual effort from domain experts in a tedious and unprincipled …