vix.ing · top · new · best · stats · spec

Active Learning of Abstract System Models from Traces using Model Checking [Extended]

2021/12/11 by Natasha Yogananda Jeppu, Jeppu, Natasha Yogananda, Tom Melham +3
Computer Science · #FOS: Computer and information sciences #Formal Languages and Automata Theory (cs.FL) #Logic in Computer Science (cs.LO) #Software Engineering Research #Software Reliability and Analysis Research #Software Testing and Debugging Techniques

paper · pdf · doi:10.48550/arxiv.2112.05990

openalex publication_date 2021/12/11 · openalex created_date 2021/12/31 · openalex updated_date 2026/07/28

Abstract

We present a new active model-learning approach to generating abstractions of a system implementation, as finite state automata (FSAs), from execution traces. Given an implementation and a set of observable system variables, the generated automata admit all system behaviours over the given variables and provide useful insight in the form of invariants that hold on the implementation. To achieve this, the proposed approach uses a pluggable model learning component that can generate an FSA from a given set of traces. Conditions that encode a completeness hypothesis are then extracted from the FSA under construction and used to evaluate its degree of completeness by checking their truth value against the system using software model checking. This generates new traces that express any missing behaviours. The new trace data is used to iteratively refine the abstraction, until all system behaviours are admitted by the learned abstraction. To evaluate the approach, we reverse-engineer a set of publicly available Simulink Stateflow models from their C implementations.

Related