The Axioms Strike Back: Testing with Concepts and Axioms in C++
Citation:
Anya Helene Bagge, Valentin David and Magne Haveraaen. The Axioms Strike Back: Testing with Concepts and Axioms in C++. In Bernd Fischer, editor(s), Proceedings of the Eighth International Conference on Generative Programming and Component Engineering (GPCE’09), pages 15–24. ACM, 2009.Superseded By:
Please read/cite the newer paper rather than this one.Conference:
Eighth International Conference on Generative Programming and Component Engineering (GPCE’09), Denver, Colorado, USA, 2009, proceedings pp.15–24Paper Links:
[doi] [pdf]Abstract:
Modern development practises encourage extensive testing of code while it is still under development, using unit tests to check individual code units in isolation. Such tests are typically case-based, checking a likely error scenario or an error that has previously been identified and fixed. Coming up with good test cases is challenging, and focusing on individual tests can distract from creating tests that cover the full functionality.
Axioms, known from program specification, allow for an alternative way of generating test cases, where the intended functionality is described as rules or equations that can be checked automatically. Axioms are proposed as part of the concept feature of the upcoming C++0x standard.
In this paper, we describe how tests may be generated automatically from axioms in C++ concepts, and supplied with appropriate test data to form effective automated unit tests.
Related Project:
Axiom TestingBibTeX:
@InProceedings{bagge-david-haveraaen-gpce09-axioms, supercededby = {bagge-david-haveraaen-jot11-testing}, title = {The Axioms Strike Back: Testing with Concepts and Axioms in {C++}}, author = {Bagge, Anya Helene and David, Valentin and Haveraaen, Magne}, year = {2009}, booktitle = {Proceedings of the Eighth International Conference on Generative Programming and Component Engineering (GPCE’09)}, editor = {Bernd Fischer}, pages = {15--24}, publisher = {ACM}, address = {New York, NY, USA}, doi = {10.1145/1621607.1621612}, isbn = {978-1-60558-494-2}, location = {Denver, Colorado, USA}, url = {http://www.ii.uib.no/~anya/papers/bagge-david-haveraaen-gpce09-axioms.html}, pdf = {http://www.ii.uib.no/~anya/papers/bagge-david-haveraaen-gpce09-axioms.pdf}, }