Abstract
In this paper, we show how to extend our approach to property-driven benchmark generation (PDBG) to support concurrency in the benchmarks: we systematically produce multi-process PROMELA code of known and tailored complexity that can then serve as benchmark for the evaluation of analysis and verification tools for concurrent software systems. Key to this extension is the way in which we control the corresponding property profiles, i.e., the statements about the validity of a predefined set of LTL properties, along the PDBG tool chain. It is based on the idea to introduce intricate structural elements like synchronization and interference at a local and therefore controllable level, only concerning a few parallel components, and subsequently obfuscating the locality of these structures at the global level via property-preserving transformations of both the system components and the properties. This leads to a scalable approach which we illustrate along some concrete examples.
Original language | English |
---|---|
Pages (from-to) | 543-558 |
Number of pages | 16 |
Journal | International Journal on Software Tools for Technology Transfer |
Volume | 16 |
Issue number | 5 |
DOIs | |
Publication status | Published - Oct 2014 |
Externally published | Yes |
Keywords
- Benchmark generation
- Code motion
- Concurrency
- Interference
- LTL synthesis
- Model checking
- Path condition extraction
- Property-oriented expansion
- SAT solving
- Synchronization
- Theorem proving