lecture outline
play

Lecture Outline 1. The lecturer 2. Introduction to Formal Methods - PDF document

Lecture Outline 1. The lecturer 2. Introduction to Formal Methods DD2452 Formal Methods 3. Course syllabus 4. Course objectives Introductory Lecture 5. Course organization 1. Lecturer 2. Formal Methods Name: Dilian Gurov Formal


  1. Lecture Outline 1. The lecturer 2. Introduction to Formal Methods DD2452 Formal Methods 3. Course syllabus 4. Course objectives Introductory Lecture 5. Course organization 1. Lecturer 2. Formal Methods • Name: Dilian Gurov • Formal methods : • E-mail: dilian@csc.kth.se collection of formal notations and techniques (i.e. based on discrete • Phone: 08-790 81 98 (office) mathematics and mathematical logic) for • Visiting address: modelling and analysis of program Osquars backe 2, floor 4, room 4417 behaviour. • Research interests: • Common goal : – Analysis of program behaviour The design of correct systems. – Correctness: logics, compositionality Why Formal Methods? Formal Verification • Only formal methods can capture • Two possibilities : correctness precisely . Basis for tools . – correctness by design: transformation • But: formal techniques are expensive – establishing correctness: verification • Most needed for: – safety-critical systems • Three ingredients : – commercially-critical systems (security) M M – model ψ • Most succesful for: ”small” systems S φ φ – specification – embedded systems ╞ M ≈ S M ╞ φ ╞ ψ → φ – verification – communication protocols 1

  2. Main Challenge Abstraction • Real systems are large and complex • Key technique for handling complexity! • Only restricted problems are decidable , separation of concerns; buidling models i.e. algorithmically solvable • Key questions: • Scalablity requires efficient solutions, – What are the important properties? – What is the ”right” abstraction level? i.e. tractability – How does the abstract model relate to the concrete system? (”modelling gap”) What do we do? – How to interpret the results of the analysis? Main Schools 3. Course Syllabus • Hoare Logic Part I. Hoare Logic and • Process Algebra Program Verification • Model Checking Goal: Correctness of data manipulation • Theorem Proving Models: Source code (Java) Specs: Hoare Logic (JML) We will focus on the first and the third of Method: Proof tableaux; VCG + ATP these approaches. Tool: ESC/Java2 Course Syllabus 4. Course Objectives • Aim : provide working familiarity with main Part II. Temporal Logic and methods and tools, in theory and in practice. Model Checking • Grading : to pass the course, a student has to Goal: Correctness of state sequences demonstrate the ability to apply the methods Models: Promela discussed in the course; for the highest grade Specs: Temporal logic formulas (LTL) he/she has also to be proficient in the Method: Model checking theoretical foundations of these methods. Tool: SPIN 2

  3. Course Objectives 5. Course Organization After the course, you should be able to: • 17 one-hour lectures/tutorials: mixed • 2 lab sessions: for reporting only! 1. Independently select a suitable modelling • 1 written exam: 5 hours, open-book approach for a given problem; 2. Argue informally and formally for the soundness • Course web page : and limitations of the chosen approach; www.csc.kth.se/DD2452/form09/ 3. Identify, specify and verify important system • Course board: sv. ”kursnämnd” properties using suitable automated tools; volunteers? 4. Correctly interpret and evaluate the results of the analysis. Course Literature Labs • Course book : • ESC/Java2 lab : ” Logic in Computer Science ” correctness of an ADT implementation by Huth and Ryan (see Kårbokhandeln) • SPIN lab : • Additional material: on the web page correctness of a communication protocol don’t print without need! Tools • ESC/Java2 : module add escjava escjava2 • SPIN lab : module add spin xspin 3

Recommend


More recommend