| | |
Summary: Protocol Design with Concolic Snippets
Rajeev Alur, Jyotirmoy V. Deshmukh, Sela Mador-Haim,
Milo M. K. Martin, Arun Raghavan, and Abhishek Udupa
University of Pennsylvania, Philadelphia PA 19104, USA
Abstract. With the maturing of computer-aided verification technol-
ogy, there is an emerging opportunity to develop design tools that can
transform the way systems are designed. In this paper, we propose a new
way to specify protocols using concolic snippets, that is, sample execu-
tion fragments that contain both concrete and symbolic values. While
the purely symbolic extreme is simply an alternative representation of
the traditional communicating extended finite-state-machines, and the
purely concrete extreme is an instantiation of the "programming by ex-
amples" paradigm, our specification language allows the designer to spec-
ify the desired protocol using a mixture of symbolic state machines and
concrete scenarios. Our synthesis engine generalizes the snippets into a
transition function, which is then analyzed using a model checker with re-
spect to high-level temporal-logic correctness requirements. We describe
a prototype implementation for design of cache coherence protocols built
using (1) a straightforward enumeration of all expressions for transition
functions, (2) a check for consistency with respect to concolic snippets
|