SATUNE: A Study-Driven Auto-Tuning Approach for Configurable Software Verification Tools

被引:3
作者
Koc, Ugur [1 ]
Mordahl, Austin [2 ]
Wei, Shiyi [2 ]
Foster, Jeffrey S. [3 ]
Porter, Adam A. [1 ]
机构
[1] Univ Maryland, Dept Comp Sci, College Pk, MD 20742 USA
[2] Univ Texas Dallas, Dept Comp Sci, Richardson, TX 75083 USA
[3] Tufts Univ, Dept Comp Sci, Medford, MA 02155 USA
来源
2021 36TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING ASE 2021 | 2021年
关键词
Empirical software engineering; software analysis; testing; verification; validation;
D O I
10.1109/ASE51524.2021.9678761
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:330 / 342
页数:13
相关论文
共 74 条
  • [1] Agakov F, 2006, INT SYM CODE GENER, P295
  • [2] Suggesting Accurate Method and Class Names
    Allamanis, Miltiadis
    Barr, Earl T.
    Bird, Christian
    Sutton, Charles
    [J]. 2015 10TH JOINT MEETING OF THE EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND THE ACM SIGSOFT SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE 2015) PROCEEDINGS, 2015, : 38 - 49
  • [3] [Anonymous], 2018, RESULTS COMPETITION
  • [4] [Anonymous], MACH LEARN, DOI [10.1023/A:1010933404324, DOI 10.1023/A:1010933404324]
  • [5] [Anonymous], 2015, P COMPANION PUBLICAT, DOI DOI 10.1145/2739482.2768499
  • [6] [Anonymous], 2019, RESULTS COMPETITION
  • [7] OpenTuner: An Extensible Framework for Program Autotuning
    Ansel, Jason
    Kamil, Shoaib
    Veeramachaneni, Kalyan
    Ragan-Kelley, Jonathan
    Bosboom, Jeffrey
    O'Reilly, Una-May
    Amarasinghe, Saman
    [J]. PROCEEDINGS OF THE 23RD INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES (PACT'14), 2014, : 303 - 315
  • [8] A Survey on Compiler Autotuning using Machine Learning
    Ashouri, Amir H.
    Killian, William
    Cavazos, John
    Palermo, Gianluca
    Silvano, Cristina
    [J]. ACM COMPUTING SURVEYS, 2019, 51 (05)
  • [9] BACH A, 1990, ARCH HIST EXACT SCI, V41, P1
  • [10] Beyer Dirk, 2018, Leveraging Applications of Formal Methods, Verification and Validation. Verification. 8th International Symposium, ISoLA 2018. Proceedings: Lecture Notes in Computer Science (LNCS 11245), P144, DOI 10.1007/978-3-030-03421-4_11