Empirical Software Metrics for Benchmarking of Verification Tools [chapter]

Yulia Demyanova, Thomas Pani, Helmut Veith, Florian Zuleger
2015 Lecture Notes in Computer Science  
We study empirical metrics for software source code, which can predict the performance of verification tools on specific types of software. Our metrics comprise variable usage patterns, loop patterns, as well as indicators of control-flow complexity and are extracted by simple data-flow analyses. We demonstrate that our metrics are powerful enough to devise a machine-learning based portfolio solver for software verification. We show that this portfolio solver would be the (hypothetical) overall
more » ... winner of the international competition on software verification (SV-COMP) in three consecutive years (2014)(2015)(2016). This gives strong empirical evidence for the predictive power of our metrics and demonstrates the viability of portfolio solvers for software verification. Moreover, we demonstrate the flexibility of our algorithm for portfolio construction in novel settings: originally conceived for SV-COMP'14, the construction works just as well for SV-COMP'15 (considerably more verification tasks) and for SV-COMP'16 (considerably more candidate verification tools).
doi:10.1007/978-3-319-21690-4_39 fatcat:y7dktz6gfreq5dwhlck3ho3wwi