Learning Nominal Automata
POPL 2017 Paris
Joshua Moerman (Radboud University) Matteo Sammartino, Alexandra Silva (University College London) Bartek Klin, Michał Szynwelski (Warsaw University)
Learning Nominal Automata Joshua Moerman Matteo Sammartino , - - PowerPoint PPT Presentation
Learning Nominal Automata Joshua Moerman Matteo Sammartino , Alexandra Silva (Radboud University) (University College London) Bartek Klin, Micha Szynwelski (Warsaw University) POPL 2017 Paris Active learning queries System Learner
POPL 2017 Paris
Joshua Moerman (Radboud University) Matteo Sammartino, Alexandra Silva (University College London) Bartek Klin, Michał Szynwelski (Warsaw University)
Learner queries answers builds System black-box
S
automaton model of
S
1
Learner queries answers builds System black-box
S
automaton model of
S
1
set of system behaviors is a regular language Finite alphabet of system’s actions A
L ⊆ A
2
set of system behaviors is a regular language Finite alphabet of system’s actions A
L ⊆ A
Learner Teacher
L
2
set of system behaviors is a regular language Finite alphabet of system’s actions A
L ⊆ A
Learner Teacher
L
Q:w ∈ L? A: Y/N
2
set of system behaviors is a regular language Finite alphabet of system’s actions A
L ⊆ A
Learner Teacher
L
Q:w ∈ L? A: Y/N
L(H) = L?
Q: A: Y / N + counterexample H = hypothesis automaton
H
2
set of system behaviors is a regular language Finite alphabet of system’s actions A
L ⊆ A
Learner Teacher
L
Q:w ∈ L? A: Y/N Minimal DFA accepting L
L
builds L(H) = L?
Q: A: Y / N + counterexample H = hypothesis automaton
H
2
A = {a, b}
a aa 1 a 1 b
S, E ⊆ A
∪ S·A
row(s)(e) = 1 ⇐ ⇒ se ∈ L
3
A = {a, b}
states = {row(s) | s ∈ S} {row(s) | s ∈ S, row(s)() = 1} final states = initial state = row()
row(s)
a
− → row(sa)
Hypothesis automaton{ transition function
a aa 1 a 1 b
S, E ⊆ A
∪ S·A
row(s)(e) = 1 ⇐ ⇒ se ∈ L
3
A = {a, b}
states = {row(s) | s ∈ S} {row(s) | s ∈ S, row(s)() = 1} final states = initial state = row()
row(s)
a
− → row(sa)
Hypothesis automaton{ transition function
a aa 1 a 1 b
S, E ⊆ A
∪ S·A
row(s)(e) = 1 ⇐ ⇒ se ∈ L
Why is this correct?
3
Consistent
next state exists next state is unique
4
Consistent
next state exists next state is unique
a
4
Consistent
next state exists next state is unique
a
4
A = {a, b}
Applications : Hardware verification, security/network protocols… Generalizations : Mealy machines, I/O automata, …
6
push(x) pop(y) FIFO y = front element
7
8
8
infinite automaton
q0 qa qb q3 q4 . . .
a a b b ̸= a A ̸= b A
8
q0 qx q3 q4
8x2A x x A 6= x A
but with a finite representation
infinite automaton
q0 qa qb q3 q4 . . .
a a b b ̸= a A ̸= b A
8
9
9
Challenges:
9
Challenges:
Everything is “finitely representable”
9
Nominal automata theory (change category from Set to Nom) (finite) sets (orbit-finite) nominal sets functions equivariant functions
Mikolaj Bojanczyk, Bartek Klin, Slawomir Lasota: Automata with Group Actions. LICS 2011
Nominal Programming languages
Bartek Klin, Michal Szynwelski: SMT Solving for Functional Programming over Infinite
10
Nominal automata theory (change category from Set to Nom) (finite) sets (orbit-finite) nominal sets functions equivariant functions
Mikolaj Bojanczyk, Bartek Klin, Slawomir Lasota: Automata with Group Actions. LICS 2011
Nominal Programming languages
Bartek Klin, Michal Szynwelski: SMT Solving for Functional Programming over Infinite
Nominal L*
10
Nominal automata theory (change category from Set to Nom) (finite) sets (orbit-finite) nominal sets functions equivariant functions
Mikolaj Bojanczyk, Bartek Klin, Slawomir Lasota: Automata with Group Actions. LICS 2011
Nominal Programming languages
Bartek Klin, Michal Szynwelski: SMT Solving for Functional Programming over Infinite
Nominal L*
First non-trivial application of a new programming paradigm (NLambda)
10
Nominal automata theory (change category from Set to Nom) (finite) sets (orbit-finite) nominal sets functions equivariant functions
Mikolaj Bojanczyk, Bartek Klin, Slawomir Lasota: Automata with Group Actions. LICS 2011
Nominal Programming languages
Bartek Klin, Michal Szynwelski: SMT Solving for Functional Programming over Infinite
Nominal L*
Works with any (suitable) data domain First non-trivial application of a new programming paradigm (NLambda)
10
Nominal automata theory (change category from Set to Nom) (finite) sets (orbit-finite) nominal sets functions equivariant functions
Mikolaj Bojanczyk, Bartek Klin, Slawomir Lasota: Automata with Group Actions. LICS 2011
Nominal Programming languages
Bartek Klin, Michal Szynwelski: SMT Solving for Functional Programming over Infinite
Eryk Kopczynski, Szymon Torunczyk: LOIS: syntax and semantics. POPL 2017
Nominal L*
Works with any (suitable) data domain First non-trivial application of a new programming paradigm (NLambda)
10
11
11
11
Bart Jacobs, Alexandra Silva Automata Learning: A Categorical Perspective, Horizons of the Minds 2014
11
12
13
https://www.mimuw.edu.pl/~szynwelski/nlambda/ https://github.com/Jaxan/nominal-lstar
C*
E v a l u a t e d
* P O P L *
A r t i f a c t
* A E C