English

Grey-Box Learning of Register Automata

Formal Languages and Automata Theory 2020-09-22 v1

Abstract

Model learning (a.k.a. active automata learning) is a highly effective technique for obtaining black-box finite state models of software components. Thus far, generalisation to infinite state systems with inputs/outputs that carry data parameters has been challenging. Existing model learning tools for infinite state systems face scalability problems and can only be applied to restricted classes of systems (register automata with equality/inequality). In this article, we show how we can boost the performance of model learning techniques by extracting the constraints on input and output parameters from a run, and making this grey-box information available to the learner. More specifically, we provide new implementations of the tree oracle and equivalence oracle from RALib, which use the derived constraints. We extract the constraints from runs of Python programs using an existing tainting library for Python, and compare our grey-box version of RALib with the existing black-box version on several benchmarks, including some data structures from Python's standard library. Our proof-of-principle implementation results in almost two orders of magnitude improvement in terms of numbers of inputs sent to the software system. Our approach, which can be generalised to richer model classes, also enables RALib to learn models that are out of reach of black-box techniques, such as combination locks.

Keywords

Cite

@article{arxiv.2009.09975,
  title  = {Grey-Box Learning of Register Automata},
  author = {Bharat Garhewal and Frits Vaandrager and Falk Howar and Timo Schrijvers and Toon Lenaerts and Rob Smits},
  journal= {arXiv preprint arXiv:2009.09975},
  year   = {2020}
}

Comments

To be published in iFM'2020 27 pages, 6 figures, 1 table

R2 v1 2026-06-23T18:41:40.534Z