160 likes | 272 Views
This paper presents a novel approach to counterexample minimization through Incremental SAT, specifically targeting the challenges posed by model checkers in explaining property violations of complex systems. We discuss the Brute Force Lifting (BFL) algorithm and its limitations, highlighting significant case studies where traditional methods struggle to decipher long counterexamples. Our experimental results demonstrate that our method is 1-2 orders of magnitude faster than existing BFL techniques, achieving substantial speed-ups with only minor losses in counterexample minimization capability.
E N D
Minimizing Counterexample with Refutation Analysis and Incremental SAT Shengyu Shen School of Computer Science National University of Defence Technology
Outline • Motivation • Brute Force Lifting algorithm • Refutation Analysis • Experiment Result • Conclusion
Motivation • Model Checker generate counterexample to explain property violation. • Long counterexample of complex system are very hard to be understand.
Example • DiVer can search 96 steps for a circuit with 416k gates and 12.7k latches • Pankaj Chauhan’s symbolic simulator can search 183 steps for a circuit with 4494 latches.
Outline • Motivation • Brute Force Lifting algorithm • Refutation Analysis • Experiment Result • Conclusion
Free W0 W1 W2 Property violation X0 X1 X2 X3 BFL Concept CEX : Free {0,1}
W0 W1 W2 X0 X1 X2 X3 BFL Concept(Cont. 1) 0 1 Property violation Property violation again Thus W2 is an irrelevant variable
BFL Concept(Cont. 2) • Thus variable v is irrelevant • Λ0ik-1T(Si,Si+1) fkAssign(Free-{v}) is UNSAT
Try W2 Try W1 Try W0 W0 W1 W2 X0 X1 X2 X3 Try X0 BFL Implementation
BFL—Difficulty and Solution • Difficulty: Too high run time complexity Why: Need to call SAT solver for very free variables Solution: Reduce the number of calling SAT solver How: Eliminate multiple variables after every SAT solving
Outline • Motivation • Brute Force Lifting algorithm • Refutation Analysis • Experiment Result • Conclusion
The set of Unit Clause S All literal of c Refutation Analysis If {v} or {v} S, then v R When UNSAT There must be a conflict clause c at decision level 0
Try W2 R W0 W1 W2 X0 X1 X2 X3 BFL with Refutation Analysis Property violation
Outline • Motivation • Brute Force Lifting algorithm • Refutation Analysis • Experiment Result • Conclusion
1st step of our approach BFL 2nd step of our approach Experiment Result |Free| time
Conclusion • Our approach is 1~2 order of magnitude faster than BFL. • Our approach achieve this speedup with only minor lost in its counterexample minimization ability.