Model Checking with Multi-threaded IC3 Portfolios

4 years 2 months ago
Model Checking with Multi-threaded IC3 Portfolios
Three variants of multi-threaded ic3 are presented. Each variant has a fixed number of ic3s running in parallel, and communicating by sharing lemmas. They differ in the degree of synchronization between threads, and the aggressiveness with which proofs are checked. The correctness of all three variants is shown. The variants have unpredictable runtime. On the same input, the time to find the solution over different runs varies randomly depending on the thread interleaving. The use of a portfolio of solvers to maximize the likelihood of a quick solution is investigated. Using the Extreme Value theorem, the runtime of each variant, as well as their portfolios is analyzed statistically. A formula for the portfolio size needed to achieve a verification time with high probability is derived, and validated empirically. Using a portfolio of 20 parallel ic3s, speedups over 300 are observed compared to the sequential ic3 on hardware model checking competition examples. The use of parameter...
Sagar Chaki, Derrick Karimi
Added 11 Apr 2016
Updated 11 Apr 2016
Type Journal
Year 2016
Authors Sagar Chaki, Derrick Karimi
Comments (0)