# Learning Concise Models from Long Execution Traces

arXiv: https://arxiv.org/abs/2001.05230 · HTML: https://mlsanity.com/paper/2001.05230/

## Key facts

- Cited by 8 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 15 Jan 2020.

## Built on by (most cited first, 8 of 8)

- [Scalable Anytime Algorithms for Learning Fragments of Linear Temporal Logic](https://mlsanity.com/paper/2110.06726/) (2021)
- [LTL learning on GPUs](https://mlsanity.com/paper/2402.12373/) (2024)
- [Learning from Shader Program Traces](https://mlsanity.com/paper/2102.04533/) (2021)
- [Mining SoC Message Flows with Attention Model](https://mlsanity.com/paper/2209.07929/) (2022)
- [Analyzing Robustness of Angluin's L* Algorithm in Presence of Noise](https://mlsanity.com/paper/2209.10315/) (2022)
- [Sample Efficient Reinforcement Learning by Automatically Learning to Compose Subtasks](https://mlsanity.com/paper/2401.14226/) (2024)
- [Testing Storage-System Correctness: Challenges, Fuzzing Limitations, and AI-Augmented Opportunities](https://mlsanity.com/paper/2602.02614/) (2026)
- [AutoFlows++: Hierarchical Message Flow Mining for System on Chip Designs](https://mlsanity.com/paper/2604.15359/) (2026)

## Abstract (arXiv)

Abstract models of system-level behaviour have applications in design exploration, analysis, testing and verification. We describe a new algorithm for automatically extracting useful models, as automata, from execution traces of a HW/SW system driven by software exercising a use-case of interest. Our algorithm leverages modern program synthesis techniques to generate predicates on automaton edges, succinctly describing system behaviour. It employs trace segmentation to tackle complexity for long traces. We learn concise models capturing transaction-level, system-wide behaviour--experimentally demonstrating the approach using traces from a variety of sources, including the x86 QEMU virtual platform and the Real-Time Linux kernel.
