Automatically Tailoring Static Analysis to Custom Usage Scenarios
Muhammad Numair Mansur, Benjamin Mariano, Maria Christakis, Jorge A., Navas, Valentin W\"ustholz

TL;DR
This paper introduces TAILOR, a framework that automatically customizes static analyzers, specifically abstract interpreters, to specific code bases and resource constraints, significantly improving analysis effectiveness over default settings.
Contribution
The paper presents a novel automated technique for tailoring static analyzers to specific code and resource scenarios, enhancing their practical utility.
Findings
TAILOR-generated configurations outperform default options
Configurations vary significantly across different code bases
Tailored configurations remain effective across code versions
Abstract
In recent years, there has been significant progress in the development and industrial adoption of static analyzers. Such analyzers typically provide a large, if not huge, number of configurable options controlling the precision and performance of the analysis. A major hurdle in integrating static analyzers in the software-development life cycle is tuning their options to custom usage scenarios, such as a particular code base or certain resource constraints. In this paper, we propose a technique that automatically tailors a static analyzer, specifically an abstract interpreter, to the code under analysis and any given resource constraints. We implement this technique in a framework called TAILOR, which we use to perform an extensive evaluation on real-world benchmarks. Our experiments show that the configurations generated by TAILOR are vastly better than the default analysis options,…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Software System Performance and Reliability · Software Engineering Research
