Fork me on GitHub

Intersection and Rotation of Assumption Literals Boosts Bug-Finding

Rohit Dureja, Jianwen Li, Geguang Pu, Moshe Y. Vardi and Kristin Y. Rozier

This webpage contains further details and artifacts for reproducibility of the experiments in "Intersection and Rotation of Assumption Literals Boosts Bug-Finding" by R. Dureja, J. Li, G. Pu, M.Y. Vardi, K.Y. Rozier


Abstract

SAT-based techniques comprise the state-of-the-art in functional veri- fication of safety-critical hardware and software, including IC3/PDR-based model checking and Bounded Model Checking (BMC). BMC is the incontrovertible best method for unsafety checking, aka bug-finding. Complementary Approximate Reachability (CAR) and IC3/PDR complement BMC for bug-finding by detecting different sets of bugs. To boost the efficiency of formal verification, we introduce heuristics involving intersection and rotation of the assumption literals used in the SAT encodings of these techniques. The heuristics generate smaller unsat cores and diverse satisfying assignments that help in faster convergence of these techniques, and have negligible runtime overhead. We detail these heuristics, incorporate them in CAR, and perform an extensive experimental evaluation of their performance, showing a 25% boost in bug-finding efficiency of CAR. We contribute a detailed analysis of the effectiveness of these heuristics: their influence on SAT-based bug-finding enables detection of different bugs from BMC- based checking. We find the new heuristics are applicable to IC3/PDR-based algorithms as well, and contribute a modified clause generalization procedure.