Sciweavers

SIGMOD
2012
ACM

BloomUnit: declarative testing for distributed programs

11 years 6 months ago
BloomUnit: declarative testing for distributed programs
We present BloomUnit, a testing framework for distributed programs written in the Bloom language. BloomUnit allows developers to write declarative test specifications that describe the input/output behavior of a software module. Test specifications are expressed as Bloom queries over (distributed) execution traces of the program under test. To allow execution traces to be produced automatically, BloomUnit synthesizes program inputs that satisfy user-provided constraints. For a given input, BloomUnit systematically explores the space of possible network message reorderings. BloomUnit searches this space efficiently by exploiting program semantics to ignore “uninteresting” message schedules. We illustrate the utility of BloomUnit by demonstrating an incremental process by which a programmer might provide and refine a set of queries and constraints until they define a rich set of correctness tests for a distributed system. Categories and Subject Descriptors D.2.5 [Software Engine...
Peter Alvaro, Andrew Hutchinson, Neil Conway, Will
Added 27 Sep 2012
Updated 27 Sep 2012
Type Journal
Year 2012
Where SIGMOD
Authors Peter Alvaro, Andrew Hutchinson, Neil Conway, William R. Marczak, Joseph M. Hellerstein
Comments (0)