inferring automata with state-local alphabet abstractions automata.pdfinferring automata with...
TRANSCRIPT
![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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/1.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/2.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/3.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/5.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/6.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/7.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/8.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/9.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/10.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/11.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/12.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/13.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/16.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/17.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/18.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/19.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/20.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/21.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/22.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/23.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/24.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/25.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/26.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/27.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/28.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/29.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/30.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/31.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/32.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/33.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/34.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/35.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/36.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/37.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/38.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/39.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/40.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/41.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/42.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/43.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/44.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/45.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/46.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/47.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/48.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/49.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/50.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/51.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/52.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/53.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/54.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/55.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/56.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/57.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/58.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/59.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/60.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/61.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/62.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/63.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/64.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/65.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/66.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/67.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/68.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/69.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/70.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/71.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/72.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/73.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/74.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/75.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/76.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/77.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/78.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/79.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/80.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/81.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/82.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/83.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/84.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/85.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/86.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/87.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/88.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/89.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/90.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/91.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/92.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/93.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/94.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/95.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/96.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/97.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/98.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/99.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042806/5f6aeb51b9bbb60fa51c0a1f/html5/thumbnails/100.jpg)
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