Software Model Checking. Equivalence Hierarchy



Similar documents
Semantics and Verification of Software

Static Program Transformations for Efficient Software Model Checking

Software Modeling and Verification

Formal Verification and Linear-time Model Checking

Rigorous Software Development CSCI-GA

Fixed-Point Logics and Computation

Software Verification and Testing. Lecture Notes: Temporal Logics

logic language, static/dynamic models SAT solvers Verified Software Systems 1 How can we model check of a program or system?

A Propositional Dynamic Logic for CCS Programs

A Distributed Calculus for Role-Based Access Control

TECH. Requirements. Why are requirements important? The Requirements Process REQUIREMENTS ELICITATION AND ANALYSIS. Requirements vs.

Model Checking II Temporal Logic Model Checking

VDI 2206 Prof. Dr. Magdy M. Abdelhameed

Diagonalization. Ahto Buldas. Lecture 3 of Complexity Theory October 8, Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach.

! " # The Logic of Descriptions. Logics for Data and Knowledge Representation. Terminology. Overview. Three Basic Features. Some History on DLs

Semantics of UML class diagrams

Algorithmic Software Verification

Testing LTL Formula Translation into Büchi Automata

IV. The (Extended) Entity-Relationship Model

Course Syllabus. MATH 1350-Mathematics for Teachers I. Revision Date: 8/15/2016

CS510 Software Engineering

Software Engineering

Model Checking: An Introduction

Derived Data in Classifying an EO

Software Model Checking: Theory and Practice

Process Mining Using BPMN: Relating Event Logs and Process Models

Introduction to Software Verification

Lecture 1: Oracle Turing Machines

CHAPTER 7 GENERAL PROOF SYSTEMS

ARIZONA CTE CAREER PREPARATION STANDARDS & MEASUREMENT CRITERIA SOFTWARE DEVELOPMENT,

Engineering Process Software Qualities Software Architectural Design

System modeling. Budapest University of Technology and Economics Department of Measurement and Information Systems

Introducing Formal Methods. Software Engineering and Formal Methods

Artificial Intelligence

A Relationship-Based Approach to Model Integration

Chapter 6: Episode discovery process

WESTMORELAND COUNTY PUBLIC SCHOOLS Integrated Instructional Pacing Guide and Checklist Computer Math

Modelling and Verification of Business Processes

CSC 742 Database Management Systems

Omega Automata: Minimization and Learning 1

Summary Last Lecture. Automated Reasoning. Outline of the Lecture. Definition sequent calculus. Theorem (Normalisation and Strong Normalisation)

Solutions to In-Class Problems Week 4, Mon.

A UML 2 Profile for Business Process Modelling *

Formal Verification by Model Checking

Which Semantics for Neighbourhood Semantics?

Deterministic Discrete Modeling

SQL Database queries and their equivalence to predicate calculus

The Model Checker SPIN

Software Design. Software Design. Software design is the process that adds implementation details to the requirements.

Domain Name Resolver (DNR) Configuration

The Software Development Process

Modern Systems Analysis and Design

Probability Using Dice

THE SEARCH FOR NATURAL DEFINABILITY IN THE TURING DEGREES

Software safety - DEF-STAN 00-55

Load Balancing and Switch Scheduling

Mining the Software Change Repository of a Legacy Telephony System

Lecture 2: Universality

An Approach for Generating Concrete Test Cases Utilizing Formal Specifications of Web Applications

tutorial: hardware and software model checking

CHAPTER 1 INTRODUCTION

Regression Verification: Status Report

Introduction to Basics of Communication Protocol

ON FUNCTIONAL SYMBOL-FREE LOGIC PROGRAMS

Break-even analysis. On page 256 of It s the Business textbook, the authors refer to an alternative approach to drawing a break-even chart.

Using Patterns and Composite Propositions to Automate the Generation of Complex LTL

Integrating Formal Models into the Programming Languages Course

A MODEL OF HUMAN COGNITIVE BEHAVIOR IN WRITING CODE FOR COMPUTER PROGRAMS

MACMILLAN/McGRAW-HILL. MATH CONNECTS and IMPACT MATHEMATICS WASHINGTON STATE MATHEMATICS STANDARDS. ESSENTIAL ACADEMIC LEARNING REQUIREMENTS (EALRs)

Decision Trees and Networks

Prentice Hall: Middle School Math, Course Correlated to: New York Mathematics Learning Standards (Intermediate)

BIS 3106: Business Process Management. Lecture Two: Modelling the Control-flow Perspective

Mathematics for Computer Science/Software Engineering. Notes for the course MSM1F3 Dr. R. A. Wilson

On the Modeling and Verification of Security-Aware and Process-Aware Information Systems

3515ICT Theory of Computation Turing Machines

University of Ostrava. Reasoning in Description Logic with Semantic Tableau Binary Trees

Validated Templates for Specification of Complex LTL Formulas

Tennessee Mathematics Standards Implementation. Grade Six Mathematics. Standard 1 Mathematical Processes

Complexity Theory. Jörg Kreiker. Summer term Chair for Theoretical Computer Science Prof. Esparza TU München

The SPES Methodology Modeling- and Analysis Techniques

Monitoring Metric First-order Temporal Properties

8 9 +

Automata-based Verification - I

ABET General Outcomes. Student Learning Outcomes for BS in Computing

MATHEMATICAL INDUCTION. Mathematical Induction. This is a powerful method to prove properties of positive integers.

1. Then f has a relative maximum at x = c if f(c) f(x) for all values of x in some

Open Access to Call and Session Control in Mobile Networks

Introduction to Formal Methods. Các Phương Pháp Hình Thức Cho Phát Triển Phần Mềm

Equation of a Line. Chapter H2. The Gradient of a Line. m AB = Exercise H2 1

Bindings, mobility of bindings, and the -quantifier

Unit 8: Congruent and Similar Triangles Lesson 8.1 Apply Congruence and Triangles Lesson 4.2 from textbook

Transcription:

Software Equivalence Hierarchy Moonzoo Kim CS Dept. KAIST CS750B Software Korea Advanced Institute of Science and Technology

Equivalence semantics and SW design Preliminary Hierarchy Diagram Trace-based Semantics Trace EQ Complete Trace EQ Failure EQ Branching-based Semantics Simulation EQ Bisimulation EQ Outline

Equivalence Preserving Refinement and SW Design Design can start with a very abstract specification, representing the requirements Then, using equivalence-preserving transformations, this specification can be gradually refined into an implementationoriented specification. Maintenance may require to replace some components with others, while maintaining the same system behavior (congruence property)

An example of small language Syntax F := 0 1 F + 1 1 + F Ex. 0, 0+1+1, 1+0+1, but not 0+0 Possible semantics 1 + 1 == 1 + 1 + 0? Yes (interpreting formula as a natural #), Semantic Mapping [1 + 1] N1 = 2, [1 + 1 + 0] N1 =2 1 + 1 = N1 1 + 1 + 0 No (interpreting formula as string), [1+1] S = 1+1,[1+1+0] S = 1+1+0 1+1!= S 1+1+0 No (interpreting formula as a natural # of string length) [1 + 1] N2 = 3, [1 + 1 + 0] N2 =5 1 + 1!= N2 1 + 1 + 0

Semantic Mapping (cont.) sm1 Syntactic representation of systems sm2 sm3 sm4 sm5 sm6 Language Domain Natural # domain Graph domain PetriNet domain Term domain Mathematical Domain

Relation between (Equivalence) Semantics Syntactic representation of systems 0+1 1+2 1+1 2+2 0+1 1+2 sm1 sm2 = EO = NA domain odd even 1 3 0+1= EO 1+2 1+1= EO 2+2 0+1!= NA 1+2 P = NA Q -> P = EO Q but not vice versa Therefore, = EO < = NA

bisimulation simulation failure complete trace trace

Labeled Transition System Process Theory A process represents behavior of a system Two main activities of process theory are modeling and verification The semantics of equalities is required to verify system Determine which semantics is suitable for which applications Labeled Transition System (LTS) Act: a set of actions which process performs LTS: (P, ) Where P is a set of processes and P x Act x P In this presentation, we deal with only finitely branching, concrete, sequential processes Useful notations Equivalence notation for each semantics = T, = CT, = F, = R, = FT, = RT,= S,= RS,= B I(p) is {a Act q. p -a->q}

Trace v.s.. Complete Trace Trace semantics (T) σ Act * is a trace of a process p if there is a process q s.t. p - σ-> p T(p) is a set of traces of a process p p = T q iff T(p) = T(q) Complete trace semantics (CT) σ Act * is a complete trace of a process p if there is a process q s.t. p -σ-> q and I(q) = CT(p) is a set of complete traces of a process p p = CT q iff T(p) = T(q) and CT(p) = CT(q) Note that CT(p) = CT(q) does not imply T(p) = T(q) b p a q a = T < = CT p = CT q implies p = T q, but not vice versa c

Counter Example 1 p q p = T q T(p) = {., } T(q) = {., } p CT q CT(p) = {.} CT(q) = {., }

Failure Semantics Failure Semantics (F) <σ,x> Act * x (Act) is a failure pair of p if q s.t. p σ-> q and I(q) X = F(p) is a set of failure pairs of p p = F q iff F(p) = F(q) = CT < = F p = F q implies p = CT q σ CT(p) iff <σ,act> F(p) σ T(p) iff <σ,x> F(p) for some X s.t. X I(q) = Where p σ-> q not vice versa

Counter Example 2 p q juice Juice p = CT q CT(p)={.,.juice} CT(q)={.,.juice} p F q {<,{,}>} F(p) {<,{,}>} F(q)

Simulation Semantics The set F s of simulation formulas over Act is defined inductively by True F s If Φ,Ψ F s then Φ Ψ F s If Φ F s and a Act, then a.φ F s The satisfaction relation P x F s is defined inductively by p True for all p P p Φ Ψ if p Φ and p Ψ p a.φ if for some q P: p a->q and q Φ p = S q iff S(p) = S(q) where S(p)={Φ F s p Φ}

= T < = S = T < = S p = S q implies p = T q = T < = S by σ T(p) iff σ.true S(p) not vice versa p juice q Juice p S q S(p)= {True,.True,..True,.juice.True,,..True.juice.True} S(q) = {True,.True,..True,..True,,..True.juice.True,.(.True juice.true) }

Simulation v.s. Bisimulation A simulation is a binary relation R on processes satisfying for a Act If prq and p-a->p, then q :q-a->q and p Rq p = S q iff there exist simulation relations R 1 and R 2 such that pr 1 q and qr 2 p A bisimulation is a binary relation R on processes satisfying for a Act If prq and p-a->p, then q :q-a->q and p Rq If prq and q-a->q, then p :p-a->p and p Rq P = B q if there exists a bisimulation R with prq

Counter Example 3 p = B q p = s q p q p B q p = s q p Juice juice q Juice