IC3 Software Model Checking on Control Flow Automata
Tim Lange 1 Martin R. NeuhΓ€uΓer 2 Thomas Noll 1
1 Software Modeling and Verification Group, RWTH Aachen 2 Siemens AG
IC3 Software Model Checking on Control Flow Automata Tim Lange 1 - - PowerPoint PPT Presentation
IC3 Software Model Checking on Control Flow Automata Tim Lange 1 Martin R. Neuhuer 2 Thomas Noll 1 1 Software Modeling and Verification Group, RWTH Aachen 2 Siemens AG FMCAD 2015 at Austin, TX, USA, September 29, 2015 Introduction Outline
1 Software Modeling and Verification Group, RWTH Aachen 2 Siemens AG
2 of 20 IC3 Software Model Checking on Control Flow Automata | Tim Lange | Software Modeling and Verification Group, RWTH Aachen | FMCAD 2015 at Austin, TX, USA, September 29, 2015
3 of 20 IC3 Software Model Checking on Control Flow Automata | Tim Lange | Software Modeling and Verification Group, RWTH Aachen | FMCAD 2015 at Austin, TX, USA, September 29, 2015
4 of 20 IC3 Software Model Checking on Control Flow Automata | Tim Lange | Software Modeling and Verification Group, RWTH Aachen | FMCAD 2015 at Austin, TX, USA, September 29, 2015
5 of 20 IC3 Software Model Checking on Control Flow Automata | Tim Lange | Software Modeling and Verification Group, RWTH Aachen | FMCAD 2015 at Austin, TX, USA, September 29, 2015
(π1,π’,π2)βπ»
[Bra11] Aaron R. Bradley. βSAT-Based Model Checking without Unrollingβ. In: VMCAI. 2011, pp. 70β87 6 of 20 IC3 Software Model Checking on Control Flow Automata | Tim Lange | Software Modeling and Verification Group, RWTH Aachen | FMCAD 2015 at Austin, TX, USA, September 29, 2015
2
2
[Hen+02] Thomas A. Henzinger et al. βLazy abstractionβ. In: POPL. 2002, pp. 58β70 7 of 20 IC3 Software Model Checking on Control Flow Automata | Tim Lange | Software Modeling and Verification Group, RWTH Aachen | FMCAD 2015 at Austin, TX, USA, September 29, 2015
8 of 20 IC3 Software Model Checking on Control Flow Automata | Tim Lange | Software Modeling and Verification Group, RWTH Aachen | FMCAD 2015 at Austin, TX, USA, September 29, 2015
π πΊ0 πΊ1 πΊ2 πΊ1 = πΊ2 πΊ3 πΊ2 πΊ3 πΊ4 πΊ5 π π π π π π₯ π€ π£ π’
9 of 20 IC3 Software Model Checking on Control Flow Automata | Tim Lange | Software Modeling and Verification Group, RWTH Aachen | FMCAD 2015 at Austin, TX, USA, September 29, 2015
π πΊ0 πΊ1 πΊ2 πΊ1 = πΊ2 πΊ3 πΊ2 πΊ3 πΊ4 πΊ5 π π π π π π₯ π€ π£ π’
9 of 20 IC3 Software Model Checking on Control Flow Automata | Tim Lange | Software Modeling and Verification Group, RWTH Aachen | FMCAD 2015 at Austin, TX, USA, September 29, 2015
πΊ1 = π πΊ0 πΊ1 πΊ2 πΊ1 = πΊ2 πΊ3 πΊ2 πΊ3 πΊ4 πΊ5 π π π π π π₯ π€ π£ π’
9 of 20 IC3 Software Model Checking on Control Flow Automata | Tim Lange | Software Modeling and Verification Group, RWTH Aachen | FMCAD 2015 at Austin, TX, USA, September 29, 2015
πΊ1 = π πΊ0 πΊ1 πΊ2 πΊ1 = πΊ2 πΊ3 πΊ2 πΊ3 πΊ4 πΊ5 π π π π π π₯ π€ π£ π’
9 of 20 IC3 Software Model Checking on Control Flow Automata | Tim Lange | Software Modeling and Verification Group, RWTH Aachen | FMCAD 2015 at Austin, TX, USA, September 29, 2015
π πΊ0 πΊ1 πΊ2 πΊ1 = πΊ2 πΊ3 πΊ2 πΊ3 πΊ4 πΊ5 π π π π π π₯ π€ π£ π’
9 of 20 IC3 Software Model Checking on Control Flow Automata | Tim Lange | Software Modeling and Verification Group, RWTH Aachen | FMCAD 2015 at Austin, TX, USA, September 29, 2015
π πΊ0 πΊ1 πΊ2 πΊ1 = πΊ2 πΊ3 πΊ2 πΊ3 πΊ4 πΊ5 π π π π π π₯ π€ π£ π’
9 of 20 IC3 Software Model Checking on Control Flow Automata | Tim Lange | Software Modeling and Verification Group, RWTH Aachen | FMCAD 2015 at Austin, TX, USA, September 29, 2015
πΊ2 = π πΊ0 πΊ1 πΊ2 πΊ1 = πΊ2 πΊ3 πΊ2 πΊ3 πΊ4 πΊ5 π π π π π π₯ π€ π£ π’
9 of 20 IC3 Software Model Checking on Control Flow Automata | Tim Lange | Software Modeling and Verification Group, RWTH Aachen | FMCAD 2015 at Austin, TX, USA, September 29, 2015
πΊ2 = π πΊ0 πΊ1 πΊ2 πΊ1 = πΊ2 πΊ3 πΊ2 πΊ3 πΊ4 πΊ5 π π π π π π₯ π€ π£ π’
9 of 20 IC3 Software Model Checking on Control Flow Automata | Tim Lange | Software Modeling and Verification Group, RWTH Aachen | FMCAD 2015 at Austin, TX, USA, September 29, 2015
π πΊ0 πΊ1 πΊ2 πΊ1 = πΊ2 πΊ3 πΊ2 πΊ3 πΊ4 πΊ5 π π π π π π₯ π€ π£ π’
9 of 20 IC3 Software Model Checking on Control Flow Automata | Tim Lange | Software Modeling and Verification Group, RWTH Aachen | FMCAD 2015 at Austin, TX, USA, September 29, 2015
πΊ3 = π πΊ0 πΊ1 πΊ2 πΊ1 = πΊ2 πΊ3 πΊ2 πΊ3 πΊ4 πΊ5 π π π π π π₯ π€ π£ π’
9 of 20 IC3 Software Model Checking on Control Flow Automata | Tim Lange | Software Modeling and Verification Group, RWTH Aachen | FMCAD 2015 at Austin, TX, USA, September 29, 2015
π πΊ0 πΊ1 πΊ2 πΊ1 = πΊ2 πΊ3 πΊ2 πΊ3 πΊ4 πΊ5 π π π π π π₯ π€ π£ π’
9 of 20 IC3 Software Model Checking on Control Flow Automata | Tim Lange | Software Modeling and Verification Group, RWTH Aachen | FMCAD 2015 at Austin, TX, USA, September 29, 2015
πΊ3 = π πΊ0 πΊ1 πΊ2 πΊ1 = πΊ2 πΊ3 πΊ2 πΊ3 πΊ4 πΊ5 π π π π π π₯ π€ π£ π’
9 of 20 IC3 Software Model Checking on Control Flow Automata | Tim Lange | Software Modeling and Verification Group, RWTH Aachen | FMCAD 2015 at Austin, TX, USA, September 29, 2015
π πΊ0 πΊ1 πΊ2 πΊ1 = πΊ2 πΊ3 πΊ2 πΊ3 πΊ4 πΊ5 π π π π π π₯ π€ π£ π’
9 of 20 IC3 Software Model Checking on Control Flow Automata | Tim Lange | Software Modeling and Verification Group, RWTH Aachen | FMCAD 2015 at Austin, TX, USA, September 29, 2015
π πΊ0 πΊ1 πΊ2 πΊ1 = πΊ2 πΊ3 πΊ2 πΊ3 πΊ4 πΊ5 π π π π π π₯ π€ π£ π’
9 of 20 IC3 Software Model Checking on Control Flow Automata | Tim Lange | Software Modeling and Verification Group, RWTH Aachen | FMCAD 2015 at Austin, TX, USA, September 29, 2015
10 of 20 IC3 Software Model Checking on Control Flow Automata | Tim Lange | Software Modeling and Verification Group, RWTH Aachen | FMCAD 2015 at Austin, TX, USA, September 29, 2015
[CG12] Alessandro Cimatti and Alberto Griggio. βSoftware Model Checking via IC3β. In: CAV. 2012, pp. 277β293 [WK13] Tobias Welp and Andreas Kuehlmann. βQF BV model checking with property directed reachabilityβ. In: DATE. 2013, pp. 791β796 [Cim+14] Alessandro Cimatti et al. βIC3 Modulo Theories via Implicit Predicate Abstractionβ. In: TACAS. 2014, pp. 46β61 [BBW14] Johannes Birgmeier, Aaron R. Bradley, and Georg Weissenbacher. βCounterexample to Induction-Guided Abstraction-Refinement (CTIGAR)β. . In: CAV. 2014, pp. 831β848 11 of 20 IC3 Software Model Checking on Control Flow Automata | Tim Lange | Software Modeling and Verification Group, RWTH Aachen | FMCAD 2015 at Austin, TX, USA, September 29, 2015
12 of 20 IC3 Software Model Checking on Control Flow Automata | Tim Lange | Software Modeling and Verification Group, RWTH Aachen | FMCAD 2015 at Austin, TX, USA, September 29, 2015
[CG12] Alessandro Cimatti and Alberto Griggio. βSoftware Model Checking via IC3β. In: CAV. 2012, pp. 277β293 13 of 20 IC3 Software Model Checking on Control Flow Automata | Tim Lange | Software Modeling and Verification Group, RWTH Aachen | FMCAD 2015 at Austin, TX, USA, September 29, 2015
14 of 20 IC3 Software Model Checking on Control Flow Automata | Tim Lange | Software Modeling and Verification Group, RWTH Aachen | FMCAD 2015 at Austin, TX, USA, September 29, 2015
14 of 20 IC3 Software Model Checking on Control Flow Automata | Tim Lange | Software Modeling and Verification Group, RWTH Aachen | FMCAD 2015 at Austin, TX, USA, September 29, 2015
14 of 20 IC3 Software Model Checking on Control Flow Automata | Tim Lange | Software Modeling and Verification Group, RWTH Aachen | FMCAD 2015 at Austin, TX, USA, September 29, 2015
14 of 20 IC3 Software Model Checking on Control Flow Automata | Tim Lange | Software Modeling and Verification Group, RWTH Aachen | FMCAD 2015 at Austin, TX, USA, September 29, 2015
14 of 20 IC3 Software Model Checking on Control Flow Automata | Tim Lange | Software Modeling and Verification Group, RWTH Aachen | FMCAD 2015 at Austin, TX, USA, September 29, 2015
14 of 20 IC3 Software Model Checking on Control Flow Automata | Tim Lange | Software Modeling and Verification Group, RWTH Aachen | FMCAD 2015 at Austin, TX, USA, September 29, 2015
14 of 20 IC3 Software Model Checking on Control Flow Automata | Tim Lange | Software Modeling and Verification Group, RWTH Aachen | FMCAD 2015 at Austin, TX, USA, September 29, 2015
14 of 20 IC3 Software Model Checking on Control Flow Automata | Tim Lange | Software Modeling and Verification Group, RWTH Aachen | FMCAD 2015 at Austin, TX, USA, September 29, 2015
14 of 20 IC3 Software Model Checking on Control Flow Automata | Tim Lange | Software Modeling and Verification Group, RWTH Aachen | FMCAD 2015 at Austin, TX, USA, September 29, 2015
14 of 20 IC3 Software Model Checking on Control Flow Automata | Tim Lange | Software Modeling and Verification Group, RWTH Aachen | FMCAD 2015 at Austin, TX, USA, September 29, 2015
10
β 3
10
β 2
10
β 1
10 10
1
10
2
10
3
10β3 10β2 10β1 100 101 102 103 TO TO IC3CFA IC3SMT
Algorithm solved solve time total time IC3SMT 13/28 6328s 24328s IC3CFA 22/28 584s 7784s
[CG12] Alessandro Cimatti and Alberto Griggio. βSoftware Model Checking via IC3β. In: CAV. 2012, pp. 277β293 15 of 20 IC3 Software Model Checking on Control Flow Automata | Tim Lange | Software Modeling and Verification Group, RWTH Aachen | FMCAD 2015 at Austin, TX, USA, September 29, 2015
10
β 3
10
β 2
10
β 1
10 10
1
10
2
10
3
10β3 10β2 10β1 100 101 102 103 TO TO IC3CFA TreeIC3
Algorithm solved solve time total time TreeIC3 21/28 1752s 10152s IC3CFA 22/28 584s 7784s
[CG12] Alessandro Cimatti and Alberto Griggio. βSoftware Model Checking via IC3β. In: CAV. 2012, pp. 277β293 16 of 20 IC3 Software Model Checking on Control Flow Automata | Tim Lange | Software Modeling and Verification Group, RWTH Aachen | FMCAD 2015 at Austin, TX, USA, September 29, 2015
10
β 3
10
β 2
10
β 1
10 10
1
10
2
10
3
10β3 10β2 10β1 100 101 102 103 TO TO IC3CFA TreeIC3-ITP
Algorithm solved solve time total time TreeIC3-ITP 28/28 3107s 3107s IC3CFA 22/28 584s 7784s
[CG12] Alessandro Cimatti and Alberto Griggio. βSoftware Model Checking via IC3β. In: CAV. 2012, pp. 277β293 17 of 20 IC3 Software Model Checking on Control Flow Automata | Tim Lange | Software Modeling and Verification Group, RWTH Aachen | FMCAD 2015 at Austin, TX, USA, September 29, 2015
18 of 20 IC3 Software Model Checking on Control Flow Automata | Tim Lange | Software Modeling and Verification Group, RWTH Aachen | FMCAD 2015 at Austin, TX, USA, September 29, 2015
19 of 20 IC3 Software Model Checking on Control Flow Automata | Tim Lange | Software Modeling and Verification Group, RWTH Aachen | FMCAD 2015 at Austin, TX, USA, September 29, 2015
Johannes Birgmeier, Aaron R. Bradley, and Georg Weissenbacher. βCounterexample to Induction-Guided Abstraction-Refinement (CTIGAR)β. In: CAV. 2014, pp. 831β848. Aaron R. Bradley. βSAT-Based Model Checking without Unrollingβ. In: VMCAI. 2011, pp. 70β87. Alessandro Cimatti and Alberto Griggio. βSoftware Model Checking via IC3β. In: CAV. 2012, pp. 277β293. Alessandro Cimatti et al. βIC3 Modulo Theories via Implicit Predicate Abstractionβ. In: TACAS. 2014, pp. 46β61. Thomas A. Henzinger et al. βLazy abstractionβ. In: POPL. 2002, pp. 58β70. Tobias Welp and Andreas Kuehlmann. βQF BV model checking with property directed reachabilityβ. In: DATE. 2013,
20 of 20 IC3 Software Model Checking on Control Flow Automata | Tim Lange | Software Modeling and Verification Group, RWTH Aachen | FMCAD 2015 at Austin, TX, USA, September 29, 2015