This volume contains the research papers, invited papers, and abstracts
of - torials presented at the Second International Conference on Tests
and Proofs (TAP 2008) held April 9-11, 2008 in Prato, Italy. TAP was the
second conference devoted to the convergence of proofs and tests. It
combines ideas from both areasfor the advancement of softwarequality. To
provethe correctnessof a programis to demonstrate, through impeccable
mathematical techniques, that it has no bugs; to test a programis to run
it with the expectation of discovering bugs. On the surface, the two
techniques seem contradictory: if you have proved your program, it is
fruitless to comb it for bugs; and if you are testing it, that is surely
a sign that you have given up on anyhope of proving its
correctness.Accordingly, proofs and tests have, since the onset of
software engineering research, been pursued by distinct communities
using rather di?erent techniques and tools. And yet the development of
both approaches leads to the discovery of c- mon issues and to the
realization that each may need the other. The emergence of model
checking has been one of the ?rst signs that contradiction may yield to
complementarity, but in the past few years an increasing number of
research e?orts have encountered the need for combining proofs and
tests, dropping e- lier dogmatic views of their incompatibility and
taking instead the best of what each of these software engineering
domains has to o?er.