1. Learning Concise Models from Long Execution Traces
- Author
-
Natasha Yogananda Jeppu, Tom Melham, Daniel Kroening, and John O'Leary
- Subjects
FOS: Computer and information sciences ,Programming language ,business.industry ,Computer science ,Formal Languages and Automata Theory (cs.FL) ,020208 electrical & electronic engineering ,Computer Science - Formal Languages and Automata Theory ,020207 software engineering ,Linux kernel ,02 engineering and technology ,computer.software_genre ,Automaton ,Variety (cybernetics) ,Software Engineering (cs.SE) ,Computer Science - Software Engineering ,Software ,0202 electrical engineering, electronic engineering, information engineering ,business ,computer ,Program synthesis ,TRACE (psycholinguistics) - 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.
- Published
- 2020
- Full Text
- View/download PDF