Tests and Proofs
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.