Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns...

44
Model Learning Overview Outline 1. Introduction 2. Target Automata Type 3. Approach 4. Tools 5. Application 6. Challenge And Discussion

Transcript of Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns...

Page 1: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory

Model Learning Overview

Outline1. Introduction2. Target Automata Type3. Approach4. Tools5. Application6. Challenge And Discussion

Page 2: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory

1. Introduction

ร˜ What โ€˜s model learning ?

ร˜ Why learning model ?

ร˜ How to learn model ๏ผŸ

Page 3: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory

q!

q" q#

S

q$

Model Learning (Automata Learning)

ร˜ Model learning aims to construct black-box state diagram models of software and hardware systems by providing inputs and observing outputs.

power off

standby

Page 4: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory

Why learning model ?

ร˜ To understand the behavior of a component without having access to the code.

ร˜ Generate regression testsร˜ Complementary to model checking ร˜ etc.

๏ผˆWe focus on state diagrams๏ผ‰๏ผˆWe focus on black-box technique๏ผ‰

Page 5: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory

Model Checkingร˜ Model Checker: given a mathematical model M and

specification ฯ•, automatically checks whether such specification holds for that model: M โ•ž ฯ•

Combining Model Learning

ร˜ Goal: to check a system satisfies a set of properties ฯ•!, โ€ฆ ,ฯ•!

ร˜ Learn M using model learningร˜ Check whether M satisfies all ฯ•"

Page 6: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory

Angluin-Style Exact Learning Framework

Learner Teacher

System Under Learn(SUL)Membership queries

Equivalence queries

Make the conjecture

Yes

No +

Yes / No

Page 7: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory

Model Learning Overview

Outline1. Introduction2. Target Automata Type3. Approach4. Tools5. Application6. Challenge And Discussion

Page 8: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory

2. Target Automata Type

l Deterministic Finite Automata (DFAs)l Nondeterministic Finite Automata (NFAs)l Mealy/Moore Machinel Register Automata (RAs)l Bรผchi Automata (BAs)l Nominal Automatal Timed Automatal Weighted Automatal โ€ฆ

Page 9: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory

Examples of Different Automata Type

DFAs NFAs

Mealy machine

Page 10: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory

Model Learning Overview

Outline1. Introduction2. Target Automata Type3. Approach4. Tools5. Application6. Challenge And Discussion

Page 11: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory

Goal: Given an unknown regular language L over an alphabet โˆ‘, generating a DFA M that accepts L by queries.

DFA M is a tuple (๐‘„; โˆ‘; ๐ผ; ฮด; ๐น) whereโ€ข Q is a finite set of statesโ€ข โˆ‘ is the set of alphabetโ€ข I ร Q is the set of initial statesโ€ข ฮด: Q ร— โˆ‘ โ†’ ๐‘ธ is the transition relationโ€ข Fร Q is the set of accepting states

Learning DFA

Page 12: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory

For a DFA M, we define ๐‘ฅ~#๐‘ฆ iff ฮด(๐‘ž$,๐‘ฅ) = ฮด(๐‘ž$,๐‘ฆ)โ€ข The relation ~# is an equivalence relation.โ€ข Some states are irrelevant for the accepted language.โ€ข L(M) is the union of

For a language L, we define a relation ๐‘ฅ~%๐‘ฆ such that for each ๐‘ฃ โˆˆ โˆ‘โˆ—, ๐‘ฅ๐‘ฃ โˆˆ ๐ฟ โ†” ๐‘ฆ๐‘ฃ โˆˆ ๐ฟโ€ข The relation ~% is an equivalence relation.โ€ข Some equivalence classes are irrelevant for L.โ€ข L is the union of

Right Congruence for DFA

Right Congruence for RE

Page 13: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory

The following statements are equivalent:โ€ข L is a regular language on โˆ‘โ€ข there exists a right congruence relation over โˆ‘โˆ— such

that it has finitely many equivalent class, and L can be expressed as a union of some of the equivalencesโ€ข ~% has finitely many equivalent classesMore over, for regular language, โˆ‘โˆ—/~% equals the number of states of the smallest DFA recognizing L.

Example ร˜ the language consisting of binary representations of

numbers that can be divided by 3 is regular.

Myhill-Nerode Theorem

Page 14: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory

For a given target (minimal) DFA M, we have :โ€ข Access string: M[x] := ฮด(๐‘ž$,๐‘ฅ)โ€ข we use the access string x to access the state M[x]โ€ข in general, many access strings access the same stateโ€ข Distinguishing string: if xv โˆ‰ L and yvโˆˆL or vice versaโ€ข two access strings x, y access different states if such v

exists

Access String

Page 15: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory

โ€ข We maintain an observation table: ๐‘‡: ๐‘† โˆช ๐‘†โˆ‘ โ†’ {๊“”, ๊“}'where S is prefix closedโ€ข ๐‘‡ is closed and consistentโ€ข closed: for ๐‘’๐‘ฃ๐‘’๐‘Ÿ๐‘ฆ ๐‘ค โˆˆ ๐‘†โˆ‘, ๐‘กโ„Ž๐‘’๐‘Ÿ๐‘’ ๐‘’๐‘ฅ๐‘–๐‘ ๐‘ก ๐‘ค( โˆˆ ๐‘†,๐‘Ÿ๐‘œ๐‘ค ๐‘ค = ๐‘Ÿ๐‘œ๐‘ค(๐‘ค().

โ€ข consistent: if ๐‘ค!, ๐‘ค) โˆˆ ๐‘†, ๐‘Ÿ๐‘œ๐‘ค ๐‘ค! = ๐‘Ÿ๐‘œ๐‘ค ๐‘ค) ,๐‘กโ„Ž๐‘Ž๐‘ก ๐‘Ÿ๐‘œ๐‘ค ๐‘ค! ยท โˆ‘โˆ— = ๐‘Ÿ๐‘œ๐‘ค(๐‘ค) ยท โˆ‘โˆ—).

Approximation by Observation Table

๐‘ถ๐‘ป๐Ÿ ๐œบ๐œบ ๊“”

0 ๊“

1 ๊“

Access string

Distinguishing string

๐‘†โˆ‘

๐ธ

๐‘† ๊“”: s ยท e โˆˆ L๊“ : s ยท e โˆ‰ L

Page 16: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory

Angluin โ€˜s L* Algorithm

Page 17: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory

Suppose the unknown regular set U is set of all strings over {0,1} with an even number of 0โ€™s and an even number of 1โ€™s.

Example

๐‘ถ๐‘ป๐Ÿ ๐œบ๐œบ ๊“”

0 ๊“

1 ๊“

๐‘ถ๐‘ป" ๐œบ๐œบ ๊“”

0 ๊“

1 ๊“

00 ๊“”

01 ๊“

Initial observation table, S = E = {๐œบ}

Augmented observation table,S = {๐œบ, 0}E = {๐œบ}

The observation table is consistent, but not closed, since row(0) is distinct from row(๐œบ)

Page 18: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory

Suppose the unknown regular set U is set of all strings over {0,1} with an even number of 0โ€™s and an even number of 1โ€™s.

Example

๐‘ถ๐‘ป" ๐œบ๐œบ ๊“”

0 ๊“

1 ๊“

00 ๊“”

01 ๊“

Augmented observation table,S = {๐œบ, 0}E = {๐œบ}

The observation table is consistent and closed, so L* make a conjecture of the acceptor ๐‘€!

ฮด 0 1

๐‘ž0 ๐‘ž1 ๐‘ž1๐‘ž1 ๐‘ž0 ๐‘ž1

๐‘€!, the first conjecture of L*

๐‘ž0 ๐‘ž1

0, 1

0

1

Teacher said: NoCounterexample๏ผš11(it is in U but rejected by ๐‘ด๐Ÿ)

Page 19: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory

Example

๐‘ถ๐‘ป# ๐œบ๐œบ ๊“”

0 ๊“

1 ๊“

11 ๊“”

00 ๊“”

01 ๊“

10 ๊“

110 ๊“

111 ๊“

Observation table, S = {๐œบ, 0, 1, 11}E = {๐œบ}

Augmented observation table,S = {๐œบ, 0, 1, 11}E = {๐œบ, 0}

The observation table is closed, but not consistent, since row(0) = row(1) but row(00) โ‰  row(10)

๐‘ถ๐‘ป& ๐œบ 0

๐œบ ๊“” ๊“

0 ๊“ ๊“”

1 ๊“ ๊“

11 ๊“” ๊“

00 ๊“” ๊“

01 ๊“ ๊“

10 ๊“ ๊“

110 ๊“ ๊“”

111 ๊“ ๊“

Page 20: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory

Example

Observation table,S = {๐œบ, 0, 1, 11}E = {๐œบ, 0}

๐‘ถ๐‘ป& ๐œบ 0

๐œบ ๊“” ๊“

0 ๊“ ๊“”

1 ๊“ ๊“

11 ๊“” ๊“

00 ๊“” ๊“

01 ๊“ ๊“

10 ๊“ ๊“

110 ๊“ ๊“”

111 ๊“ ๊“

The observation table is consistent and closed, so L* make a conjecture of the acceptor ๐‘€"

ฮด 0 1

๐‘ž0 ๐‘ž1 ๐‘ž2

๐‘ž1 ๐‘ž0 ๐‘ž2

๐‘ž2 ๐‘ž2 ๐‘ž0

๐‘€", the second conjecture of L*

๐‘ž0 ๐‘ž1

0

0

Teacher said: NoCounterexample๏ผš011(it is not in U but accepted by ๐‘ด๐Ÿ)

๐‘ž2

11

1

0

Page 21: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory

Example

S = {๐œบ, 0, 1, 11, 01, 011}, E = {๐œบ, 0}

The observation table is closed, but not consistent, since row(1) = row(01) but row(11) โ‰  row(011)

๐‘ถ๐‘ป( ๐œบ 0

๐œบ ๊“” ๊“

0 ๊“ ๊“”

1 ๊“ ๊“

11 ๊“” ๊“

01 ๊“ ๊“

011 ๊“ ๊“”

00 ๊“” ๊“

10 ๊“ ๊“

110 ๊“ ๊“”

111 ๊“ ๊“

010 ๊“ ๊“

0110 ๊“” ๊“

0111 ๊“ ๊“

๐‘ถ๐‘ป) ๐œบ 0 1

๐œบ ๊“” ๊“ ๊“

0 ๊“ ๊“” ๊“

1 ๊“ ๊“ ๊“”

11 ๊“” ๊“ ๊“

01 ๊“ ๊“ ๊“

011 ๊“ ๊“” ๊“

00 ๊“” ๊“ ๊“

10 ๊“ ๊“ ๊“

110 ๊“ ๊“” ๊“

111 ๊“ ๊“ ๊“”

010 ๊“ ๊“ ๊“”

0110 ๊“” ๊“ ๊“

0111 ๊“ ๊“ ๊“

S = {๐œบ, 0, 1, 11, 01, 011}, E = {๐œบ , 0, 1}

Page 22: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory

Example๐‘ถ๐‘ป) ๐œบ 0 1

๐œบ ๊“” ๊“ ๊“

0 ๊“ ๊“” ๊“

1 ๊“ ๊“ ๊“”

11 ๊“” ๊“ ๊“

01 ๊“ ๊“ ๊“

011 ๊“ ๊“” ๊“

00 ๊“” ๊“ ๊“

10 ๊“ ๊“ ๊“

110 ๊“ ๊“” ๊“

111 ๊“ ๊“ ๊“”

010 ๊“ ๊“ ๊“”

0110 ๊“” ๊“ ๊“

0111 ๊“ ๊“ ๊“

S = {๐œบ, 0, 1, 11, 01, 011}, E = {๐œบ , 0, 1}

The observation table is consistent and closed, so L* make a conjecture of the acceptor ๐‘€#

ฮด 0 1

๐‘ž0 ๐‘ž1 ๐‘ž2

๐‘ž1 ๐‘ž0 ๐‘ž3

๐‘ž2 ๐‘ž3 ๐‘ž0๐‘ž3 ๐‘ž2 ๐‘ž1

๐‘€#, the second conjecture of L*Teacher said: Yes

๐‘ž0

๐‘ž1

1

๐‘ž21

1

0

๐‘ž3

0

1

0 0

Page 23: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory

Algorithm Publication

Angluins et al. 1987

Angluin's L* Learning regular sets from queries and counterexamples

Rivest and Schapire1993

R & S 's Algorithm

Inference of Finite Automata Using Homing Sequences

Kearns and Vazirani1994

K & V 's Algorithm

An introduction to computational learning theory

Parekh et al. 1997 ID and IID A polynomial time incremental algorithm for regular

grammar inferenceDenis et al. 2001

DeLeTe2 Learning regular languages using RFSAs

Bongard et al. 2005

Estimation-Exploration

Active Coevolutionary Learning of Deterministic Finite Automata

Isberner et al. 2014

The TTT Algorithm

The TTT Algorithm: A Redundancy-Free Approach to Active Automata Learning

Volpato et al.2015

LearnLTS Approximate Active Learning of Nondeterministic Input Output Transition Systems

Deterministic Finite Automata (DFAs)

Page 24: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory
Page 25: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory
Page 26: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory
Page 27: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory

Algorithm Publication

Georgios et al. 2016

MooreMIalgorithm

Learning Moore Machines from Input-Output Traces

Moerman et al. 2017

Product L* Algorithm

Learning Product Automata

Moore Machine

Mealy Machine

Algorithm Publication

Shahbaz et al.2009

LM* and LM+ Algorithm

Inferring Mealy Machines

Aarts et al.2010

IOA Algorithm Learning I/O Automata

Steffen et al. 2011

DHC and LM* Algorithm

Introduction to Active Automata Learning from a Practical Perspective

Page 28: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory
Page 29: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory

Algorithm Publication

Oncina et al.1992

RPNIAlgorithm

Inferring Regular Languages in Polynomial Updated Time

Dupont et al.1996

RPNI2 Algorithm

Incremental regular inference

Nondeterministic Finite Automata (NFA)

Register Automata (RA)

Algorithm Publication

Howar et al.2012

RAL Algorithm Inferring Canonical Register Automata

Cassel et al.2014

SL* Algorithm Active learning for extended finite state machines

Aarts et al.2015

A Mapper-Based Algorithm

Learning Register Automata with Fresh Value Generation

Page 30: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory

Algorithm Publication

Maler and Pnueli1995

Lฯ‰ Algorithm On the learnability of infinitary regular sets

Farzan et al.2008

L* based for Bรผchiautomaton

Extending Automated Compositional Verification to the Full Class of Omega-Regular Languages

Angluin et al.2014

FDFAs-based Algorithm

Learning Regular Omega Languages

Li et al.2017

A Tree-based Algorithm for Bรผchi automaton

A Novel Learning Algorithm for Bรผchi Automata Based on Family of DFAs and Classification Trees

Bรผchi Automata

Page 31: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory

Other Automata Learning apporach

ร˜ Event-Recording Automataโ€ข Grinchtein et al. 2008. Learning of Event-Recording Automata.

ร˜ deterministic finite cover automaton ( DFCA)โ€ข Ipate et al. 2012. Learning finite cover automata from queries.

ร˜ Timed Automataโ€ข Maier et al. 2014. Online passive learning of timed automata for cyber-physical

production systems.

ร˜ Weighted Automataโ€ข Balle et al. 2015. Learning Weighted Automata.

ร˜ Hybrid Automataโ€ข Medhat et al. 2015. A framework for mining hybrid automata from input/output traces.

ร˜ Visibly Pushdown Automataโ€ข Isberner et al. 2015. Foundations of Active Automata Learning: An Algorithmic

Perspective.

ร˜ Symbolic Automataโ€ข Drews et al. 2017. Learning Symbolic Automata.

ร˜ Nominal Automataโ€ข Moerman et al. 2017. Learning nominal automata.

Page 32: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory

Model Learning Overview

Outline1. Introduction2. Target Automata Type3. Approach4. Tools5. Application6. Challenge And Discussion

Page 33: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory

4. ToolsOpen Source

l LearnLib https://learnlib.de/l Libalf http://libalf.informatik.rwth-aachen.de/l Tomte http://tomte.cs.ru.nl/l ROLL http://iscasmc.ios.ac.cn/roll/doku.phpl Symbolicautomata https://github.com/lorisdanto/symbolicautomata

Not foundl Next Generation LearnLib (NGLL)l RALTl RALib

Page 34: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory

LearnLib

ร˜ LearnLib is a free and open source Java framework for automata learning.

Algorithm Target modelActive learning algorithmsADT MealyDHC MealyDiscrimination Tree DFAใ€Mealyใ€VPDAKearns & Vazirani DFAใ€MealyL* DFAใ€MealyNL* NFATTT DFAใ€Mealyใ€VPDAPassive learning algorithmsRPNI DFAใ€MealyRPNI โ€“ EDSM DFARPNI โ€“ MDL DFA

Page 35: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory

Libalf

Algorithm Passive Active Target modelAngluin's L* โˆš DFA

L* (adding counter-examples to columns) โˆš DFA

Kearns / Vazirani โˆš DFA

Rivest / Schapire โˆš DFANL* โˆš NFA

Regular positive negative inference (RPNI) โˆš DFA

DeLeTe2 โˆš NFA

Biermann & Feldman's algorithm โˆš NFA

Biermann & Feldman's algorithm (using SAT-solving) โˆš DFA

Page 36: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory

Tomteร˜ This tool can only learn a restricted class of extended finite state

machines (EFSM), i.e. Register Automata.

ร˜A Library of learning algorithms for ฯ‰-regular languages. ร˜ It consists of two kinds of ฯ‰-regular learning algorithms:

the learning algorithm for FDFAsthe learning algorithm for Bรผchi automata

ร˜A symbolic automata libraryร˜This efficient automata library allows you to represent large (or infinite)

alphabets succinctly.

ROLL

Symbolicautomata

Page 37: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory

Model Learning Overview

Outline1. Introduction2. Target Automata Type3. Approach4. Tools5. Application6. Challenge And Discussion

Page 38: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory

Related work Approach Tool Application

Chalupar et al. 2014 L* for Mealy LearnLib SmartCard

Fiter et al. 2014 L* for Mealy Tomte TCP Network Protocol

Tijssen et al. 2014 L* for Mealy LearnLib SSH implementations

Shahbaz et al. 2014 LM+ RALT testing black-box system

Xiao et al. 2014 L* (Lazy Alphabet) TzuYu Learn Stateful Typestates

Ruiter et al. 2015 L* LearnLib TLS Protocol state fuzzing

Smeenk et al. 2015 Lee & Yannakakis' LearnLib Embedded Control Software

Ipate et al. 2015 Ll Testing

Meller et al. 2015 L* Model Checking of UML Systems

He et al. 2015 L* based (MTBDD) Verification of XXX

Fiter et al. 2016 L* for Mealy LearnLib TCP Implementations

Schuts et al. 2016 L* , TTT LearnLib Legacy Software

Chen et al. 2017 various L* libalf PAC verification & model synthesis

Weiss et al. 2017 L* RNN

Aichernig et al. 2017 improved L* Mealy LearnLib Mutation Testing

Tappler et al. 2017 TTT LearnLib Testing IoT Communication

Page 39: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory

Model checking & Conformance testing

Learner Teacher

Membership queriesMake the conjecture M

Yes / No

Conformance testing

Model checkerM โ•ž ฯ• ?

Counterexample

Counterexample

Yes

NoCannot be reproduced on the SUL

Can be reproduced on the SUL

We have demonstrated a bug in SUL and we stop learning

Page 40: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory

Approach to compare Legacy component and refactored implementation.

Legacy Software

Page 41: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory

Gail et al. use Angluinโ€™s L* algorithm to elicit an automaton from any type of recurrent neural network, using the network as the teacher.

Extracting Automata from RNN

Page 42: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory

Termination problem: we require that a terminating tool returns answers that are correct, but we donot necessarily require an answer.l Trivial to build a tool: returns unknown simplyl Goal: keeping the unknown answers as low as possiblel Turing49: classical approach for proving terminationโ€ข Termination argument searchโ€ข Termination argument checking (easy)

Program Termination

Bรผchi automaton with rank Certificate (PLDIโ€™18)

Page 43: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory

Model Learning Overview

Outline1. Introduction2. Target Automata Type3. Approach4. Tools5. Application6. Challenge And Discussion

Page 44: Model Learning Overview - GitHub Pages...Inference of Finite Automata Using Homing Sequences Kearns and Vazirani 1994 K & V 's Algorithm An introduction to computational learning theory

Challenge And Discussion

ร˜ Equivalence queryร˜ Beyond DFAs/Mealy machinesร˜ Quality of modelsร˜ Predicates and operations on dataร˜ Opening the box