
Give the Gift of Choice!
Too many options? Treat your friends and family to their favourite stores with a Bayshore Shopping Centre gift card, redeemable at participating retailers throughout the centre. Click below to purchase yours today!Purchase HereHome
Tests and Proofs: First International Conference, Tap 2007 Zurich, Switzerland, February 12-13, 2007 Revised Papers
Coles
Loading Inventory...
Tests and Proofs: First International Conference, Tap 2007 Zurich, Switzerland, February 12-13, 2007 Revised Papers in Ottawa, ON
By None
Current price: $80.50


By None
Tests and Proofs: First International Conference, Tap 2007 Zurich, Switzerland, February 12-13, 2007 Revised Papers in Ottawa, ON
Current price: $80.50
Loading Inventory...
Size: Paperback
*Product information may vary - to confirm product availability, pricing, shipping and return information please contact Coles
To prove the correctness of a program is to demonstrate, through impeccable mathematical techniques, that it has no bugs. To test a program is to run it with the expectation of discovering bugs. These two paths to software reliability seem to diverge from the very start: if you have proved your program correct, it is fruitless to comb it for bugs; and if you are testing it, that surely must be a sign that you have given up on any hope to prove its correctness. Accordingly, proofs and tests have, since the onset of software engineering research, been pursued by distinct communities using different kinds of techniques and tools. Dijkstra's famous pronouncement that tests can only show the presence of errors - in retrospect, perhaps one of the best advertisements one can imagine for testing, as if "only" finding bugs were not already a momentous achievement! - didn't help make testing popular with provers, or proofs attractive to testers. And yet the development of both approaches leads to the discovery of common issues and to the realization that each may need the other. The emergence of model checking was one of the first signs that apparent contradiction may yield to complementarity; in the past few years an increasing number of research efforts have encountered the need for combining proofs and tests, dropping earlier dogmatic views of incompatibility and taking instead the best of what each of these software engineering domains has to offer.
To prove the correctness of a program is to demonstrate, through impeccable mathematical techniques, that it has no bugs. To test a program is to run it with the expectation of discovering bugs. These two paths to software reliability seem to diverge from the very start: if you have proved your program correct, it is fruitless to comb it for bugs; and if you are testing it, that surely must be a sign that you have given up on any hope to prove its correctness. Accordingly, proofs and tests have, since the onset of software engineering research, been pursued by distinct communities using different kinds of techniques and tools. Dijkstra's famous pronouncement that tests can only show the presence of errors - in retrospect, perhaps one of the best advertisements one can imagine for testing, as if "only" finding bugs were not already a momentous achievement! - didn't help make testing popular with provers, or proofs attractive to testers. And yet the development of both approaches leads to the discovery of common issues and to the realization that each may need the other. The emergence of model checking was one of the first signs that apparent contradiction may yield to complementarity; in the past few years an increasing number of research efforts have encountered the need for combining proofs and tests, dropping earlier dogmatic views of incompatibility and taking instead the best of what each of these software engineering domains has to offer.

















