IWFST 2005 Formal Specification and Verification of a Communication Protocol Ho Jung Bang Sung Deok Cha.

Slides:



Advertisements
Similar presentations
Copyright 2000 Cadence Design Systems. Permission is granted to reproduce without modification. Introduction An overview of formal methods for hardware.
Advertisements

CS 267: Automated Verification Lecture 8: Automata Theoretic Model Checking Instructor: Tevfik Bultan.
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
Presenter: PCLee VLSI Design, Automatic and Test, (VLSI-TSA-DAT).
Timed Automata.
© 2011 Carnegie Mellon University SPIN: Part /614 Bug Catching: Automated Program Verification Sagar Chaki April 21, 2014.
M INERVA (Metamodel-based Intuitive Editors with Reports and Visualizations of Analysis) Laura A. Campbell Advisor: Dr. Betty H.C. Cheng Software Engineering.
Software Engineering-II Sir zubair sajid. What’s the difference? Verification – Are you building the product right? – Software must conform to its specification.
Reachability analysis A reachability analysis shows the product space of the two processes and the signal queues of their input ports. Say we have an SDL.
1 Temporal Claims A temporal claim is defined in Promela by the syntax: never { … body … } never is a keyword, like proctype. The body is the same as for.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
1 Spin Model Checker Samaneh Navabpour Electrical and Computer Engineering Department University of Waterloo SE-464 Summer 2011.
Chapter 2- Visual Basic Schneider
1 Carnegie Mellon UniversitySPINFlavio Lerda SPIN An explicit state model checker.
Model Checking. Used in studying behaviors of reactive systems Typically involves three steps: Create a finite state model (FSM) of the system design.
Slide 1 MSC and SDL. Slide 2 Relationship of MSC to SDL An MSC describes one or more traces of an SDL system specification. An entity in MSC may map to.
Chapter 1 Principles of Programming and Software Engineering.
Computing Over­Approximations with Bounded Model Checking Daniel Kroening ETH Zürich.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
1 Formal Engineering of Reliable Software LASER 2004 school Tutorial, Lecture1 Natasha Sharygina Carnegie Mellon University.
Real-Time System Requirements & Design Specs Shaw - Chapters 3 & 4 Homework #2: 3.3.1, 3.4.1, Add Error states to Fig 4.1 Lecture 4/17.
Formal verification Marco A. Peña Universitat Politècnica de Catalunya.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Verification and Validation CIS 376 Bruce R. Maxim UM-Dearborn.
By D. Beyer et. al. Simon Fraser University (Spring 09) Presentation By: Pashootan Vaezipoor.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
CS527: (Advanced) Topics in Software Engineering Overview of Software Quality Assurance Tao Xie ©D. Marinov, T. Xie.
Linear and Branching Time Safety, Liveness, and Fairness
Balancing Practices: Inspections, Testing, and Others JAXA scenario (formal method) Masa Katahira Japanese Space Agency.
Chapter 9 Describing Process Specifications and Structured Decisions
Verification & Validation Verification –from Latin veritas meaning truth. –Building the product right. Validation –from Latin Valere meaning to be worth.
Mathematical Modeling and Formal Specification Languages CIS 376 Bruce R. Maxim UM-Dearborn.
Correctness requirements. Basic Types of Claims Basic assertions End-state labels Progress-state labels Accept-state labels Never claims Trace assertions.
Scientific Computing By: Fatima Hallak To: Dr. Guy Tel-Zur.
Overview of Formal Methods. Topics Introduction and terminology FM and Software Engineering Applications of FM Propositional and Predicate Logic Program.
Institute e-Austria in Timisoara 1 Author: prep. eng. Calin Jebelean Verification of Communication Protocols using SDL ( )
Software Engineering Research paper presentation Ali Ahmad Formal Approaches to Software Testing Hierarchal GUI Test Case Generation Using Automated Planning.
Dynamic Analysis of Multithreaded Java Programs Dr. Abhik Roychoudhury National University of Singapore.
Extended Static Checking for Java  ESC/Java finds common errors in Java programs: null dereferences, array index bounds errors, type cast errors, race.
Functional Verification Figure 1.1 p 6 Detection of errors in the design Before fab for design errors, after fab for physical errors.
Lazy Abstraction Jinseong Jeon ARCS, KAIST CS750b, KAIST2/26 References Lazy Abstraction –Thomas A. Henzinger et al., POPL ’02 Software verification.
Introduction to Problem Solving. Steps in Programming A Very Simplified Picture –Problem Definition & Analysis – High Level Strategy for a solution –Arriving.
Monterey Workshop, Chicago, September 2003 in cooperation with Hubert Baumeister and Alexander Knapp Techniques for Improving Test-Driven Design Martin.
1 Qualitative Reasoning of Distributed Object Design Nima Kaveh & Wolfgang Emmerich Software Systems Engineering Dept. Computer Science University College.
Requirements Engineering Overview Senior Design Don Evans.
1 Checking Interaction Consistency in MARMOT Component Refinements Yunja Choi School of Electrical Engineering and Computer Science Kyungpook National.
1 CSEP590 – Model Checking and Automated Verification Lecture outline for August 6, 2003.
1 Predicate Abstraction and Refinement for Verifying Hardware Designs Himanshu Jain Joint work with Daniel Kroening, Natasha Sharygina, Edmund M. Clarke.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Lecture 5 1 CSP tools for verification of Sec Prot Overview of the lecture The Casper interface Refinement checking and FDR Model checking Theorem proving.
/ PSWLAB S PIN Search Optimization from “THE SPIN MODEL CHECKER” by G. Holzmann Presented by Hong,Shin 23 th Nov SPIN Search.
Properties Incompleteness Evaluation by Functional Verification IEEE TRANSACTIONS ON COMPUTERS, VOL. 56, NO. 4, APRIL
Dimensions of Formal Verification and Validation Doron Drusinsky Bret Michael Mantak Shing Naval Postgraduate School.
Developing a Framework for Simulation, Verification and Testing of SDL Specifications Olga Shumsky Lawrence Henschen Northwestern University
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Software Systems Verification and Validation Laboratory Assignment 4 Model checking Assignment date: Lab 4 Delivery date: Lab 4, 5.
Winter 2007SEG2101 Chapter 121 Chapter 12 Verification and Validation.
Automated Formal Verification of PLC (Programmable Logic Controller) Programs
September 1999Compaq Computer CorporationSlide 1 of 16 Verification of cache-coherence protocols with TLA+ Homayoon Akhiani, Damien Doligez, Paul Harter,
Agenda  Quick Review  Finish Introduction  Java Threads.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Copyright 1999 G.v. Bochmann ELG 7186C ch.1 1 Course Notes ELG 7186C Formal Methods for the Development of Real-Time System Applications Gregor v. Bochmann.
Cs498dm Software Testing Darko Marinov January 24, 2012.
Principles of Programming & Software Engineering
Experiences Using Lightweight Formal Methods for Requirements Modeling
Principles of Programming and Software Engineering
An explicit state model checker
An explicit state model checker
Presentation transcript:

IWFST 2005 Formal Specification and Verification of a Communication Protocol Ho Jung Bang Sung Deok Cha

FM DSLab., KAIST2 System Overview  The Requirements Specification of a system air conditioner –Natural language specification with MSC-like diagrams –About 210-page long –Complicated initialization scenario and 14 basic scenarios –1-to-many and parallel communication

FM DSLab., KAIST3 Approach Overview  Comparison to the existing techniques –Informal techniques such as interview and inspections –Verification principles Completeness: explicitly consider all possible inputs in all possible situations Consistency: avoid unexpected situations –Used model checking techniques to track subtle errors checked if erroneous scenarios are indeed possible

FM DSLab., KAIST4 Three Phases ModelingValidationVerification 4 man-months1 man-months5 man-month Techniques used Interviews Inspections Errors found in the phase Ambiguity: 3 Inconsistency: 2 Incorrectness: 12 Other errors: 17 Tools used State/Event Table: to check completeness SDL Simulator: to check all the behaviors in the specification are also possible in the model SDL Validator: to check basic properties, such as dead-locks and live-locks. Validation results Infinite loops are found Tools used sdl2spin: in-house tool for translating SDL to Promela timeline editor SPIN Properties to check All scenarios are still possible? All processes eventually go to a responsible state? Are there minimal environmental conditions for scenarios to success? Are these errors possible in the model?

FM DSLab., KAIST5 Results and Experience Verification ResultsExperience (Lessons learned) Facts # of properties = 102 # runs of verification = 204 (2 for each) # of counter-examples = 136 Average time elapsed = 46 min. Average length of CE = 114,234 steps We found numbers of errors during inspecting the specifications and creating the SDL model Some subtle errors found by the verification resulted from confusion of message IDs, lack of session management, and arrival of messages after timeout In spite of aggressive abstraction, partial verification had to be used for some properties. Proving safety properties was impossible using exhaustive verification Instead, bit-states reduction, which is not safe, was used; Counter-examples were too long for manual examination Finding the shortest one is time-consuming task Iterative search by increasing bounds would help Tailoring environment to guide model checking is useful for disproving safety properties (that is, in finding errors) It greatly reduced time needed; Not helpful for proving safety properties