Mining Beyond the Bools: Learning Data Transformations and Temporal Specifications
Sam Nicholas Kouteili, William Fishell, Christian Scaff, Mark Santolucito, Ruzica Piskac

TL;DR
This paper introduces a method to mine data-aware temporal specifications from execution traces by extending existing techniques to richer data types and formalizing a new temporal logic, enabling more expressive system behavior modeling.
Contribution
It develops a novel approach combining Syntax Guided Synthesis and a new temporal logic, TSLf, to learn data transformations and temporal specifications from traces.
Findings
More robust specification synthesis compared to baselines
Orders of magnitude improvement in sample efficiency
Successful application to reactive program synthesis in ToyText environments
Abstract
Mining specifications from execution traces presents an automated way of capturing characteristic system behaviors. However, existing approaches are largely restricted to Boolean abstractions of events, limiting their ability to express data-aware properties. In this paper, we extend mining procedures to operate over richer datatypes. We first establish candidate functions in our domain that cover the set of traces by leveraging Syntax Guided Synthesis (SyGuS) techniques. To capture these function applications temporally, we formalize the semantics of TSL, a finite-prefix interpretation of Temporal Stream Logic (TSL) that extends LTL with support for first-order predicates and functional updates. This allows us to unify a corresponding procedure for learning the data transformations and temporal specifications of a system. We demonstrate our approach synthesizing reactive…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsFormal Methods in Verification · Logic, programming, and type systems · Software Testing and Debugging Techniques
