trends and pearls of model checking€¦ · ch 15: cegar for model checking! counterexample guided...

33
Trends and Pearls of Model Checking Introduction Winter Semester 2018/19; 10 October, 2018 S. Junges, J.P. Katoen, T. Quatmann, M. Volk Software Modeling and Verification Group RWTH Aachen University https://moves.rwth-aachen.de/teaching/ws-1819/tpmc/

Upload: others

Post on 12-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Trends and Pearls of Model Checking€¦ · Ch 15: CEGAR for Model Checking! Counterexample Guided Abstraction ReÞnement"! Instead of model checking on the full transition system#

Trends and Pearls of Model Checking

IntroductionWinter Semester 2018/19; 10 October, 2018

S. Junges, J.P. Katoen, T. Quatmann, M. VolkSoftware Modeling and Verification GroupRWTH Aachen University

https://moves.rwth-aachen.de/teaching/ws-1819/tpmc/

Page 2: Trends and Pearls of Model Checking€¦ · Ch 15: CEGAR for Model Checking! Counterexample Guided Abstraction ReÞnement"! Instead of model checking on the full transition system#

Overview

Outline

Overview

Aims of this Seminar

Important Dates

Topics

Final Hints

2 of 30 Trends and Pearls of Model CheckingJunges, Katoen, Quatmann, Volk

Winter Semester 2018/19; 10 October, 2018

Page 3: Trends and Pearls of Model Checking€¦ · Ch 15: CEGAR for Model Checking! Counterexample Guided Abstraction ReÞnement"! Instead of model checking on the full transition system#

Overview

Model Checking

3 of 30 Trends and Pearls of Model CheckingJunges, Katoen, Quatmann, Volk

Winter Semester 2018/19; 10 October, 2018

Page 4: Trends and Pearls of Model Checking€¦ · Ch 15: CEGAR for Model Checking! Counterexample Guided Abstraction ReÞnement"! Instead of model checking on the full transition system#

Aims of this Seminar

Outline

Overview

Aims of this Seminar

Important Dates

Topics

Final Hints

4 of 30 Trends and Pearls of Model CheckingJunges, Katoen, Quatmann, Volk

Winter Semester 2018/19; 10 October, 2018

Page 5: Trends and Pearls of Model Checking€¦ · Ch 15: CEGAR for Model Checking! Counterexample Guided Abstraction ReÞnement"! Instead of model checking on the full transition system#

Aims of this Seminar

Goals

Aims of this seminar

• Independent understanding of a scientific topic• Acquiring, reading and understanding scientific literature• Writing of your own report on this topic• Oral presentation of your results

5 of 30 Trends and Pearls of Model CheckingJunges, Katoen, Quatmann, Volk

Winter Semester 2018/19; 10 October, 2018

Page 6: Trends and Pearls of Model Checking€¦ · Ch 15: CEGAR for Model Checking! Counterexample Guided Abstraction ReÞnement"! Instead of model checking on the full transition system#

Aims of this Seminar

Requirements on Report

Your report

• Independent writing of a report of 10-15 pages• Complete set of references to all consulted literature• Correct citation of important literature• Plagiarism: taking text blocks (from literature or web) without source indication causes

immediate exclusion from this seminar• Language: German or English• We expect the correct usage of spelling and grammar

– ≥ 10 errors per page =⇒ abortion of correction

• Font size 12pt with “standard” page layout• Report template is available on seminar web page

6 of 30 Trends and Pearls of Model CheckingJunges, Katoen, Quatmann, Volk

Winter Semester 2018/19; 10 October, 2018

Page 7: Trends and Pearls of Model Checking€¦ · Ch 15: CEGAR for Model Checking! Counterexample Guided Abstraction ReÞnement"! Instead of model checking on the full transition system#

Aims of this Seminar

Requirements on Talk

Your talk

• Talk of about 30 minutes• Finish in time. Overtime is bad• Focus your talk on the audience• Descriptive slides:

– ≤ 15 lines of text– use (base) colors in a useful manner

• Language: German or English• No spelling mistakes please!• Ask for questions• Presentation template is available on seminar web page

7 of 30 Trends and Pearls of Model CheckingJunges, Katoen, Quatmann, Volk

Winter Semester 2018/19; 10 October, 2018

Page 8: Trends and Pearls of Model Checking€¦ · Ch 15: CEGAR for Model Checking! Counterexample Guided Abstraction ReÞnement"! Instead of model checking on the full transition system#

Aims of this Seminar

Final Preparations

Preparation of your talk

• Setup laptop and projector ahead of time• Use a (laser) pointer• Number your slides• Multiple copies: laptop, USB, web• Have backup slides ready for expected questions

8 of 30 Trends and Pearls of Model CheckingJunges, Katoen, Quatmann, Volk

Winter Semester 2018/19; 10 October, 2018

Page 9: Trends and Pearls of Model Checking€¦ · Ch 15: CEGAR for Model Checking! Counterexample Guided Abstraction ReÞnement"! Instead of model checking on the full transition system#

Important Dates

Outline

Overview

Aims of this Seminar

Important Dates

Topics

Final Hints

9 of 30 Trends and Pearls of Model CheckingJunges, Katoen, Quatmann, Volk

Winter Semester 2018/19; 10 October, 2018

Page 10: Trends and Pearls of Model Checking€¦ · Ch 15: CEGAR for Model Checking! Counterexample Guided Abstraction ReÞnement"! Instead of model checking on the full transition system#

Important Dates

Important Dates

Deadlines

• Mon, 29 Oct. 2018: Detailed outline of report due• Mon, 19 Nov. 2018: One chapter of report due• Mon, 10 Dec. 2018: Full report due• Mon, 14 Jan. 2019: Presentation slides due• Mon/Tue, 11/12 Feb. 2019: Seminar talks

Missing a deadline causes immediate exclusion from the seminar

10 of 30 Trends and Pearls of Model CheckingJunges, Katoen, Quatmann, Volk

Winter Semester 2018/19; 10 October, 2018

Page 11: Trends and Pearls of Model Checking€¦ · Ch 15: CEGAR for Model Checking! Counterexample Guided Abstraction ReÞnement"! Instead of model checking on the full transition system#

Important Dates

Important Dates

Deadlines

• Mon, 29 Oct. 2018: Detailed outline of report due• Mon, 19 Nov. 2018: One chapter of report due• Mon, 10 Dec. 2018: Full report due• Mon, 14 Jan. 2019: Presentation slides due• Mon/Tue, 11/12 Feb. 2019: Seminar talks

Missing a deadline causes immediate exclusion from the seminar

10 of 30 Trends and Pearls of Model CheckingJunges, Katoen, Quatmann, Volk

Winter Semester 2018/19; 10 October, 2018

Page 12: Trends and Pearls of Model Checking€¦ · Ch 15: CEGAR for Model Checking! Counterexample Guided Abstraction ReÞnement"! Instead of model checking on the full transition system#

Important Dates

Selecting Your Topic

Procedure

• You obtain(ed) a list of topics of this seminar.• Indicate the preference of your topics (first, second, third).• Return sheet by Monday (15 Oct.), before 15:00 via e-mail

([email protected]) or to secretary.• We do our best to find an adequate topic-student assignment.

– disclaimer: no guarantee for an optimal solution

• Assignment will be published on website by Tuesday.• Then also your supervisor will be indicated.

Withdrawal

• You have up to three weeks to refrain from participating in this seminar.• Later cancellation (by you or by us) causes a not passed for this seminar and reduces your

(three) possibilities by one.

11 of 30 Trends and Pearls of Model CheckingJunges, Katoen, Quatmann, Volk

Winter Semester 2018/19; 10 October, 2018

Page 13: Trends and Pearls of Model Checking€¦ · Ch 15: CEGAR for Model Checking! Counterexample Guided Abstraction ReÞnement"! Instead of model checking on the full transition system#

Important Dates

Selecting Your Topic

Procedure

• You obtain(ed) a list of topics of this seminar.• Indicate the preference of your topics (first, second, third).• Return sheet by Monday (15 Oct.), before 15:00 via e-mail

([email protected]) or to secretary.• We do our best to find an adequate topic-student assignment.

– disclaimer: no guarantee for an optimal solution

• Assignment will be published on website by Tuesday.• Then also your supervisor will be indicated.

Withdrawal

• You have up to three weeks to refrain from participating in this seminar.• Later cancellation (by you or by us) causes a not passed for this seminar and reduces your

(three) possibilities by one.

11 of 30 Trends and Pearls of Model CheckingJunges, Katoen, Quatmann, Volk

Winter Semester 2018/19; 10 October, 2018

Page 14: Trends and Pearls of Model Checking€¦ · Ch 15: CEGAR for Model Checking! Counterexample Guided Abstraction ReÞnement"! Instead of model checking on the full transition system#

Topics

Outline

Overview

Aims of this Seminar

Important Dates

Topics

Final Hints

12 of 30 Trends and Pearls of Model CheckingJunges, Katoen, Quatmann, Volk

Winter Semester 2018/19; 10 October, 2018

Page 15: Trends and Pearls of Model Checking€¦ · Ch 15: CEGAR for Model Checking! Counterexample Guided Abstraction ReÞnement"! Instead of model checking on the full transition system#

Topics

Schemes

13 of 30 Trends and Pearls of Model CheckingJunges, Katoen, Quatmann, Volk

Winter Semester 2018/19; 10 October, 2018

Page 16: Trends and Pearls of Model Checking€¦ · Ch 15: CEGAR for Model Checking! Counterexample Guided Abstraction ReÞnement"! Instead of model checking on the full transition system#

Topics

Ch 15: CEGAR for Model Checking

• Counterexample Guided Abstraction Refinement

• Instead of model checking on the full transition systemdo model checking on an abstraction.

• If the abstraction is too coarse, use the model checking result to refine the abstraction

Topic 514 of 30 Trends and Pearls of Model Checking

Junges, Katoen, Quatmann, Volk

Winter Semester 2018/19; 10 October, 2018

Page 17: Trends and Pearls of Model Checking€¦ · Ch 15: CEGAR for Model Checking! Counterexample Guided Abstraction ReÞnement"! Instead of model checking on the full transition system#

Topics

Sat-Based Model Checking: IC3

• Encode the transition relation into propositional logic

• Use a SAT solver to find invariants

Topic 415 of 30 Trends and Pearls of Model Checking

Junges, Katoen, Quatmann, Volk

Winter Semester 2018/19; 10 October, 2018

Page 18: Trends and Pearls of Model Checking€¦ · Ch 15: CEGAR for Model Checking! Counterexample Guided Abstraction ReÞnement"! Instead of model checking on the full transition system#

Topics

Ch 20: Deduction for Model Checking

• Use logic propositions to describe both system and property

• Proof obligations via theorem provers

• Use model checking techniques for automation

Topic 716 of 30 Trends and Pearls of Model Checking

Junges, Katoen, Quatmann, Volk

Winter Semester 2018/19; 10 October, 2018

Page 19: Trends and Pearls of Model Checking€¦ · Ch 15: CEGAR for Model Checking! Counterexample Guided Abstraction ReÞnement"! Instead of model checking on the full transition system#

Topics

Ch 14: Interpolation

• Interpolants are small symbolic explanations that help to identify “critical regions” of the symbolic

Topic 617 of 30 Trends and Pearls of Model Checking

Junges, Katoen, Quatmann, Volk

Winter Semester 2018/19; 10 October, 2018

Page 20: Trends and Pearls of Model Checking€¦ · Ch 15: CEGAR for Model Checking! Counterexample Guided Abstraction ReÞnement"! Instead of model checking on the full transition system#

Topics

Concurrency

18 of 30 Trends and Pearls of Model CheckingJunges, Katoen, Quatmann, Volk

Winter Semester 2018/19; 10 October, 2018

Page 21: Trends and Pearls of Model Checking€¦ · Ch 15: CEGAR for Model Checking! Counterexample Guided Abstraction ReÞnement"! Instead of model checking on the full transition system#

Topics

Ch 18: Model Checking Concurrent Programs

• How to handle communication structures such as: locks, wait-notify, notify-all?

Topic 1019 of 30 Trends and Pearls of Model Checking

Junges, Katoen, Quatmann, Volk

Winter Semester 2018/19; 10 October, 2018

Page 22: Trends and Pearls of Model Checking€¦ · Ch 15: CEGAR for Model Checking! Counterexample Guided Abstraction ReÞnement"! Instead of model checking on the full transition system#

Topics

Ch 21: Model Checking Parameterized Systems

• Model checking for any number of parallel components.

• 4 Techniques by Example

Topic 1120 of 30 Trends and Pearls of Model Checking

Junges, Katoen, Quatmann, Volk

Winter Semester 2018/19; 10 October, 2018

Page 23: Trends and Pearls of Model Checking€¦ · Ch 15: CEGAR for Model Checking! Counterexample Guided Abstraction ReÞnement"! Instead of model checking on the full transition system#

Topics

Ch 12: Compositional Reasoning

• Making assumptions about other processes simplifies proving correctness of a single processand

• Prove (local) assumptions

Topic 1221 of 30 Trends and Pearls of Model Checking

Junges, Katoen, Quatmann, Volk

Winter Semester 2018/19; 10 October, 2018

Page 24: Trends and Pearls of Model Checking€¦ · Ch 15: CEGAR for Model Checking! Counterexample Guided Abstraction ReÞnement"! Instead of model checking on the full transition system#

Topics

Extended Logics and Models

22 of 30 Trends and Pearls of Model CheckingJunges, Katoen, Quatmann, Volk

Winter Semester 2018/19; 10 October, 2018

Page 25: Trends and Pearls of Model Checking€¦ · Ch 15: CEGAR for Model Checking! Counterexample Guided Abstraction ReÞnement"! Instead of model checking on the full transition system#

Topics

Ch 26: Mu-Calculus and Model Checking

• Generalises many logics used in Model Checking

• How does model checking work? And why is this an interesting logic?

Topic 823 of 30 Trends and Pearls of Model Checking

Junges, Katoen, Quatmann, Volk

Winter Semester 2018/19; 10 October, 2018

Page 26: Trends and Pearls of Model Checking€¦ · Ch 15: CEGAR for Model Checking! Counterexample Guided Abstraction ReÞnement"! Instead of model checking on the full transition system#

Topics

Ch 17: Model Checking Procedural Programs

• Recursion leads to push-down systems

• How to do model checking?

Topic 924 of 30 Trends and Pearls of Model Checking

Junges, Katoen, Quatmann, Volk

Winter Semester 2018/19; 10 October, 2018

Page 27: Trends and Pearls of Model Checking€¦ · Ch 15: CEGAR for Model Checking! Counterexample Guided Abstraction ReÞnement"! Instead of model checking on the full transition system#

Topics

Tools & Practices

25 of 30 Trends and Pearls of Model CheckingJunges, Katoen, Quatmann, Volk

Winter Semester 2018/19; 10 October, 2018

Page 28: Trends and Pearls of Model Checking€¦ · Ch 15: CEGAR for Model Checking! Counterexample Guided Abstraction ReÞnement"! Instead of model checking on the full transition system#

Topics

Ch 24: Temporal Logics for Hardware Verification

• How to specify functional specifications for hardware

Topic 326 of 30 Trends and Pearls of Model Checking

Junges, Katoen, Quatmann, Volk

Winter Semester 2018/19; 10 October, 2018

Page 29: Trends and Pearls of Model Checking€¦ · Ch 15: CEGAR for Model Checking! Counterexample Guided Abstraction ReÞnement"! Instead of model checking on the full transition system#

Topics

Tool: Dafny

• deductive proving of program correctness

Topic 227 of 30 Trends and Pearls of Model Checking

Junges, Katoen, Quatmann, Volk

Winter Semester 2018/19; 10 October, 2018

Page 30: Trends and Pearls of Model Checking€¦ · Ch 15: CEGAR for Model Checking! Counterexample Guided Abstraction ReÞnement"! Instead of model checking on the full transition system#

Topics

Tool: T2

• automatic model checking of C code

Topic128 of 30 Trends and Pearls of Model Checking

Junges, Katoen, Quatmann, Volk

Winter Semester 2018/19; 10 October, 2018

Page 31: Trends and Pearls of Model Checking€¦ · Ch 15: CEGAR for Model Checking! Counterexample Guided Abstraction ReÞnement"! Instead of model checking on the full transition system#

Final Hints

Outline

Overview

Aims of this Seminar

Important Dates

Topics

Final Hints

29 of 30 Trends and Pearls of Model CheckingJunges, Katoen, Quatmann, Volk

Winter Semester 2018/19; 10 October, 2018

Page 32: Trends and Pearls of Model Checking€¦ · Ch 15: CEGAR for Model Checking! Counterexample Guided Abstraction ReÞnement"! Instead of model checking on the full transition system#

Final Hints

Some Final Hints

Hints

• Take your time to understand your literature.• Be proactive! Look for additional literature and information.• Discuss the content of your report with other students.• Be proactive! Contact your supervisor on time.• Prepare the meeting(s) with your supervisor.• Forget the idea that you can prepare a talk in a day or two.

We wish you success and look forward to an enjoyable and high-quality seminar!

30 of 30 Trends and Pearls of Model CheckingJunges, Katoen, Quatmann, Volk

Winter Semester 2018/19; 10 October, 2018

Page 33: Trends and Pearls of Model Checking€¦ · Ch 15: CEGAR for Model Checking! Counterexample Guided Abstraction ReÞnement"! Instead of model checking on the full transition system#

Final Hints

Some Final Hints

Hints

• Take your time to understand your literature.• Be proactive! Look for additional literature and information.• Discuss the content of your report with other students.• Be proactive! Contact your supervisor on time.• Prepare the meeting(s) with your supervisor.• Forget the idea that you can prepare a talk in a day or two.

We wish you success and look forward to an enjoyable and high-quality seminar!

30 of 30 Trends and Pearls of Model CheckingJunges, Katoen, Quatmann, Volk

Winter Semester 2018/19; 10 October, 2018