SATune: A Study-Driven Auto-Tuning Approach for Configurable Software Verification Tools
Ugur Koc, Austin Mordahl, Shiyi Wei, Jeffrey S. Foster, Adam A. Porter
Abstract
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 under their default configurations, because understanding these tradeoffs requires significant expertise. In this paper, we ask how well a single, default configuration can work in general, and we propose SATUNE, a novel tool for automatically configuring program verification tools for given target programs. To answer our question, we gathered a dataset that runs four well-known program verification tools against a range of C and Java benchmarks, with results labeled as correct, incorrect, or inconclusive (e.g., timeout). Examining the dataset, we find there is generally no one-size-fits-all best configuration. Moreover, a statistical analysis shows that many individual configuration options do not have simple tradeoffs: they can be better or worse depending on the program. Motivated by these results, we developed SATUNE, which constructs configurations using a meta-heuristic search. The search is guided by a surrogate fitness function trained on our dataset. We compare the performance of SATUNE to three baselines: a single configuration with the most correct results in our dataset; the most precise configuration followed by the most correct configuration (if needed); and the most precise configuration followed by random search (also if needed). We find that SATUNE outperforms these approaches by completing more correct tasks with high precision. In summary, our work shows that good configurations for verification tools are not simple to find, and SATUNE takes an important step towards automating the process of finding them.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 915e5dee-f393-4bb0-8dcb-d10d3875a48bCited by top-tier papers4
- Statfier: Automated Testing of Static Analyzers via Semantic-Preserving Program TransformationsHuaien Zhang, Yu Pei, Junjie Chen, Shin Hwei TanFSE 2023 · 15 citations
- Predicting Configuration Performance in Multiple Environments with Sequential Meta-LearningJingzhi Gong, Tao ChenFSE 2024 · 13 citations
- Bayesian Multi-Level Performance Models for Multi-Factor Variability of Configurable Software SystemsJohannes Dorn, Stefan Mühlbauer, Stefan Jahns, Sven Apel et al.ICSE 2026
- Two-Level Adaptation for Budget-Constrained Continuous Dynamic Dependence AnalysisXiaoqin Fu, Haipeng CaiFSE 2026
Related papers
- Satune: synthesizing efficient SAT encodersHamed Gorjiara, Guoqing Harry Xu, Brian DemskyOOPSLA 2020 · 4 citations
- Automatically Tailoring Abstract Interpretation to Custom Usage ScenariosMuhammad Numair Mansur, Benjamin Mariano, Maria Christakis, Jorge A. Navas et al.CAV 2021 · 5 citations
- Practical, Utilitarian Algorithm ConfigurationDevon R. Graham, Eros Rojas Velez, Kevin Leyton-BrownAAAI 2026
- Cooperative Software Verification via Dynamic Program SplittingCedric Richter, Marek Chalupa, Marie-Christine Jakobs, Heike WehrheimICSE 2025 · 1 citation
- On the Relationship between Code Verifiability and UnderstandabilityKobi Feldman, Martin Kellogg, Oscar ChaparroFSE 2023 · 2 citations
