Property-driven benchmark generation: Synthesizing programs of realistic structure

Bernhard Steffen, Malte Isberner, Stefan Naujokat, Tiziana Margaria, Maren Geske

Research output: Contribution to journalArticlepeer-review

Abstract

We present a systematic approach to the automatic generation of platform-independent benchmarks of realistic structure and tailored complexity for evaluating verification tools for reactive systems. The idea is to mimic a systematic constraint-driven software development process by automatically transforming randomly generated temporal-logic-based requirement specifications on the basis of a sequence of property-preserving, randomly generated structural design decisions into executable source code of a chosen target language or platform. Our automated transformation process steps through dedicated representations in terms of Büchi automata, Mealy machines, decision diagram models, and code models. It comprises LTL synthesis, model checking, property-oriented expansion, path condition extraction, theorem proving, SAT solving, and code motion. This setup allows us to address different communities via a growing set of programming languages, tailored sets of programming constructs, different notions of observation, and the full variety of LTL properties-ranging from mere reachability over general safety properties to arbitrary liveness properties. The paper illustrates the corresponding tool chain along accompanying examples, emphasizes the current state of development, and sketches the envisioned potential and impact of our approach.

Original languageEnglish
Pages (from-to)465-479
Number of pages15
JournalInternational Journal on Software Tools for Technology Transfer
Volume16
Issue number5
DOIs
Publication statusPublished - Oct 2014
Externally publishedYes

Keywords

  • Benchmark generation
  • Code motion
  • LTL synthesis
  • Model checking
  • Path condition extraction
  • Property-oriented expansion
  • SAT solving
  • Theorem proving

Fingerprint

Dive into the research topics of 'Property-driven benchmark generation: Synthesizing programs of realistic structure'. Together they form a unique fingerprint.

Cite this