100
Inferring Automata with State-local Alphabet Abstractions Malte Isberner 1,2 , Falk Howar 2 , Bernhard Steffen 1 1 TU Dortmund, Germany 2 CMU Silicon Valley, Mountain View, USA NFM 2013 @ NASA ARC

Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Inferring Automata with State-local AlphabetAbstractions

Malte Isberner1,2, Falk Howar2, Bernhard Steffen1

1TU Dortmund, Germany

2CMU Silicon Valley, Mountain View, USA

NFM 2013 @ NASA ARC

Page 2: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Example: A Conference Service

q0start q1

q2

q3

q4

. . .

login/ok

role author/ok

role subreviewer/ok

role proc author/ok

submit abstract/abstract submittedsubmit paper/paper submitted. . .

submit review/err not subreviewersubmit camera ready/err not proc authorsubmit copyright form/err not proc author. . .

role proc author/ok

. . .

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 2/16

Page 3: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Example: A Conference Service

q0start q1

q2

q3

q4

. . .

login/ok

role author/ok

role subreviewer/ok

role proc author/ok

submit abstract/abstract submittedsubmit paper/paper submitted. . .

submit review/err not subreviewersubmit camera ready/err not proc authorsubmit copyright form/err not proc author. . .

role proc author/ok

. . .

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 2/16

Page 4: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Example: A Conference Service

q0start q1

q2

q3

q4

. . .

login/ok

role author/ok

role subreviewer/ok

role proc author/ok

submit abstract/abstract submittedsubmit paper/paper submitted. . .

submit review/err not subreviewersubmit camera ready/err not proc authorsubmit copyright form/err not proc author. . .

role proc author/ok

. . .

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 2/16

Page 5: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Example: A Conference Service

q0start q1

q2

q3

q4

. . .

login/ok

role author/ok

role subreviewer/ok

role proc author/ok

submit abstract/abstract submittedsubmit paper/paper submitted. . .

submit review/err not subreviewersubmit camera ready/err not proc authorsubmit copyright form/err not proc author. . .

role proc author/ok

. . .

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 2/16

Page 6: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Active Automata Learning Illustrated

SUL

login role author?

ok ok

login role author submit paper?

ok ok paper submitted

H

equivalent?

Yes: done

No: counterexamplew ∈ Σ∗ : JSULK(w) 6= JHK(w)

Note: J·K maps an input word to the respective system’s output

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 3/16

Page 7: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Active Automata Learning Illustrated

SUL

login role author?

ok ok

login role author submit paper?

ok ok paper submitted

H

equivalent?

Yes: done

No: counterexamplew ∈ Σ∗ : JSULK(w) 6= JHK(w)

Note: J·K maps an input word to the respective system’s output

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 3/16

Page 8: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Active Automata Learning Illustrated

SUL

login role author?

ok ok

login role author submit paper?

ok ok paper submitted

H

equivalent?

Yes: done

No: counterexamplew ∈ Σ∗ : JSULK(w) 6= JHK(w)

Note: J·K maps an input word to the respective system’s output

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 3/16

Page 9: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Active Automata Learning Illustrated

SUL

login role author?

ok ok

login role author submit paper?

ok ok paper submitted

H

equivalent?

Yes: done

No: counterexamplew ∈ Σ∗ : JSULK(w) 6= JHK(w)

Note: J·K maps an input word to the respective system’s output

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 3/16

Page 10: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Active Automata Learning Illustrated

SUL

login role author?

ok ok

login role author submit paper?

ok ok paper submitted

H

equivalent?

Yes: done

No: counterexamplew ∈ Σ∗ : JSULK(w) 6= JHK(w)

Note: J·K maps an input word to the respective system’s output

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 3/16

Page 11: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Active Automata Learning Illustrated

SUL

login role author?

ok ok

login role author submit paper?

ok ok paper submitted

H

equivalent?

Yes: done

No: counterexamplew ∈ Σ∗ : JSULK(w) 6= JHK(w)

Note: J·K maps an input word to the respective system’s output

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 3/16

Page 12: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Active Automata Learning Illustrated

SUL

login role author?

ok ok

login role author submit paper?

ok ok paper submitted

H

equivalent?

Yes: done

No: counterexamplew ∈ Σ∗ : JSULK(w) 6= JHK(w)

Note: J·K maps an input word to the respective system’s output

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 3/16

Page 13: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Active Automata Learning Formalized

Originally for learning regular sets (DFAs) [Angluin, 1987]; adaptedto reactive systems (Mealy machines) [Niese, 2003]

Input alphabet Σ, output alphabet Ω

Interaction with “teacher” via

Membership Queries (MQs): What is the response to some inputw ∈ Σ∗?Equivalence Queries (EQs): Is the conjectured hypothesis correct?

Formally: MQ : Σ∗ → Ω, EQ : S → Σ∗ ∪ yes

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 4/16

Page 14: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

The L∗ Algorithm

Central data structure: Observation Table

a bε x xb x ya x xba x xbb x y

Rows:

Upper half: Short prefixes identify statesLower half: Long prefixes identify transitions (one-letter extensions)

Columns: Distinguishing suffixes

distinguish states (short prefixes)match transition targets (long prefixes) with states (short prefixes)

Cell contents (row u, col. v): MQ(u · v)

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 5/16

Page 15: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

The L∗ Algorithm

Central data structure: Observation Table

a bε x xb x ya x xba x xbb x y

Rows:

Upper half: Short prefixes identify states

Lower half: Long prefixes identify transitions (one-letter extensions)

Columns: Distinguishing suffixes

distinguish states (short prefixes)match transition targets (long prefixes) with states (short prefixes)

Cell contents (row u, col. v): MQ(u · v)

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 5/16

Page 16: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

The L∗ Algorithm

Central data structure: Observation Table

a bε x xb x ya x xba x xbb x y

Rows:

Upper half: Short prefixes identify statesLower half: Long prefixes identify transitions (one-letter extensions)

Columns: Distinguishing suffixes

distinguish states (short prefixes)match transition targets (long prefixes) with states (short prefixes)

Cell contents (row u, col. v): MQ(u · v)

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 5/16

Page 17: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

The L∗ Algorithm

Central data structure: Observation Table

a bε x xb x ya x xba x xbb x y

Rows:

Upper half: Short prefixes identify statesLower half: Long prefixes identify transitions (one-letter extensions)

Columns: Distinguishing suffixes

distinguish states (short prefixes)match transition targets (long prefixes) with states (short prefixes)

Cell contents (row u, col. v): MQ(u · v)

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 5/16

Page 18: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

The L∗ Algorithm

Central data structure: Observation Table

a bε x xb x ya x xba x xbb x y

Rows:

Upper half: Short prefixes identify statesLower half: Long prefixes identify transitions (one-letter extensions)

Columns: Distinguishing suffixes

distinguish states (short prefixes)match transition targets (long prefixes) with states (short prefixes)

Cell contents (row u, col. v): MQ(u · v)

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 5/16

Page 19: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

The L∗ Algorithm

Central data structure: Observation Table

a bε x xb x ya x xba x xbb x y

[ε]

Rows:

Upper half: Short prefixes identify statesLower half: Long prefixes identify transitions (one-letter extensions)

Columns: Distinguishing suffixes

distinguish states (short prefixes)match transition targets (long prefixes) with states (short prefixes)

Cell contents (row u, col. v): MQ(u · v)

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 5/16

Page 20: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

The L∗ Algorithm

Central data structure: Observation Table

a bε x xb x ya x xba x xbb x y

[ε] [b]b

Rows:

Upper half: Short prefixes identify statesLower half: Long prefixes identify transitions (one-letter extensions)

Columns: Distinguishing suffixes

distinguish states (short prefixes)match transition targets (long prefixes) with states (short prefixes)

Cell contents (row u, col. v): MQ(u · v)

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 5/16

Page 21: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

The L∗ Algorithm

Central data structure: Observation Table

a bε x xb x ya x xba x xbb x y

[ε] [b]b

a

Rows:

Upper half: Short prefixes identify statesLower half: Long prefixes identify transitions (one-letter extensions)

Columns: Distinguishing suffixes

distinguish states (short prefixes)match transition targets (long prefixes) with states (short prefixes)

Cell contents (row u, col. v): MQ(u · v)

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 5/16

Page 22: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

The L∗ Algorithm

Central data structure: Observation Table

a bε x xb x ya x xba x xbb x y

[ε] [b]b

a

Rows:

Upper half: Short prefixes identify statesLower half: Long prefixes identify transitions (one-letter extensions)

Columns: Distinguishing suffixes

distinguish states (short prefixes)match transition targets (long prefixes) with states (short prefixes)

Cell contents (row u, col. v): MQ(u · v)

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 5/16

Page 23: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

The L∗ Algorithm

Central data structure: Observation Table

a bε x xb x ya x xba x xbb x y

[ε] [b]b

a

a

Rows:

Upper half: Short prefixes identify statesLower half: Long prefixes identify transitions (one-letter extensions)

Columns: Distinguishing suffixes

distinguish states (short prefixes)match transition targets (long prefixes) with states (short prefixes)

Cell contents (row u, col. v): MQ(u · v)

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 5/16

Page 24: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

The L∗ Algorithm

Central data structure: Observation Table

a bε x xb x ya x xba x xbb x y

[ε] [b]b

a

a

Rows:

Upper half: Short prefixes identify statesLower half: Long prefixes identify transitions (one-letter extensions)

Columns: Distinguishing suffixes

distinguish states (short prefixes)match transition targets (long prefixes) with states (short prefixes)

Cell contents (row u, col. v): MQ(u · v)

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 5/16

Page 25: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

The L∗ Algorithm

Central data structure: Observation Table

a bε x xb x ya x xba x xbb x y

[ε] [b]b

a

a

b

Rows:

Upper half: Short prefixes identify statesLower half: Long prefixes identify transitions (one-letter extensions)

Columns: Distinguishing suffixes

distinguish states (short prefixes)match transition targets (long prefixes) with states (short prefixes)

Cell contents (row u, col. v): MQ(u · v)

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 5/16

Page 26: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

The L∗ Algorithm

Central data structure: Observation Table

a bε x xb x ya x xba x xbb x y

[ε] [b]b

a

a

b

Rows:

Upper half: Short prefixes identify statesLower half: Long prefixes identify transitions (one-letter extensions)

Columns: Distinguishing suffixes

distinguish states (short prefixes)match transition targets (long prefixes) with states (short prefixes)

Cell contents (row u, col. v): MQ(u · v)

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 5/16

Page 27: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

The L∗ Algorithm

Central data structure: Observation Table

a bε x xb x ya x xba x xbb x y

[ε] [b]b / x

a / x

a / x

b / y

Rows:

Upper half: Short prefixes identify statesLower half: Long prefixes identify transitions (one-letter extensions)

Columns: Distinguishing suffixes

distinguish states (short prefixes)match transition targets (long prefixes) with states (short prefixes)

Cell contents (row u, col. v): MQ(u · v)

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 5/16

Page 28: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

The L∗ Algorithm – Counterexamples

Essential for defining transitions: Matching short prefix for each longprefix

Closed observation table

Counterexample: Word w ∈ Σ∗ such that JHK(w) 6= JSULK(w)

⇒ New distinguishing suffix v such that table is no longer closed

a bε x xb x ya x xba x xbb x y

[ε] [b]b/x

a/x

a/x

b/y

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 6/16

Page 29: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

The L∗ Algorithm – Counterexamples

Essential for defining transitions: Matching short prefix for each longprefix

Closed observation table

Counterexample: Word w ∈ Σ∗ such that JHK(w) 6= JSULK(w)

⇒ New distinguishing suffix v such that table is no longer closed

a bε x xb x ya x xba x xbb x y

[ε] [b]b/x

a/x

a/x

b/y

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 6/16

Page 30: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

The L∗ Algorithm – Counterexamples

Essential for defining transitions: Matching short prefix for each longprefix

Closed observation table

Counterexample: Word w ∈ Σ∗ such that JHK(w) 6= JSULK(w)

⇒ New distinguishing suffix v such that table is no longer closed

a bε x xb x ya x xba x xbb x y

[ε] [b]b/x

a/x

a/x

b/y

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 6/16

Page 31: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

The L∗ Algorithm – Counterexamples

Essential for defining transitions: Matching short prefix for each longprefix

Closed observation table

Counterexample: Word w ∈ Σ∗ such that JHK(w) 6= JSULK(w)

⇒ New distinguishing suffix v such that table is no longer closed

a b abε x x xb x y xa x x xba x x xbb x y y

[ε] [b]b/x

a/x

a/x

b/y

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 6/16

Page 32: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

The L∗ Algorithm – Counterexamples

Essential for defining transitions: Matching short prefix for each longprefix

Closed observation table

Counterexample: Word w ∈ Σ∗ such that JHK(w) 6= JSULK(w)

⇒ New distinguishing suffix v such that table is no longer closed

a b abε x x xb x y xa x x xba x x xbb x y y

[ε] [b]b/x

a/x

a/x

b/y

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 6/16

Page 33: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

The L∗ Algorithm – Counterexamples

Essential for defining transitions: Matching short prefix for each longprefix

Closed observation table

Counterexample: Word w ∈ Σ∗ such that JHK(w) 6= JSULK(w)

⇒ New distinguishing suffix v such that table is no longer closed

a b abε x x xb x y xbb x y ya x x xba x x x

[ε] [b] [bb]b/x

a/x

a/x b/y

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 6/16

Page 34: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

The L∗ Algorithm – Counterexamples

Essential for defining transitions: Matching short prefix for each longprefix

Closed observation table

Counterexample: Word w ∈ Σ∗ such that JHK(w) 6= JSULK(w)

⇒ New distinguishing suffix v such that table is no longer closed

a b abε x x xb x y xbb x y ya x x xba x x xbba . . .bbb . . .

[ε] [b] [bb]b/x

a/x

a/x b/y

a

b

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 6/16

Page 35: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Automata Learning in Practice

Alphabet Σ too big (or even infinite) for many practical systems

Solution: Alphabet abstraction

Concrete alphabet ΣC and abstract alphabet ΣA

Mapper: abstraction α : ΣC → ΣA, concretization γ : ΣA → ΣC

Learner operates on ΣA, mapper translates to ΣC (and backwards)

L∗ Mapper SULΣA

ΩA

ΣC

ΩC

γ

α

Case-study: Inferring model of the EU biometric passport [Aarts etal., 2010]

Requires a-priori knowledge ⇒ conflicts with black-box setting

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 7/16

Page 36: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Automata Learning in Practice

Alphabet Σ too big (or even infinite) for many practical systems

Solution: Alphabet abstraction

Concrete alphabet ΣC and abstract alphabet ΣA

Mapper: abstraction α : ΣC → ΣA, concretization γ : ΣA → ΣC

Learner operates on ΣA, mapper translates to ΣC (and backwards)

L∗ Mapper SULΣA

ΩA

ΣC

ΩC

γ

α

Case-study: Inferring model of the EU biometric passport [Aarts etal., 2010]

Requires a-priori knowledge ⇒ conflicts with black-box setting

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 7/16

Page 37: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Automata Learning in Practice

Alphabet Σ too big (or even infinite) for many practical systems

Solution: Alphabet abstraction

Concrete alphabet ΣC and abstract alphabet ΣA

Mapper: abstraction α : ΣC → ΣA, concretization γ : ΣA → ΣC

Learner operates on ΣA, mapper translates to ΣC (and backwards)

L∗ Mapper SULΣA

ΩA

ΣC

ΩC

γ

α

Case-study: Inferring model of the EU biometric passport [Aarts etal., 2010]

Requires a-priori knowledge ⇒ conflicts with black-box setting

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 7/16

Page 38: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Automata Learning in Practice

Alphabet Σ too big (or even infinite) for many practical systems

Solution: Alphabet abstraction

Concrete alphabet ΣC and abstract alphabet ΣA

Mapper: abstraction α : ΣC → ΣA, concretization γ : ΣA → ΣC

Learner operates on ΣA, mapper translates to ΣC (and backwards)

L∗ Mapper SULΣA

ΩA

ΣC

ΩC

γ

α

Case-study: Inferring model of the EU biometric passport [Aarts etal., 2010]

Requires a-priori knowledge ⇒ conflicts with black-box setting

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 7/16

Page 39: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Automata Learning in Practice

Alphabet Σ too big (or even infinite) for many practical systems

Solution: Alphabet abstraction

Concrete alphabet ΣC and abstract alphabet ΣA

Mapper: abstraction α : ΣC → ΣA, concretization γ : ΣA → ΣC

Learner operates on ΣA, mapper translates to ΣC (and backwards)

L∗ Mapper SULΣA

ΩA

ΣC

ΩC

γ

α

Case-study: Inferring model of the EU biometric passport [Aarts etal., 2010]

Requires a-priori knowledge ⇒ conflicts with black-box setting

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 7/16

Page 40: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Determinism-Preserving Abstractions

Common problems with manually tailored alphabet abstractions:

Abstraction too fine

blows up model, increases learning costs

Abstraction too coarse

Apparent non-determinism (though system itself is deterministic)

MQ ( submit review ) = err not subreviewer

αy

invalidOp

6=

γy

MQ ( submit camera ready ) = err not proc author

⇒ Abstraction not determinism-preserving

Goal: Find coarsest determinism-preserving abstraction (DPA)

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 8/16

Page 41: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Determinism-Preserving Abstractions

Common problems with manually tailored alphabet abstractions:

Abstraction too fine

blows up model, increases learning costs

Abstraction too coarse

Apparent non-determinism (though system itself is deterministic)

MQ ( submit review ) = err not subreviewer

αy

invalidOp

6=

γy

MQ ( submit camera ready ) = err not proc author

⇒ Abstraction not determinism-preserving

Goal: Find coarsest determinism-preserving abstraction (DPA)

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 8/16

Page 42: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Determinism-Preserving Abstractions

Common problems with manually tailored alphabet abstractions:

Abstraction too fine

blows up model, increases learning costs

Abstraction too coarse

Apparent non-determinism (though system itself is deterministic)

MQ ( submit review ) = err not subreviewer

αy

invalidOp

6=

γy

MQ ( submit camera ready ) = err not proc author

⇒ Abstraction not determinism-preserving

Goal: Find coarsest determinism-preserving abstraction (DPA)

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 8/16

Page 43: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Determinism-Preserving Abstractions

Common problems with manually tailored alphabet abstractions:

Abstraction too fine

blows up model, increases learning costs

Abstraction too coarse

Apparent non-determinism (though system itself is deterministic)

MQ ( submit review ) = err not subreviewer

αy

invalidOp

6=

γy

MQ ( submit camera ready ) = err not proc author

⇒ Abstraction not determinism-preserving

Goal: Find coarsest determinism-preserving abstraction (DPA)

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 8/16

Page 44: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Determinism-Preserving Abstractions

Common problems with manually tailored alphabet abstractions:

Abstraction too fine

blows up model, increases learning costs

Abstraction too coarse

Apparent non-determinism (though system itself is deterministic)

MQ ( submit review ) = err not subreviewer

αy

invalidOp

6=

γy

MQ ( submit camera ready ) = err not proc author

⇒ Abstraction not determinism-preserving

Goal: Find coarsest determinism-preserving abstraction (DPA)

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 8/16

Page 45: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Determinism-Preserving Abstractions

Common problems with manually tailored alphabet abstractions:

Abstraction too fine

blows up model, increases learning costs

Abstraction too coarse

Apparent non-determinism (though system itself is deterministic)

MQ ( submit review ) = err not subreviewer

αy

invalidOp 6=

γy

MQ ( submit camera ready ) = err not proc author

⇒ Abstraction not determinism-preserving

Goal: Find coarsest determinism-preserving abstraction (DPA)

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 8/16

Page 46: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Determinism-Preserving Abstractions

Common problems with manually tailored alphabet abstractions:

Abstraction too fine

blows up model, increases learning costs

Abstraction too coarse

Apparent non-determinism (though system itself is deterministic)

MQ ( submit review ) = err not subreviewer

αy

invalidOp 6=

γy

MQ ( submit camera ready ) = err not proc author

⇒ Abstraction not determinism-preserving

Goal: Find coarsest determinism-preserving abstraction (DPA)

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 8/16

Page 47: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Determinism-Preserving Abstractions

Common problems with manually tailored alphabet abstractions:

Abstraction too fine

blows up model, increases learning costs

Abstraction too coarse

Apparent non-determinism (though system itself is deterministic)

MQ ( submit review ) = err not subreviewer

αy

invalidOp 6=

γy

MQ ( submit camera ready ) = err not proc author

⇒ Abstraction not determinism-preserving

Goal: Find coarsest determinism-preserving abstraction (DPA)

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 8/16

Page 48: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Automated Alphabet Abstraction Refinement

Main idea: Augment black-box learning to also learn alphabetabstraction [Howar et al., 2011]

Use counterexamples (EQs) for:alphabet abstraction refinement in case of apparent non-determinismmodel refinement otherwise

Counterexample

w ∈ Σ∗C

Is γ(α(w))

still a coun-

terexample?

Refine model

Refine alphabet

yes

no

Terminates with globally coarsest DPA

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 9/16

Page 49: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Automated Alphabet Abstraction Refinement

Main idea: Augment black-box learning to also learn alphabetabstraction [Howar et al., 2011]Use counterexamples (EQs) for:

alphabet abstraction refinement in case of apparent non-determinismmodel refinement otherwise

Counterexample

w ∈ Σ∗C

Is γ(α(w))

still a coun-

terexample?

Refine model

Refine alphabet

yes

no

Terminates with globally coarsest DPA

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 9/16

Page 50: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Automated Alphabet Abstraction Refinement

Main idea: Augment black-box learning to also learn alphabetabstraction [Howar et al., 2011]Use counterexamples (EQs) for:

alphabet abstraction refinement in case of apparent non-determinismmodel refinement otherwise

Counterexample

w ∈ Σ∗C

Is γ(α(w))

still a coun-

terexample?

Refine model

Refine alphabet

yes

no

Terminates with globally coarsest DPA

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 9/16

Page 51: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Automated Alphabet Abstraction Refinement

Main idea: Augment black-box learning to also learn alphabetabstraction [Howar et al., 2011]Use counterexamples (EQs) for:

alphabet abstraction refinement in case of apparent non-determinismmodel refinement otherwise

Counterexample

w ∈ Σ∗C

Is γ(α(w))

still a coun-

terexample?

Refine model

Refine alphabet

yes

no

Terminates with globally coarsest DPA

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 9/16

Page 52: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Local Alphabet Abstraction Refinement

Problem: Nature of abstraction not captured adequately at globallevel

“author” role actions can be grouped in non-author state (outputerr not author)distinguishable in author state(abstract submitted, paper submitted, . . .)

q0start q1

q2

q3

q4

. . .

login/ok

role author/ok

role subreviewer/ok

role proc author/ok

submit abstract/abstract submittedsubmit paper/paper submitted. . .

submit review/err not subreviewersubmit camera ready/err not proc authorsubmit copyright form/err not proc author. . .

role proc author/ok

. . .

Idea: Abstraction at a state-local level (this paper)

Challenges:

(How to distinguish states w/o a global (abstract) alphabet?)How to organize per-state black-box alphabet abstractions?How to refine models and/or abstractions from counterexamples?

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 10/16

Page 53: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Local Alphabet Abstraction Refinement

Problem: Nature of abstraction not captured adequately at globallevel

“author” role actions can be grouped in non-author state (outputerr not author)distinguishable in author state(abstract submitted, paper submitted, . . .)

q0start q1

q2

q3

q4

. . .

login/ok

role author/ok

role subreviewer/ok

role proc author/ok

submit abstract/abstract submittedsubmit paper/paper submitted. . .

submit review/err not subreviewersubmit camera ready/err not proc authorsubmit copyright form/err not proc author. . .

role proc author/ok

. . .

Idea: Abstraction at a state-local level (this paper)

Challenges:

(How to distinguish states w/o a global (abstract) alphabet?)How to organize per-state black-box alphabet abstractions?How to refine models and/or abstractions from counterexamples?

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 10/16

Page 54: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Local Alphabet Abstraction Refinement

Problem: Nature of abstraction not captured adequately at globallevel

“author” role actions can be grouped in non-author state (outputerr not author)distinguishable in author state(abstract submitted, paper submitted, . . .)

q0start q1

q2

q3

q4

. . .

login/ok

role author/ok

role subreviewer/ok

role proc author/ok

submit abstract/abstract submittedsubmit paper/paper submitted. . .

submit review/err not subreviewersubmit camera ready/err not proc authorsubmit copyright form/err not proc author. . .

role proc author/ok

. . .

Idea: Abstraction at a state-local level (this paper)

Challenges:

(How to distinguish states w/o a global (abstract) alphabet?)How to organize per-state black-box alphabet abstractions?How to refine models and/or abstractions from counterexamples?

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 10/16

Page 55: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Organizing Abstractions – Abstraction Trees

(Strict) black-box setting: SUL stimulus/reaction only source ofinformation (also for alphabet abstraction)

Abstraction trees: decision trees based on membership queryoutcomes (one for each state)

Tlogin role author:

〈ε, err not subreviewer〉

(submit review, invalidSROp) 〈ε, err not proc author〉

(submit camera ready, invalidPAOp) . . .

Inner nodes (decision nodes): classifiers; suffix v, output o

Leaves (symbol nodes): (abstract) alphabet symbols; abstractsymbol, concrete representative

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 11/16

Page 56: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Organizing Abstractions – Abstraction Trees

(Strict) black-box setting: SUL stimulus/reaction only source ofinformation (also for alphabet abstraction)

Abstraction trees: decision trees based on membership queryoutcomes (one for each state)

Tlogin role author:

〈ε, err not subreviewer〉

(submit review, invalidSROp) 〈ε, err not proc author〉

(submit camera ready, invalidPAOp) . . .

Inner nodes (decision nodes): classifiers; suffix v, output o

Leaves (symbol nodes): (abstract) alphabet symbols; abstractsymbol, concrete representative

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 11/16

Page 57: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Organizing Abstractions – Abstraction Trees

(Strict) black-box setting: SUL stimulus/reaction only source ofinformation (also for alphabet abstraction)

Abstraction trees: decision trees based on membership queryoutcomes (one for each state)

Tlogin role author:

〈ε, err not subreviewer〉

(submit review, invalidSROp) 〈ε, err not proc author〉

(submit camera ready, invalidPAOp) . . .

Inner nodes (decision nodes): classifiers; suffix v, output o

Leaves (symbol nodes): (abstract) alphabet symbols; abstractsymbol, concrete representative

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 11/16

Page 58: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Organizing Abstractions – Abstraction Trees

(Strict) black-box setting: SUL stimulus/reaction only source ofinformation (also for alphabet abstraction)

Abstraction trees: decision trees based on membership queryoutcomes (one for each state)

Tlogin role author:

〈ε, err not subreviewer〉

(submit review, invalidSROp) 〈ε, err not proc author〉

(submit camera ready, invalidPAOp) . . .

Inner nodes (decision nodes): classifiers; suffix v, output o

Leaves (symbol nodes): (abstract) alphabet symbols; abstractsymbol, concrete representative

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 11/16

Page 59: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Abstraction Trees

〈ε, err not subreviewer〉

(submit review, invalidSROp) 〈ε, err not proc author〉

(submit camera ready, invalidPAOp) . . .

Concrete symbol aC , short prefix u: check MQ(u · aC · v) atdecision nodes

aC = submit copyright form, u = login role author:

MQ(login role author · submit copyright form · ε)

= err not proc author 6= err not subreviewer

MQ(login role author · submit copyright form · ε)

= err not proc author

Abstract symbol invalidPAOp, representative submit camera ready

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 12/16

Page 60: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Abstraction Trees

〈ε, err not subreviewer〉

(submit review, invalidSROp) 〈ε, err not proc author〉

(submit camera ready, invalidPAOp) . . .

Concrete symbol aC , short prefix u: check MQ(u · aC · v) atdecision nodes

aC = submit copyright form, u = login role author:

MQ(login role author · submit copyright form · ε)

= err not proc author 6= err not subreviewer

MQ(login role author · submit copyright form · ε)

= err not proc author

Abstract symbol invalidPAOp, representative submit camera ready

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 12/16

Page 61: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Abstraction Trees

〈ε, err not subreviewer〉

(submit review, invalidSROp) 〈ε, err not proc author〉

(submit camera ready, invalidPAOp) . . .

Concrete symbol aC , short prefix u: check MQ(u · aC · v) atdecision nodes

aC = submit copyright form, u = login role author:

MQ(login role author · submit copyright form · ε)

= err not proc author 6= err not subreviewer

MQ(login role author · submit copyright form · ε)

= err not proc author

Abstract symbol invalidPAOp, representative submit camera ready

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 12/16

Page 62: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Abstraction Trees

〈ε, err not subreviewer〉

(submit review, invalidSROp) 〈ε, err not proc author〉

(submit camera ready, invalidPAOp) . . .

Concrete symbol aC , short prefix u: check MQ(u · aC · v) atdecision nodes

aC = submit copyright form, u = login role author:

MQ(login role author · submit copyright form · ε)= err not proc author 6= err not subreviewer

MQ(login role author · submit copyright form · ε)

= err not proc author

Abstract symbol invalidPAOp, representative submit camera ready

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 12/16

Page 63: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Abstraction Trees

〈ε, err not subreviewer〉

(submit review, invalidSROp) 〈ε, err not proc author〉

(submit camera ready, invalidPAOp) . . .

Concrete symbol aC , short prefix u: check MQ(u · aC · v) atdecision nodes

aC = submit copyright form, u = login role author:

MQ(login role author · submit copyright form · ε)= err not proc author 6= err not subreviewer

MQ(login role author · submit copyright form · ε)

= err not proc author

Abstract symbol invalidPAOp, representative submit camera ready

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 12/16

Page 64: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Abstraction Trees

〈ε, err not subreviewer〉

(submit review, invalidSROp) 〈ε, err not proc author〉

(submit camera ready, invalidPAOp) . . .

Concrete symbol aC , short prefix u: check MQ(u · aC · v) atdecision nodes

aC = submit copyright form, u = login role author:

MQ(login role author · submit copyright form · ε)= err not proc author 6= err not subreviewer

MQ(login role author · submit copyright form · ε)= err not proc author

Abstract symbol invalidPAOp, representative submit camera ready

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 12/16

Page 65: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Abstraction Trees

〈ε, err not subreviewer〉

(submit review, invalidSROp) 〈ε, err not proc author〉

(submit camera ready, invalidPAOp) . . .

Concrete symbol aC , short prefix u: check MQ(u · aC · v) atdecision nodes

aC = submit copyright form, u = login role author:

MQ(login role author · submit copyright form · ε)= err not proc author 6= err not subreviewer

MQ(login role author · submit copyright form · ε)= err not proc author

Abstract symbol invalidPAOp, representative submit camera ready

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 12/16

Page 66: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Abstraction Trees

〈ε, err not subreviewer〉

(submit review, invalidSROp) 〈ε, err not proc author〉

(submit camera ready, invalidPAOp) . . .

Concrete symbol aC , short prefix u: check MQ(u · aC · v) atdecision nodes

aC = submit copyright form, u = login role author:

MQ(login role author · submit copyright form · ε)= err not proc author 6= err not subreviewer

MQ(login role author · submit copyright form · ε)= err not proc author

Abstract symbol invalidPAOp, representative submit camera ready

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 12/16

Page 67: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Abstraction RefinementRefine alphabet when current representative aR = γ(α(aC)) hasdeviating future behavior

Future behavior defined in terms of suffix v

[u]

Output ov

aR

Test for MQ(u · aC · v) 6= MQ(u · aR · v)

Cf. State-space refinement:

[u]

[u′] Output ov

Test for MQ(u · a · v) 6= MQ(u′ · v)

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 13/16

Page 68: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Abstraction RefinementRefine alphabet when current representative aR = γ(α(aC)) hasdeviating future behavior

Future behavior defined in terms of suffix v

[u]

Output ov

aR

Test for MQ(u · aC · v) 6= MQ(u · aR · v)

Cf. State-space refinement:

[u]

[u′] Output ov

Test for MQ(u · a · v) 6= MQ(u′ · v)

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 13/16

Page 69: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Abstraction RefinementRefine alphabet when current representative aR = γ(α(aC)) hasdeviating future behavior

Future behavior defined in terms of suffix v

[u]

Output o

Output o′

v

v

aR

aC

Test for MQ(u · aC · v) 6= MQ(u · aR · v)

Cf. State-space refinement:

[u]

[u′] Output ov

Test for MQ(u · a · v) 6= MQ(u′ · v)

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 13/16

Page 70: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Abstraction RefinementRefine alphabet when current representative aR = γ(α(aC)) hasdeviating future behavior

Future behavior defined in terms of suffix v

[u]

Output o

Output o′

6=

v

v

aR

aC

Test for MQ(u · aC · v) 6= MQ(u · aR · v)

Cf. State-space refinement:

[u]

[u′] Output ov

Test for MQ(u · a · v) 6= MQ(u′ · v)

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 13/16

Page 71: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Abstraction RefinementRefine alphabet when current representative aR = γ(α(aC)) hasdeviating future behavior

Future behavior defined in terms of suffix v

[u]

Output o

Output o′

6= ⇒ split aR in Tu using 〈v, o〉

v

v

aR

aC

Test for MQ(u · aC · v) 6= MQ(u · aR · v)

Cf. State-space refinement:

[u]

[u′] Output ov

Test for MQ(u · a · v) 6= MQ(u′ · v)

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 13/16

Page 72: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Abstraction RefinementRefine alphabet when current representative aR = γ(α(aC)) hasdeviating future behavior

Future behavior defined in terms of suffix v

[u]

Output o

Output o′

6= ⇒ split aR in Tu using 〈v, o〉

v

v

aR

aC

Test for MQ(u · aC · v) 6= MQ(u · aR · v)

Cf. State-space refinement:

[u]

[u′] Output ov

Test for MQ(u · a · v) 6= MQ(u′ · v)

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 13/16

Page 73: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Abstraction RefinementRefine alphabet when current representative aR = γ(α(aC)) hasdeviating future behavior

Future behavior defined in terms of suffix v

[u]

Output o

Output o′

6= ⇒ split aR in Tu using 〈v, o〉

v

v

aR

aC

Test for MQ(u · aC · v) 6= MQ(u · aR · v)

Cf. State-space refinement:

[u]

[u′] Output ov

a

Test for MQ(u · a · v) 6= MQ(u′ · v)

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 13/16

Page 74: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Abstraction RefinementRefine alphabet when current representative aR = γ(α(aC)) hasdeviating future behavior

Future behavior defined in terms of suffix v

[u]

Output o

Output o′

6= ⇒ split aR in Tu using 〈v, o〉

v

v

aR

aC

Test for MQ(u · aC · v) 6= MQ(u · aR · v)

Cf. State-space refinement:

[u]

[u′] Output ov

a

Test for MQ(u · a · v) 6= MQ(u′ · v)

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 13/16

Page 75: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Abstraction RefinementRefine alphabet when current representative aR = γ(α(aC)) hasdeviating future behavior

Future behavior defined in terms of suffix v

[u]

Output o

Output o′

6= ⇒ split aR in Tu using 〈v, o〉

v

v

aR

aC

Test for MQ(u · aC · v) 6= MQ(u · aR · v)

Cf. State-space refinement:

[u]

[u′] Output o

Output o′

v

va

Test for MQ(u · a · v) 6= MQ(u′ · v)

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 13/16

Page 76: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Abstraction RefinementRefine alphabet when current representative aR = γ(α(aC)) hasdeviating future behavior

Future behavior defined in terms of suffix v

[u]

Output o

Output o′

6= ⇒ split aR in Tu using 〈v, o〉

v

v

aR

aC

Test for MQ(u · aC · v) 6= MQ(u · aR · v)

Cf. State-space refinement:

[u]

[u′] Output o

Output o′6= ⇒ add v as suffix

v

va

Test for MQ(u · a · v) 6= MQ(u′ · v)

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 13/16

Page 77: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Abstraction RefinementRefine alphabet when current representative aR = γ(α(aC)) hasdeviating future behavior

Future behavior defined in terms of suffix v

[u]

Output o

Output o′

6= ⇒ split aR in Tu using 〈v, o〉

v

v

aR

aC

Test for MQ(u · aC · v) 6= MQ(u · aR · v)

Cf. State-space refinement:

[u]

[u′] Output o

[ua] Output o′6= ⇒ add v as suffix

v

va

Test for MQ(u · a · v) 6= MQ(u′ · v)

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 13/16

Page 78: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Abstraction RefinementRefine alphabet when current representative aR = γ(α(aC)) hasdeviating future behavior

Future behavior defined in terms of suffix v

[u]

Output o

Output o′

6= ⇒ split aR in Tu using 〈v, o〉

v

v

aR

aC

Test for MQ(u · aC · v) 6= MQ(u · aR · v)

Cf. State-space refinement:

[u]

[u′] Output o

[ua] Output o′6= ⇒ add v as suffix

v

va

Test for MQ(u · a · v) 6= MQ(u′ · v)

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 13/16

Page 79: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Experiments and Evaluation

Comparison: Classical L∗M , Global AAR, Local AAR

Hierarchical systems:

Example L∗M Global AAR Local AAR

# MQ # EQ Time # MQ # EQ Time # MQ # EQ Time

CCC 320,200 1 51s 10,953 201 5m55s 2,600 204 22sFHN1 190,122 3 28s 39,456 93 39s 3,798 99 4sFHN2 7,391,946 9 58m0s 1,766,688 354 6h50m16s 50,371 417 7m30s

Global abstraction 2 to 6 times bigger than biggest local

Bitvector projection systems:

Example L∗M Global AAR Local AAR

# MQ # EQ Time # MQ # EQ Time # MQ # EQ Time

BV7 1,269,564 14 4m27s 175,458 146 2m00s 10,926 91 26sBV8 5,994,280 24 25m51s 677,176 287 16m49s 25,168 116 1m43sBV9 19,370,515 15 2h00m09s 890,475 535 53m48s 39,507 99 2m54sBV10 80,473,959 26 13h19m02s 2,795,183 1060 8h57m32s 80,455 111 10m13s

“Model” application for local alphabet abstraction, globalabstraction performs poorly

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 14/16

Page 80: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Experiments and Evaluation

Comparison: Classical L∗M , Global AAR, Local AAR

Hierarchical systems:

Example L∗M Global AAR Local AAR

# MQ # EQ Time # MQ # EQ Time # MQ # EQ Time

CCC 320,200 1 51s 10,953 201 5m55s 2,600 204 22sFHN1 190,122 3 28s 39,456 93 39s 3,798 99 4sFHN2 7,391,946 9 58m0s 1,766,688 354 6h50m16s 50,371 417 7m30s

Global abstraction 2 to 6 times bigger than biggest local

Bitvector projection systems:

Example L∗M Global AAR Local AAR

# MQ # EQ Time # MQ # EQ Time # MQ # EQ Time

BV7 1,269,564 14 4m27s 175,458 146 2m00s 10,926 91 26sBV8 5,994,280 24 25m51s 677,176 287 16m49s 25,168 116 1m43sBV9 19,370,515 15 2h00m09s 890,475 535 53m48s 39,507 99 2m54sBV10 80,473,959 26 13h19m02s 2,795,183 1060 8h57m32s 80,455 111 10m13s

“Model” application for local alphabet abstraction, globalabstraction performs poorly

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 14/16

Page 81: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Experiments and Evaluation

Comparison: Classical L∗M , Global AAR, Local AAR

Hierarchical systems:

Example L∗M Global AAR Local AAR

# MQ # EQ Time # MQ # EQ Time # MQ # EQ Time

CCC 320,200 1 51s 10,953 201 5m55s 2,600 204 22sFHN1 190,122 3 28s 39,456 93 39s 3,798 99 4sFHN2 7,391,946 9 58m0s 1,766,688 354 6h50m16s 50,371 417 7m30s

Global abstraction 2 to 6 times bigger than biggest local

Bitvector projection systems:

Example L∗M Global AAR Local AAR

# MQ # EQ Time # MQ # EQ Time # MQ # EQ Time

BV7 1,269,564 14 4m27s 175,458 146 2m00s 10,926 91 26sBV8 5,994,280 24 25m51s 677,176 287 16m49s 25,168 116 1m43sBV9 19,370,515 15 2h00m09s 890,475 535 53m48s 39,507 99 2m54sBV10 80,473,959 26 13h19m02s 2,795,183 1060 8h57m32s 80,455 111 10m13s

“Model” application for local alphabet abstraction, globalabstraction performs poorly

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 14/16

Page 82: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Experiments and Evaluation

Comparison: Classical L∗M , Global AAR, Local AAR

Hierarchical systems:

Example L∗M Global AAR Local AAR

# MQ # EQ Time # MQ # EQ Time # MQ # EQ Time

CCC 320,200 1 51s 10,953 201 5m55s 2,600 204 22sFHN1 190,122 3 28s 39,456 93 39s 3,798 99 4sFHN2 7,391,946 9 58m0s 1,766,688 354 6h50m16s 50,371 417 7m30s

Global abstraction 2 to 6 times bigger than biggest local

Bitvector projection systems:

Example L∗M Global AAR Local AAR

# MQ # EQ Time # MQ # EQ Time # MQ # EQ Time

BV7 1,269,564 14 4m27s 175,458 146 2m00s 10,926 91 26sBV8 5,994,280 24 25m51s 677,176 287 16m49s 25,168 116 1m43sBV9 19,370,515 15 2h00m09s 890,475 535 53m48s 39,507 99 2m54sBV10 80,473,959 26 13h19m02s 2,795,183 1060 8h57m32s 80,455 111 10m13s

“Model” application for local alphabet abstraction, globalabstraction performs poorly

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 14/16

Page 83: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Experiments and Evaluation

Comparison: Classical L∗M , Global AAR, Local AAR

Hierarchical systems:

Example L∗M Global AAR Local AAR

# MQ # EQ Time # MQ # EQ Time # MQ # EQ Time

CCC 320,200 1 51s 10,953 201 5m55s 2,600 204 22sFHN1 190,122 3 28s 39,456 93 39s 3,798 99 4sFHN2 7,391,946 9 58m0s 1,766,688 354 6h50m16s 50,371 417 7m30s

Global abstraction 2 to 6 times bigger than biggest local

Bitvector projection systems:

Example L∗M Global AAR Local AAR

# MQ # EQ Time # MQ # EQ Time # MQ # EQ Time

BV7 1,269,564 14 4m27s 175,458 146 2m00s 10,926 91 26sBV8 5,994,280 24 25m51s 677,176 287 16m49s 25,168 116 1m43sBV9 19,370,515 15 2h00m09s 890,475 535 53m48s 39,507 99 2m54sBV10 80,473,959 26 13h19m02s 2,795,183 1060 8h57m32s 80,455 111 10m13s

“Model” application for local alphabet abstraction, globalabstraction performs poorly

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 14/16

Page 84: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Conclusions

Algorithm for simultaneously inferring

a model (Mealy machine)a locally coarsest determinism-preserving alphabet abstractions

Very natural extension of “classical” automata learning

Pure black-box technique

also applicable to white-box scenarios (e.g., JPF Psyco)

considerably reduces the number of membership queries

more equivalence queries, but more room for clever search heuristics

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 15/16

Page 85: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Questions?

Q & A

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 16/16

Page 86: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

L∗ – Correctness & Convergence

The algorithm only terminates if an equivalence query signals “yes”

Trivial correctness argument

Every counterexample leads to (at least) one new state

The number of states will never exceed the size of the (unique)minimal canonical automaton

Convergence guaranteed ...

... for perfect equivalence oracles

Equivalence queries in general undecidableVarious heuristics, very much setting-dependent

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 17/16

Page 87: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

L∗ – Correctness & Convergence

The algorithm only terminates if an equivalence query signals “yes”

Trivial correctness argument

Every counterexample leads to (at least) one new state

The number of states will never exceed the size of the (unique)minimal canonical automaton

Convergence guaranteed ...

... for perfect equivalence oracles

Equivalence queries in general undecidableVarious heuristics, very much setting-dependent

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 17/16

Page 88: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

L∗ – Correctness & Convergence

The algorithm only terminates if an equivalence query signals “yes”

Trivial correctness argument

Every counterexample leads to (at least) one new state

The number of states will never exceed the size of the (unique)minimal canonical automaton

Convergence guaranteed ...

... for perfect equivalence oracles

Equivalence queries in general undecidableVarious heuristics, very much setting-dependent

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 17/16

Page 89: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

L∗ – Correctness & Convergence

The algorithm only terminates if an equivalence query signals “yes”

Trivial correctness argument

Every counterexample leads to (at least) one new state

The number of states will never exceed the size of the (unique)minimal canonical automaton

Convergence guaranteed ...

... for perfect equivalence oracles

Equivalence queries in general undecidableVarious heuristics, very much setting-dependent

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 17/16

Page 90: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Handling Counterexamples

Cleverly exploiting counterexamples key to advanced learningtechniques

Counterexample triggers model refinement (new state) or alphabetrefinement

Idea: Transformation to representatives ([Rivest&Schapire, 1989] formodel refinement)

b·c : Σ∗ → Σ∗ maps words to short prefix of their target state(hypothesis)Counterexample w = u · a · vMQ(buca · v) 6= MQ(buac · v): transition target (long prefix) bucadiffers from hypothesis state (short prefix) buac (suffix v exposesdifference)Provides state buc with wrong transition (not used in L∗)

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 18/16

Page 91: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Local Alphabet Refinement

Transformation to representative symbol: γ(α(·))Perform check: MQ(buc · a · v) 6= MQ(buc · γ(α(a)) · v)?

Split leaf for α(a) in abstraction tree for bucWitness: 〈v,MQ(buc · a · v)〉

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 19/16

Page 92: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Alphabet vs. Model Refinement

Discriminate using futures v(different rows in observationtable)

Refine by adding futures(separating rows in OT)

Analyze by representativetransformation b·c

Discriminate using futures v(different paths in abstractiontree)

Refine by splitting abstractiontree nodes (using futures)

Analyze by representativetransformation γ(α(·))

Combination of both methods/analyses: interleaving (ce. w = w1 . . . wn)

MQ(bεcw1 . . . wn)

?= MQ(γ(α(w1)) · w2 . . . wn)

?= MQ(bγ(α(w1))c · w2 . . . wn)

?= MQ(bγ(α(w1))cγ(α(w2)) · w3 . . . wn)

?= MQ(bγ(α(w1))γ(α(w2))c · w3 . . . wn)

?= . . .

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 20/16

Page 93: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Alphabet vs. Model Refinement

Discriminate using futures v(different rows in observationtable)

Refine by adding futures(separating rows in OT)

Analyze by representativetransformation b·c

Discriminate using futures v(different paths in abstractiontree)

Refine by splitting abstractiontree nodes (using futures)

Analyze by representativetransformation γ(α(·))

Combination of both methods/analyses: interleaving (ce. w = w1 . . . wn)

MQ(bεcw1 . . . wn)

?= MQ(γ(α(w1)) · w2 . . . wn)

?= MQ(bγ(α(w1))c · w2 . . . wn)

?= MQ(bγ(α(w1))cγ(α(w2)) · w3 . . . wn)

?= MQ(bγ(α(w1))γ(α(w2))c · w3 . . . wn)

?= . . .

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 20/16

Page 94: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Alphabet vs. Model Refinement

Discriminate using futures v(different rows in observationtable)

Refine by adding futures(separating rows in OT)

Analyze by representativetransformation b·c

Discriminate using futures v(different paths in abstractiontree)

Refine by splitting abstractiontree nodes (using futures)

Analyze by representativetransformation γ(α(·))

Combination of both methods/analyses: interleaving (ce. w = w1 . . . wn)

MQ(bεcw1 . . . wn)

?= MQ(γ(α(w1)) · w2 . . . wn)

?= MQ(bγ(α(w1))c · w2 . . . wn)

?= MQ(bγ(α(w1))cγ(α(w2)) · w3 . . . wn)

?= MQ(bγ(α(w1))γ(α(w2))c · w3 . . . wn)

?= . . .

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 20/16

Page 95: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Alphabet vs. Model Refinement

Discriminate using futures v(different rows in observationtable)

Refine by adding futures(separating rows in OT)

Analyze by representativetransformation b·c

Discriminate using futures v(different paths in abstractiontree)

Refine by splitting abstractiontree nodes (using futures)

Analyze by representativetransformation γ(α(·))

Combination of both methods/analyses: interleaving (ce. w = w1 . . . wn)

MQ(bεcw1 . . . wn)

?= MQ(γ(α(w1)) · w2 . . . wn)

?= MQ(bγ(α(w1))c · w2 . . . wn)

?= MQ(bγ(α(w1))cγ(α(w2)) · w3 . . . wn)

?= MQ(bγ(α(w1))γ(α(w2))c · w3 . . . wn)

?= . . .

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 20/16

Page 96: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Alphabet vs. Model Refinement

Discriminate using futures v(different rows in observationtable)

Refine by adding futures(separating rows in OT)

Analyze by representativetransformation b·c

Discriminate using futures v(different paths in abstractiontree)

Refine by splitting abstractiontree nodes (using futures)

Analyze by representativetransformation γ(α(·))

Combination of both methods/analyses: interleaving (ce. w = w1 . . . wn)

MQ(bεcw1 . . . wn)

?= MQ(γ(α(w1)) · w2 . . . wn)

?= MQ(bγ(α(w1))c · w2 . . . wn)

?= MQ(bγ(α(w1))cγ(α(w2)) · w3 . . . wn)

?= MQ(bγ(α(w1))γ(α(w2))c · w3 . . . wn)

?= . . .

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 20/16

Page 97: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Alphabet vs. Model Refinement

Discriminate using futures v(different rows in observationtable)

Refine by adding futures(separating rows in OT)

Analyze by representativetransformation b·c

Discriminate using futures v(different paths in abstractiontree)

Refine by splitting abstractiontree nodes (using futures)

Analyze by representativetransformation γ(α(·))

Combination of both methods/analyses: interleaving (ce. w = w1 . . . wn)

MQ(bεcw1 . . . wn)?= MQ(γ(α(w1)) · w2 . . . wn)

?= MQ(bγ(α(w1))c · w2 . . . wn)

?= MQ(bγ(α(w1))cγ(α(w2)) · w3 . . . wn)

?= MQ(bγ(α(w1))γ(α(w2))c · w3 . . . wn)

?= . . .

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 20/16

Page 98: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Alphabet vs. Model Refinement

Discriminate using futures v(different rows in observationtable)

Refine by adding futures(separating rows in OT)

Analyze by representativetransformation b·c

Discriminate using futures v(different paths in abstractiontree)

Refine by splitting abstractiontree nodes (using futures)

Analyze by representativetransformation γ(α(·))

Combination of both methods/analyses: interleaving (ce. w = w1 . . . wn)

MQ(bεcw1 . . . wn)?= MQ(γ(α(w1)) · w2 . . . wn)

?= MQ(bγ(α(w1))c · w2 . . . wn)

?= MQ(bγ(α(w1))cγ(α(w2)) · w3 . . . wn)

?= MQ(bγ(α(w1))γ(α(w2))c · w3 . . . wn)

?= . . .

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 20/16

Page 99: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Alphabet vs. Model Refinement

Discriminate using futures v(different rows in observationtable)

Refine by adding futures(separating rows in OT)

Analyze by representativetransformation b·c

Discriminate using futures v(different paths in abstractiontree)

Refine by splitting abstractiontree nodes (using futures)

Analyze by representativetransformation γ(α(·))

Combination of both methods/analyses: interleaving (ce. w = w1 . . . wn)

MQ(bεcw1 . . . wn)?= MQ(γ(α(w1)) · w2 . . . wn)

?= MQ(bγ(α(w1))c · w2 . . . wn)

?= MQ(bγ(α(w1))cγ(α(w2)) · w3 . . . wn)

?= MQ(bγ(α(w1))γ(α(w2))c · w3 . . . wn)

?= . . .

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 20/16

Page 100: Inferring Automata with State-local Alphabet Abstractions Automata.pdfInferring Automata with State-local Alphabet Abstractions Malte Isberner 1; 2, Falk Howar , Bernhard Ste en 1TU

Alphabet vs. Model Refinement

Discriminate using futures v(different rows in observationtable)

Refine by adding futures(separating rows in OT)

Analyze by representativetransformation b·c

Discriminate using futures v(different paths in abstractiontree)

Refine by splitting abstractiontree nodes (using futures)

Analyze by representativetransformation γ(α(·))

Combination of both methods/analyses: interleaving (ce. w = w1 . . . wn)

MQ(bεcw1 . . . wn)?= MQ(γ(α(w1)) · w2 . . . wn)

?= MQ(bγ(α(w1))c · w2 . . . wn)

?= MQ(bγ(α(w1))cγ(α(w2)) · w3 . . . wn)

?= MQ(bγ(α(w1))γ(α(w2))c · w3 . . . wn)

?= . . .

Introduction Active Automata Learning Primer Local Alphabet Abstraction Refinement Evaluation Conclusions 20/16