# 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

## 53 Citations

BeBoSy: Behavior Examples Meet Bounded Synthesis

- Computer ScienceIEEE Access
- 2021

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

- Computer ScienceLATA
- 2018

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

- Computer ScienceIEEE Transactions on Industrial Informatics
- 2017

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

- Computer ScienceInternational Journal on Software Tools for Technology Transfer
- 2016

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

- Computer ScienceSEFM
- 2019

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

- Computer Science
- 2016

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

- Computer Science
- 2021

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

- Computer ScienceMetaheuristics and Nature Inspired Computing
- 2022

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

- Computer Science2017 IEEE 15th International Conference on Industrial Informatics (INDIN)
- 2017

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

- Computer Science2017 IEEE International Conference on Software Maintenance and Evolution (ICSME)
- 2017

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.

## References

SHOWING 1-10 OF 66 REFERENCES

Exact DFA Identification Using SAT Solvers

- Computer ScienceICGI
- 2010

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

- Computer Science
- 2009

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

- Computer Science
- 2009

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

- Computer Science, MathematicsIJCAR
- 2006

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

- Computer ScienceDesign, Automation and Test in Europe Conference and Exhibition, 1999. Proceedings (Cat. No. PR00078)
- 1999

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

- Computer SciencePattern Recognit.
- 2005

Symbolic Model Checking without BDDs

- Computer ScienceTACAS
- 1999

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

- Computer Science14th Working Conference on Reverse Engineering (WCRE 2007)
- 2007

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

- Computer ScienceICGI
- 2008

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

- Computer ScienceTACAS
- 2010

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.