Software model synthesis using satisfiability solvers

@article{Heule2012SoftwareMS,
  title={Software model synthesis using satisfiability solvers},
  author={Marijn J. H. Heule and Sicco Verwer},
  journal={Empirical Software Engineering},
  year={2012},
  volume={18},
  pages={825-856}
}
We introduce a novel approach for synthesis of software models based on identifying deterministic finite state automata. Our approach consists of three important contributions. First, we argue that in order to model software, one should focus mainly on observed executions (positive data), and use the randomly generated failures (negative data) only for testing consistency. We present a new greedy heuristic for this purpose, and show how to integrate it in the state-of-the-art evidence-driven… 

Figures and Tables from this paper

BeBoSy: Behavior Examples Meet Bounded Synthesis
TLDR
The proposed approach is to augment the encodings used in BoSy with additional constraints that ensure the compliance of the generated state machine with the given behavior examples, and exemplify the approach by presenting BeBoSy (Behavior Examples meet BoSy), an extension of the bounded synthesis tool BoSy based on reductions to Boolean satisfiability and Quantified Boolean formula satisfiability problems.
Model Learning as a Satisfiability Modulo Theories Problem
TLDR
An approach to model learning that is based on using satisfiability modulo theories (SMT) solvers is explored, and how DFAs, Mealy machines and register automata, and observations of their behavior can be encoded as logic formulas are explained.
Automatic Inference of Finite-State Plant Models From Traces and Temporal Properties
TLDR
This paper aims to solve the problem of automatic plant model construction from existing specification, which is represented in the form of plant behavior examples, or traces, and temporal properties, and the proposed method is based on the translation of the problem to the Boolean satisfiability problem.
Exact finite-state machine identification from scenarios and temporal properties
TLDR
This paper presents four exact methods to tackle the problem of minimum FSM identification from a set of test scenarios and a temporal specification represented in linear temporal logic.
Learning Minimal DFA: Taking Inspiration from RPNI to Improve SAT Approach
TLDR
An incremental SAT solving approach for DFA inference in which general heuristics of a solver for assigning free variables is replaced by that employed by the RPNI method for D FA inference, which brings significant improvements.
Improving software model inference by combining state merging and Markov models
TLDR
This thesis proposed EDSM-Markov a passive inference technique that aimed to improve the existing LTS models in the absence of negative traces and to prevent the over-generalization problem.
Behaviour examples for synthesizing automaton models by temporal formulas
TLDR
The experimental results showed the superiority of the newly developed methods regarding the presentation of scripts in the form of temporal formulas as well as basic approaches to the Presentation of behaviour examples.
GA and ILS for optimizing the size of NFA models
TLDR
This work focuses on optimizing the size of generated SAT instances issued from the hybrid models based on Iterated Local Search and Genetic Algorithm, and on studying the balance between generation time and solving time.
CSP-based inference of function block finite-state models from execution traces
TLDR
The proposed method for inferring finite-state models of function blocks from given execution traces based on translation to the constraint satisfaction problem (CSP) is shown to be significantly faster then the metaheuristic algorithm.
flexfringe: A Passive Automaton Learning Package
TLDR
Name, an open-source software tool to learn variants of finite state automata from traces using a state-of-the-art evidence-driven state-merging algorithm at its core is presented, embracing the need for customized models and tailored learning heuristics in different application domains by providing a flexible, extensible interface.
...
1
2
3
4
5
...

References

SHOWING 1-10 OF 66 REFERENCES
Exact DFA Identification Using SAT Solvers
TLDR
An exact algorithm for identification of deterministic finite automata (DFA) which is based on satisfiability (SAT) solvers is presented, which outperforms state-of-the-art techniques on several hard problems.
Handbook of satisfiability
TLDR
A collection of papers on all theoretical and practical aspects of SAT solving will be extremely useful to both students and researchers and will lead to many further advances in the field.
Handbook of Satisfiability: Volume 185 Frontiers in Artificial Intelligence and Applications
TLDR
This collection of papers on all theoretical and practical aspects of SAT solving will be extremely useful to both students and researchers and will lead to many further advances in the field.
Inferring Network Invariants Automatically
TLDR
This paper proposes a procedure that searches systematically for a network invariant satisfying a given safety property, based on algorithms for learning finite automata due to Angluin and Biermann, and optimizations both algorithms for improving successive possible invariants.
Combinational equivalence checking using satisfiability and recursive learning
  • Joao Marques-Silva, T. Glaß
  • Computer Science
    Design, Automation and Test in Europe Conference and Exhibition, 1999. Proceedings (Cat. No. PR00078)
  • 1999
TLDR
This paper shows how to improve SAT algorithms by extending and applying recursive learning techniques to the analysis of instances of SAT, which provides a new alternative and competitive approach for solving CEC.
Inference of regular languages using state merging algorithms with search
Symbolic Model Checking without BDDs
TLDR
This paper shows how boolean decision procedures, like Stalmarck's Method or the Davis & Putnam Procedure, can replace BDDs, and introduces a bounded model checking procedure for LTL which reduces model checking to propositional satisfiability.
Reverse Engineering State Machines by Interactive Grammar Inference
TLDR
How an existing grammar inference technique (QSM) can be used to reverse-engineer state-based models of software from execution traces at a developer-defined level of abstraction and how the QSM technique can be improved for a better balance between the number of tests it proposes and the accuracy of the machine it derives are described.
Towards Feasible PAC-Learning of Probabilistic Deterministic Finite Automata
TLDR
It is proved that indeed this algorithm PAC-learns in a stronger sense than the Clark-Thollard algorithm, and is an attempt to keep the rigorous guarantees of the original one but use sample sizes that are not as astronomical as predicted by the theory.
Blocked Clause Elimination
TLDR
This work shows that BCE is surprisingly effective both in theory and in practice on CNFs resulting from a standard CNF encoding for circuits: without explicit knowledge of the underlying circuit structure, it achieves the same level of simplification as a combination of circuit-level simplifications and previously suggested polarity-based CNF encodings.
...
1
2
3
4
5
...