23
Towards a Compositional SPIN Corina Păsăreanu QSS, NASA Ames Research Center Dimitra Giannakopoulou RIACS/USRA, NASA Ames Research Center

Towards a Compositional SPIN Corina Păsăreanu QSS, NASA Ames Research Center Dimitra Giannakopoulou RIACS/USRA, NASA Ames Research Center

Embed Size (px)

Citation preview

Page 1: Towards a Compositional SPIN Corina Păsăreanu QSS, NASA Ames Research Center Dimitra Giannakopoulou RIACS/USRA, NASA Ames Research Center

Towards a Compositional SPIN

Corina Păsăreanu QSS, NASA Ames Research Center

Dimitra GiannakopoulouRIACS/USRA, NASA Ames Research Center

Page 2: Towards a Compositional SPIN Corina Păsăreanu QSS, NASA Ames Research Center Dimitra Giannakopoulou RIACS/USRA, NASA Ames Research Center

Main objective:An integrated environment that supports software development and verification/validation throughout the lifecycle; detect integration problems early, prior to coding

Approach: Compositional (“divide and conquer”) verification, for increased scalability, at design levelUse design level artifacts to improve/aid coding, testing and fault containment

CompositionalVerification

TestingDesign CodingRequirements Deployment

C1 C2

C1

C2

M1

M2

models implementations

Cost of detecting/fixing defects increases

Integration issues handled early

Project Overview

Page 3: Towards a Compositional SPIN Corina Păsăreanu QSS, NASA Ames Research Center Dimitra Giannakopoulou RIACS/USRA, NASA Ames Research Center

Towards a Compositional SPIN

Learning based compositional analysis for increased scalability [TACAS’03] – LTSA tool

Contributions– Generic tool architecture for learning based assume guarantee

reasoning• Handles multiple components

• Uses SPIN to answer model checking questions

• Other tools can be used (e.g. Java PathFinder)

– Heuristic for automated generation of interface specifications – Application to realistic resource arbiter for a spacecraft

• Significant memory gains over “traditional” non-compositional model checking

Page 4: Towards a Compositional SPIN Corina Păsăreanu QSS, NASA Ames Research Center Dimitra Giannakopoulou RIACS/USRA, NASA Ames Research Center

Outline

Introduction

Background: assume-guarantee reasoning and learning

Tool architecture

Implementation– Using SPIN for answering learning questions– Promela subset

Case study: MER Arbiter model – Description, results, discussion

Conclusions and future work

Page 5: Towards a Compositional SPIN Corina Păsăreanu QSS, NASA Ames Research Center Dimitra Giannakopoulou RIACS/USRA, NASA Ames Research Center

Compositional Verification

M2

M1

A

satisfies P?

Check P on entire system: too many states!

Use the natural decomposition of the system into its components to break-up the verification task

Check components in isolation:

Does M1 satisfy P?

– Typically a component is designed to satisfy its requirements in specific contexts / environments

Assume-guarantee reasoning: introduces assumption A representing M1’s “context”

Does system made up of M1 and M2 satisfy property P?

Page 6: Towards a Compositional SPIN Corina Păsăreanu QSS, NASA Ames Research Center Dimitra Giannakopoulou RIACS/USRA, NASA Ames Research Center

Assume-Guarantee Rules

M2

M1

A

satisfies P?

“discharge” the assumption

1. A M1 P2. true M2 A

3. true M1 || M2 P

How do we come up with the assumption?(usually a difficult manual process)

Reason about triples:

A M PThe formula is true if whenever M is part of a system

that satisfies A, then the system must also guarantee P

Page 7: Towards a Compositional SPIN Corina Păsăreanu QSS, NASA Ames Research Center Dimitra Giannakopoulou RIACS/USRA, NASA Ames Research Center

Approaches

Infer assumptions automatically

Two solutions developed1. Algorithmic generation of assumption (controller);

knowledge of environment is not required [ASE’02]

2. Incremental assumption computation based on counterexamples, learning and knowledge of environment [TACAS’03, SAVCBS’03 (symmetric rules)]

Page 8: Towards a Compositional SPIN Corina Păsăreanu QSS, NASA Ames Research Center Dimitra Giannakopoulou RIACS/USRA, NASA Ames Research Center

Formalisms

Components modeled as finite state machines (FSM)– FSMs assembled with parallel composition operator “||”

• Synchronizes shared actions, interleaves remaining actions

A property P is a FSM– P describes all legal behaviors

– Perr – determinize & complete P; bad behaviors lead to “error”

– Component M satisfies P iff error state unreachable in (M || Perr)

Assume-guarantee reasoning– Assumptions and guarantees are FSMs A M P holds iff error state unreachable in (A || M || Perr)

– The alphabet of A, A, contains all environment actions that appear in P

Page 9: Towards a Compositional SPIN Corina Păsăreanu QSS, NASA Ames Research Center Dimitra Giannakopoulou RIACS/USRA, NASA Ames Research Center

Example

Input

in send

ack

Output

outsend

ack

Ordererr

in

out

in out

||

Page 10: Towards a Compositional SPIN Corina Păsăreanu QSS, NASA Ames Research Center Dimitra Giannakopoulou RIACS/USRA, NASA Ames Research Center

Computing the Weakest Assumption

Given component M, property P, and the interface of M with its environment, generate the weakest environment assumption A such that: assuming A, M ╞ P

Weakest means that for all environments E:

(E || M ╞ P) IFF E╞ A

Page 11: Towards a Compositional SPIN Corina Păsăreanu QSS, NASA Ames Research Center Dimitra Giannakopoulou RIACS/USRA, NASA Ames Research Center

Learning for Assume-guarantee Reasoning

Use an off-the-shelf learning algorithm to build appropriate assumption for the rule

Process is iterativeAssumptions are generated by querying the system, and are gradually refined Queries are answered by model checkingRefinement is based on counterexamples obtained by model checkingTermination is guaranteed

Extended with symmetric rules

1. A M1 P2. true M2 A

3. true M1 || M2 P

Page 12: Towards a Compositional SPIN Corina Păsăreanu QSS, NASA Ames Research Center Dimitra Giannakopoulou RIACS/USRA, NASA Ames Research Center

Learning with L*

L* algorithm by Angluin, improved by Rivest & Schapire

Learns an unknown regular language U (over alphabet ) and produces a DFA A such that L(A) = U

Uses a teacher to answer two types of questionsUnknown regular language U

L*

conjecture: Ai

query: string s

true

false

remove string t

add string t

output DFA A such that L(A) = U

true

false

false

is s in U?

is L(Ai)=U?

Page 13: Towards a Compositional SPIN Corina Păsăreanu QSS, NASA Ames Research Center Dimitra Giannakopoulou RIACS/USRA, NASA Ames Research Center

Learning Assumptions

Use L* to generate candidate assumptions

A = (M1 P) M2

L*

query: string s

true

false

s M1 P

conjecture: AiAi M1 P

true M2 Ai

true error?

true

false

true

yes

false

no

remove counterex.

add counterex.

P holds in

M1 || M2

P violated

1. A M1 P2. true M2 A

3. true M1 || M2 P

Model Checking

Page 14: Towards a Compositional SPIN Corina Păsăreanu QSS, NASA Ames Research Center Dimitra Giannakopoulou RIACS/USRA, NASA Ames Research Center

Characteristics

Terminates with minimal automaton A for U

Generates DFA candidates Ai: |A1| < | A2| < … < |A|

Produces at most n candidates, where n = |A|

# queries: (kn2 + n logm),– m is size of largest counterexample, k is size of alphabet

For n components (M1 || M2 || … || Mn) apply algorithm recursively: Ai M1 P as before

true M2 || … || MnAi invokes the framework

Page 15: Towards a Compositional SPIN Corina Păsăreanu QSS, NASA Ames Research Center Dimitra Giannakopoulou RIACS/USRA, NASA Ames Research Center

true P Ai

Learning Interface Specifications

Compute an assumption (as weak as possible) for a component M1 to guarantee some property P, when environment is not available

A = P

L*

query: string s

true

false

s M1 P

conjecture: AiAi M1 P

true

counterexample

true

false

return Ai

counterexample

not accurate with respect to !P || !M1

Page 16: Towards a Compositional SPIN Corina Păsăreanu QSS, NASA Ames Research Center Dimitra Giannakopoulou RIACS/USRA, NASA Ames Research Center

Implementation in SPIN

Stand-alone application– Invokes SPIN for queries and conjectures

Handles only a Promela subset– Components are processes – Communication through rendezvous channels

Safety properties – SPIN trace assertions

Checking assume-guarantee triples– Encode assumptions into environment processes that run in

parallel with components

Page 17: Towards a Compositional SPIN Corina Păsăreanu QSS, NASA Ames Research Center Dimitra Giannakopoulou RIACS/USRA, NASA Ames Research Center

Case Study

Model derived from MER Resource Arbiter– Local management of resource contention between resource

consumers (e.g. science instruments, communication systems)– Avoid simultaneous conflicts (e.g. driving while capturing a

camera image are mutually incompatible)– Enforce orderly activity in accordance with predefined priorities

encoded in a lookup table

5 resources– Comm, Drive, PanCam, Arm, Rat

5 User threads– Non-deterministically decide to use any of the 5 resources

~3000 LOCChecked several safety properties

Page 18: Towards a Compositional SPIN Corina Păsăreanu QSS, NASA Ames Research Center Dimitra Giannakopoulou RIACS/USRA, NASA Ames Research Center

Arbiter Architecture

ARB

U5

U4

Request, CancelU3

U2

U1Grant, Deny

Rescind

Property PMutual exclusion between resources

Comm and Drive can not be used at the same time

Page 19: Towards a Compositional SPIN Corina Păsăreanu QSS, NASA Ames Research Center Dimitra Giannakopoulou RIACS/USRA, NASA Ames Research Center

Incremental Property Checking

Compute A1 … A5 s.t.

A1 U1 P

A2 U2 A1

A3 U3 A2

A4 U4 A3

A5 U5 A4

true ARB A5

ResultP holds on U1 || .. || U5 || ARB

Two techniques– Recursive invocation– Interface specification

Comparison with non-compositional analysis

U1

U2

P

A2 A1

ARB

A1

U3

U4

A2

A4 A3

A3

U5A5 A4

A5

Page 20: Towards a Compositional SPIN Corina Păsăreanu QSS, NASA Ames Research Center Dimitra Giannakopoulou RIACS/USRA, NASA Ames Research Center

Analysis Memory State Space Time

tmodel tcompile trun

Assumption Size

Monolithic 544 MB 3.9e+06 0.02s 0.8s 33.7s N/A

Recursive 2.6 MB 1002 0.03s 1.1s 0.03s 6 .. 12

Interface 2.6 MB 2941 0.04s 1.3s 0.02s 12

Analysis Results

Results do not reflect the cost of generating the assumptions

Page 21: Towards a Compositional SPIN Corina Păsăreanu QSS, NASA Ames Research Center Dimitra Giannakopoulou RIACS/USRA, NASA Ames Research Center

Cost of Assumption Generation

Analysis queries oracle1 oracle2 tSPIN+tLearn MemLearn tLTSA MemLTSA

Recursive 4884 48 1 5646.3s 1743K 42.8s 20400K

Interface

(A1)

852 12 1 818.2s 508K 3.07s 4845K

LTSA tool

Page 22: Towards a Compositional SPIN Corina Păsăreanu QSS, NASA Ames Research Center Dimitra Giannakopoulou RIACS/USRA, NASA Ames Research Center

Discussion

Significant memory savings

Serious time overhead

Experimented with SPIN’s feature for separate compilation– Encode assumptions as never claims– Restrict search of the verifier

New encoding for queries– Significant improvement– Cost of interface generation reduced from 818.213s to 185.185s

Page 23: Towards a Compositional SPIN Corina Păsăreanu QSS, NASA Ames Research Center Dimitra Giannakopoulou RIACS/USRA, NASA Ames Research Center

Conclusion and Future Work

Tool architecture for compositional verification– Uses L* for automatic derivation of assumptions– Automated derivation of interface specification

“Loose” integration with SPIN– Model checking for queries and conjectures

Application to Arbiter case study– Significant memory gains– Serious time overhead ; techniques to address this issue

Future work– Tighter integration with SPIN– Parallel checks for queries– Investigate buffered message passing communication– Liveness (learning for infinitary regular sets)– Distinguish between read and write operations