一句话:通过实证数据集揭示验证工具无通用最优配置,并提出基于代理适应度搜索的自动配置工具 SATune。
许多程序验证工具提供运行时配置选项,在性能、精度和可靠性之间权衡,但用户通常使用默认配置,因为理解这些权衡需要专业知识。本文首先构建了一个数据集,用四款知名验证工具运行多种 C 和 Java 基准,并将结果标记为正确、错误或不确定(如超时)。分析发现不存在一劳永逸的最佳配置,且许多配置选项的取舍随程序变化,并非简单单调。为此作者提出 SATune:基于元启发式搜索构造配置,并由在数据集上训练的代理适应度函数引导。与最佳单一配置、最精确配置后接最正确配置、最精确配置后接随机搜索三种基线相比,SATune 能以更高精度完成更多正确任务。
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.
DOI 原文 ·
@inproceedings{paperbot6587,
title = {SATune: A Study-Driven Auto-Tuning Approach for Configurable Software Verification Tools},
author = {Ugur Koc and Austin Mordahl and Shiyi Wei and Jeffrey S. Foster and Adam A. Porter},
booktitle = {ASE},
year = {2021},
doi = {10.1109/ase51524.2021.9678761}
}