1/27 Ant Colony Optimization for Model Checking · Ant Colony Optimization for Model Checking...

27
1/27 Gran Canaria, Canary Islands, Spain, February 12-16, 2007 EUROCAST 2007 Ant Colony Optimization for Model Checking Enrique Alba and Francisco Chicano Introduction Background Ant Colony Optimization Experiments Conclusions & Future Work

Transcript of 1/27 Ant Colony Optimization for Model Checking · Ant Colony Optimization for Model Checking...

Page 1: 1/27 Ant Colony Optimization for Model Checking · Ant Colony Optimization for Model Checking Enrique Alba and Francisco Chicano Introduction. Background. Ant Colony Optimization.

1/27

Gran Canaria, Canary Islands, Spain, February 12-16, 2007

EUROCAST 2007

Ant Colony Optimization for Model Checking

Enrique Alba and

Francisco Chicano

Introduction

Background

Ant

Colony Optimization

Experiments

Conclusions

& Future

Work

Page 2: 1/27 Ant Colony Optimization for Model Checking · Ant Colony Optimization for Model Checking Enrique Alba and Francisco Chicano Introduction. Background. Ant Colony Optimization.

2/27

Gran Canaria, Canary Islands, Spain, February 12-16, 2007

EUROCAST 2007

Introduction• Nowadays software is very complex

• An error in a software system can imply the loss of lot of money

… and even human lifes

• Techniques for proving the correctness

ofthe software are required

•Model checking

→ fully automatic

Introduction

Background

Ant

Colony Optimization

Experiments

Conclusions

& Future

Work

Page 3: 1/27 Ant Colony Optimization for Model Checking · Ant Colony Optimization for Model Checking Enrique Alba and Francisco Chicano Introduction. Background. Ant Colony Optimization.

3/27

Gran Canaria, Canary Islands, Spain, February 12-16, 2007

EUROCAST 2007

Product

Büchi

automaton

Explicit State Model Checking• Objective: Prove that model

M satisfies the property :

• SPIN: the property f is an LTL formula

s0

s4s7

s6

s2

s1

s8s9

s5

s3

s0

s1s2

s3

s4

s5

Model

M

s1

s0 s2

qp∧!q

!p∨q

LTL formula ¬

f

×

Introduction

Background

Ant

Colony Optimization

Experiments

Conclusions

& Future

Work

Page 4: 1/27 Ant Colony Optimization for Model Checking · Ant Colony Optimization for Model Checking Enrique Alba and Francisco Chicano Introduction. Background. Ant Colony Optimization.

4/27

Gran Canaria, Canary Islands, Spain, February 12-16, 2007

EUROCAST 2007

Product

Büchi

automaton

Explicit State Model Checking• Objective: Prove that model

M satisfies the property :

• SPIN: the property f is an LTL formula

s0

s4s7

s6

s2

s1

s8s9

s5

s3

s0

s1s2

s3

s4

s5

Model

M

s1

s0 s2

qp∧!q

!p∨q

LTL formula ¬

f

×

Introduction

Background

Ant

Colony Optimization

Experiments

Conclusions

& Future

Work

Page 5: 1/27 Ant Colony Optimization for Model Checking · Ant Colony Optimization for Model Checking Enrique Alba and Francisco Chicano Introduction. Background. Ant Colony Optimization.

5/27

Gran Canaria, Canary Islands, Spain, February 12-16, 2007

EUROCAST 2007

Product

Büchi

automaton

Explicit State Model Checking• Objective: Prove that model

M satisfies the property :

• SPIN: the property f is an LTL formula

s0

s4s7

s6

s2

s1

s8s9

s5

s3

s0

s1s2

s3

s4

s5

Model

M

s1

s0 s2

qp∧!q

!p∨q

LTL formula ¬

f

×

Using

Nested-DFS

Introduction

Background

Ant

Colony Optimization

Experiments

Conclusions

& Future

Work

Page 6: 1/27 Ant Colony Optimization for Model Checking · Ant Colony Optimization for Model Checking Enrique Alba and Francisco Chicano Introduction. Background. Ant Colony Optimization.

6/27

Gran Canaria, Canary Islands, Spain, February 12-16, 2007

EUROCAST 2007

Safety Properties• Safety properties

are those expressed by an LTL formula of the form:

where p

is a past formula

• Finding one counterexample ≡

finding one accepting state

• Classical algorithms for graph exploration can be used: DFS

and BFS

f

= □

p

s0

s4s7

s6

s2

s1

s8s9

s5

s3

Product

automatonSafety

Properties

DeadlocksInvariantsAssertions…

Introduction

Background

Ant

Colony Optimization

Experiments

Conclusions

& Future

Work

Page 7: 1/27 Ant Colony Optimization for Model Checking · Ant Colony Optimization for Model Checking Enrique Alba and Francisco Chicano Introduction. Background. Ant Colony Optimization.

7/27

Gran Canaria, Canary Islands, Spain, February 12-16, 2007

EUROCAST 2007

s0

s4s7

s6

s2

s1

s8s9

s5

s3

State Explosion Problem• Number of states very large

even for small models

• Example: Dining philosophers with n

philosophers

→ 3n

states

20 philosophers → 1039 GB

for storing the states

• Solutions: state compression, bitstate

hashing, partial order reduction,

symmetry reduction, symbolic model checking

• Large models cannot be verified but errors can be found

MemoryIntroduction

Background

Ant

Colony Optimization

Experiments

Conclusions

& Future

Work

Page 8: 1/27 Ant Colony Optimization for Model Checking · Ant Colony Optimization for Model Checking Enrique Alba and Francisco Chicano Introduction. Background. Ant Colony Optimization.

8/27

Gran Canaria, Canary Islands, Spain, February 12-16, 2007

EUROCAST 2007

The search for errors can be directed by heuristics using algorithms like A*, IDA*, WA*, Best-First, and so on

• Different kinds of heuristic functions have been proposed in the past:

• Formula-based

heuristics: depends on the LTL formula

• Structural

heuristics: code coverage

• Deadlock-detection

heuristics: active process

• State-dependent

heuristics: hamming distance

Heuristic Model Checking

s0

s4

s7

s6

s2

s1

s8s9

s5

s32

0

3

5

1

2

40

76

Heuristic

valueIntroduction

Background

Ant

Colony Optimization

Experiments

Conclusions

& Future

Work

Page 9: 1/27 Ant Colony Optimization for Model Checking · Ant Colony Optimization for Model Checking Enrique Alba and Francisco Chicano Introduction. Background. Ant Colony Optimization.

9/27

Gran Canaria, Canary Islands, Spain, February 12-16, 2007

EUROCAST 2007

• Designed

to

solve

optimization

problems

Maximize or minimize a given function: the fitness function

• They

can find

“good”

solutions

with

“reasonable”

resources

Single solution Population

Metaheuristic

Algorithms

Metaheuristic

Algorithms

Introduction

Background

Ant

Colony Optimization

Experiments

Conclusions

& Future

Work

Page 10: 1/27 Ant Colony Optimization for Model Checking · Ant Colony Optimization for Model Checking Enrique Alba and Francisco Chicano Introduction. Background. Ant Colony Optimization.

10/27

Gran Canaria, Canary Islands, Spain, February 12-16, 2007

EUROCAST 2007

Single solution

Iterative

Improvement

Iterated

Local Search

Guided

Local Search

Variable Neighborhood

Search

Greedy

Randomized

Adaptive

Search

Procedure

Tabu

SearchSimulated

Annealing

Evolutionary

ComputationScatter

SearchEstimation

of

Distribution

Algorithms

Ant

Colony

OptimizationParticle

Swarm

Optimization

Population

Metaheuristic

Algorithms

Introduction

Background

Ant

Colony Optimization

Experiments

Conclusions

& Future

Work

Page 11: 1/27 Ant Colony Optimization for Model Checking · Ant Colony Optimization for Model Checking Enrique Alba and Francisco Chicano Introduction. Background. Ant Colony Optimization.

11/27

Gran Canaria, Canary Islands, Spain, February 12-16, 2007

EUROCAST 2007

Single solution

Iterative

Improvement

Iterated

Local Search

Guided

Local Search

Variable Neighborhood

Search

Greedy

Randomized

Adaptive

Search

Procedure

Tabu

SearchSimulated

Annealing

Evolutionary

ComputationScatter

SearchEstimation

of

Distribution

Algorithms

Ant

Colony

OptimizationParticle

Swarm

Optimization

Population

Metaheuristic

Algorithms

Genetic

Algorithms

Alba & Troya, 1996

Godefroid

& Khurshid, 2002, 2004

Introduction

Background

Ant

Colony Optimization

Experiments

Conclusions

& Future

Work

Page 12: 1/27 Ant Colony Optimization for Model Checking · Ant Colony Optimization for Model Checking Enrique Alba and Francisco Chicano Introduction. Background. Ant Colony Optimization.

12/27

Gran Canaria, Canary Islands, Spain, February 12-16, 2007

EUROCAST 2007

Ant Colony Optimization•

Ant Colony Optimization (ACO) metaheuristic

is inspired in the

foraging behavior of the real ants

• ACO Pseudo-code

Introduction

Background

Ant

Colony Optimization

Experiments

Conclusions

& Future

Work

Page 13: 1/27 Ant Colony Optimization for Model Checking · Ant Colony Optimization for Model Checking Enrique Alba and Francisco Chicano Introduction. Background. Ant Colony Optimization.

13/27

Gran Canaria, Canary Islands, Spain, February 12-16, 2007

EUROCAST 2007

Ant Colony Optimization• Construction Phase

i

j

l

m

k

Ni

τij

ηij

kTrail

Heuristic

Introduction

Background

Ant

Colony Optimization

Experiments

Conclusions

& Future

Work

Page 14: 1/27 Ant Colony Optimization for Model Checking · Ant Colony Optimization for Model Checking Enrique Alba and Francisco Chicano Introduction. Background. Ant Colony Optimization.

14/27

Gran Canaria, Canary Islands, Spain, February 12-16, 2007

EUROCAST 2007

Ant Colony Optimization• Pheromone update

During the construction phase

After the construction phase

• Trail limits (particular of MMAS)

Pheromones are kept in the interval [τmin, τmax]

with

with

Introduction

Background

Ant

Colony Optimization

Experiments

Conclusions

& Future

Work

Page 15: 1/27 Ant Colony Optimization for Model Checking · Ant Colony Optimization for Model Checking Enrique Alba and Francisco Chicano Introduction. Background. Ant Colony Optimization.

15/27

Gran Canaria, Canary Islands, Spain, February 12-16, 2007

EUROCAST 2007

ACOhg: Motivation•

Existing ACO models cannot be applied

to the search for errors in

concurrent programs

The graph is very large, the construction of a complete solution could require too much time and memory

In some models the number of nodes of the graph is used for computing the initial pheromone values

We need a new model

for tackling these problems: ACOhg

(ACO for Huge Graphs)

Constructs the ant paths and updates the pheromone values in the same way as the traditional models

Allows the construction of partial solutions

Allows the exploration of the graph using a bounded amount of memory

The pheromone matrix is never completely stored

Introduction

Background

Ant

Colony Optimization

Experiments

Conclusions

& Future

Work

Page 16: 1/27 Ant Colony Optimization for Model Checking · Ant Colony Optimization for Model Checking Enrique Alba and Francisco Chicano Introduction. Background. Ant Colony Optimization.

16/27

Gran Canaria, Canary Islands, Spain, February 12-16, 2007

EUROCAST 2007

• The length of the ant paths is limited by λant

ACOhg: Ant Paths Length

λant Objective node

What if…?

Expansion

Technique: λant

changes

λant

= λant

+ δl

After

σi

steps

Initial

node

Introduction

Background

Ant

Colony Optimization

Experiments

Conclusions

& Future

Work

Page 17: 1/27 Ant Colony Optimization for Model Checking · Ant Colony Optimization for Model Checking Enrique Alba and Francisco Chicano Introduction. Background. Ant Colony Optimization.

17/27

Gran Canaria, Canary Islands, Spain, February 12-16, 2007

EUROCAST 2007

• The length of the ant paths is limited by λant

ACOhg: Ant Paths Length

λant Objective node

What if…?

Expansion

Technique: λant

changes

λant

= λant

+ δl

After

σi

steps

Initial

node

Two

alternatives

Introduction

Background

Ant

Colony Optimization

Experiments

Conclusions

& Future

Work

Page 18: 1/27 Ant Colony Optimization for Model Checking · Ant Colony Optimization for Model Checking Enrique Alba and Francisco Chicano Introduction. Background. Ant Colony Optimization.

18/27

Gran Canaria, Canary Islands, Spain, February 12-16, 2007

EUROCAST 2007

• The length of the ant paths is limited by λant

ACOhg: Ant Paths Length

λant Objective node

What if…?

Expansion

Technique: λant

changes

λant

= λant

+ δl

After

σi

steps

Missionary

Technique: starting

nodes

for

path

construction

change

After

σs

steps

Second

stage Third

stage

Initial

node

Two

alternatives

Introduction

Background

Ant

Colony Optimization

Experiments

Conclusions

& Future

Work

Page 19: 1/27 Ant Colony Optimization for Model Checking · Ant Colony Optimization for Model Checking Enrique Alba and Francisco Chicano Introduction. Background. Ant Colony Optimization.

19/27

Gran Canaria, Canary Islands, Spain, February 12-16, 2007

EUROCAST 2007

ACOhg: Pheromones• The number of pheromone

trails increases during the search

• This leads to memory problems

•We must remove

some pheromone trails from memory

Steps

Pher

omon

es

Introduction

Background

Ant

Colony Optimization

Experiments

Conclusions

& Future

Work

Steps

Pher

omon

es

Remove pheromone trails τij

below a given threshold τθ

Steps

Pher

omon

es

Stage

In the

missionary

technique, remove

all

pheromone

trails

after

one

stage

Page 20: 1/27 Ant Colony Optimization for Model Checking · Ant Colony Optimization for Model Checking Enrique Alba and Francisco Chicano Introduction. Background. Ant Colony Optimization.

20/27

Gran Canaria, Canary Islands, Spain, February 12-16, 2007

EUROCAST 2007

ACOhg: Fitness Function• The fitness function must be able to evaluate partial solutions

• Penalties are added for partial solutions

and solutions with cycles

Partial

solutionwith

cycle

Partial

solutionwithout

cycle

Complete solution

Total penalty

Penalty

constant

for partial

solutions

Penalty

constant

for solutions

with

cycles

Path

length

Introduction

Background

Ant

Colony Optimization

Experiments

Conclusions

& Future

Work

Page 21: 1/27 Ant Colony Optimization for Model Checking · Ant Colony Optimization for Model Checking Enrique Alba and Francisco Chicano Introduction. Background. Ant Colony Optimization.

21/27

Gran Canaria, Canary Islands, Spain, February 12-16, 2007

EUROCAST 2007

Experiments: Models•We selected 5 Promela

models

for the experiments

For marriers4

and garp

the states do not fit into the main memory of the computer

Model LoC States Processes Safety

Property

basic_call2 198 33667 3 deadlock

garp 272 unknown 8 deadlock

giop12 717 27877 10 deadlock

marriers4 142 unkown 5 deadlock

phi8 34 6561 9 deadlock

Introduction

Background

Ant

Colony Optimization

Experiments

Conclusions

& Future

Work

Page 22: 1/27 Ant Colony Optimization for Model Checking · Ant Colony Optimization for Model Checking Enrique Alba and Francisco Chicano Introduction. Background. Ant Colony Optimization.

22/27

Gran Canaria, Canary Islands, Spain, February 12-16, 2007

EUROCAST 2007

Experiments: Parameters•

The ACOhg

model was implemented inside the MALLBA

library and

and

then included into the HSF-SPIN

model checker

• These parameters belong to a Min-Max Ant System

(MMAS)

• Fitness function: length of the path + penalty

• Two variants: using no heuristic (MMAS-b) and using it (MMAS-h)

•Machine: Pentium 4 at 2.8 GHz with 512 MB

Parameter Value

Steps 10

Colony

size 10

λant 10

xi 0.0

ρ 0.9

α 1.0

β 0.0/1.0

Introduction

Background

Ant

Colony Optimization

Experiments

Conclusions

& Future

Work

Page 23: 1/27 Ant Colony Optimization for Model Checking · Ant Colony Optimization for Model Checking Enrique Alba and Francisco Chicano Introduction. Background. Ant Colony Optimization.

23/27

Gran Canaria, Canary Islands, Spain, February 12-16, 2007

EUROCAST 2007

Experiments: Comparison•We compare MMAS-b and MMAS-h against DFS, BFS, and A*

•MMAS algorihtms

are the only ones

able to find errors in marriers4

•MMAS algorithms require less memory than BFS

•MMAS algorithms get shorter (better) error trails than DFS

We conclude that MMAS algorithms are the best trade-off between efficacy and efficiency (good results with low resources)

Introduction

Background

Ant

Colony Optimization

Experiments

Conclusions

& Future

Work

Page 24: 1/27 Ant Colony Optimization for Model Checking · Ant Colony Optimization for Model Checking Enrique Alba and Francisco Chicano Introduction. Background. Ant Colony Optimization.

24/27

Gran Canaria, Canary Islands, Spain, February 12-16, 2007

EUROCAST 2007

Experiments: ACOhg

vs. GA• GA

is the previous metaheuristic

algorithm applied to this problem

We use phi17

and needham

for the comparison

(Godefroid

& Khurshid, 2002)

• The results state that ACOhghas higher efficacy and efficiency

than GA

(even taking into account the differences in themachines)

Introduction

Background

Ant

Colony Optimization

Experiments

Conclusions

& Future

Work

Page 25: 1/27 Ant Colony Optimization for Model Checking · Ant Colony Optimization for Model Checking Enrique Alba and Francisco Chicano Introduction. Background. Ant Colony Optimization.

25/27

Gran Canaria, Canary Islands, Spain, February 12-16, 2007

EUROCAST 2007

Experiments: ACOhg

vs. GA• GA

is the previous metaheuristic

algorithm applied to this problem

We use phi17

and needham

for the comparison

(Godefroid

& Khurshid, 2002)

• The results state that ACOhghas higher efficacy and efficiency

than GA

(even taking into account the differences in themachines)

1.11

1.36

* 4.84

Introduction

Background

Ant

Colony Optimization

Experiments

Conclusions

& Future

Work

Page 26: 1/27 Ant Colony Optimization for Model Checking · Ant Colony Optimization for Model Checking Enrique Alba and Francisco Chicano Introduction. Background. Ant Colony Optimization.

26/27

Gran Canaria, Canary Islands, Spain, February 12-16, 2007

EUROCAST 2007

Conclusions and Future Work

ACOhg

is able to outperform state-of-the-art algorithms

used nowadays in current model checkers for finding errors

The results obtained with ACOhg

improve by far

those obtained by GAs

in the past

This represents a promising starting point

for the use of metaheuristic algorithms in model checking

Conclusions

Future

Work

We plan to study ACOhg

algorithms in depth, exploring all the alternatives mentioned for the algorithm

ACOhg

algorithms can be combined with other techniques for reducing the amount of memory: e.g., Partial Order Reduction

ACOhg

can be extended to work in parallel

and profit from the use of clusters of machines (parallel model checkers)

Introduction

Background

Ant

Colony Optimization

Experiments

Conclusions

& Future

Work

Page 27: 1/27 Ant Colony Optimization for Model Checking · Ant Colony Optimization for Model Checking Enrique Alba and Francisco Chicano Introduction. Background. Ant Colony Optimization.

27/27

Gran Canaria, Canary Islands, Spain, February 12-16, 2007

EUROCAST 2007

Thanks for your attention !!!

The End

Questions?

Introduction

Background

Ant

Colony Optimization

Experiments

Conclusions

& Future

Work