ABSTRACT
Axioms, known from program specification, allow program functionality to be described as rules or equations. The draft C++0x standard introduces axioms as part of the new concept feature. We will demonstrate a tool that uses these features for automated unit testing.
- Robert Anisko, Valentin David, and Clément Vasseur. Transformers: A C++ program transformation framework. Technical Report 0310, EPITA/LRDE, 2003.Google Scholar
- Anya Helene Bagge, Valentin David, and Magne Haveraaen. Testing with concepts and axioms in C++. In OOPSLA '08: Companion to the 23rd ACM SIGPLAN conference on Object oriented programming systems and applications companion, New York, NY, USA, 2008. ACM. Google ScholarDigital Library
- Anya Helene Bagge and Magne Haveraaen. Axiombased transformations: Optimisation and testing. In Jurgen Vinju and Adrian Johnstone, editors, Eighth Workshop on Language Descriptions, Tools and Applications (LDTA 2008), Electronic Notes in Theoretical Computer Science, Budapest, Hungary, 2008. Elsevier.Google Scholar
- Koen Claessen and John Hughes. Quickcheck: a lightweight tool for random testing of haskell programs. In ICFP '00: Proceedings of the fifth ACM SIGPLAN international conference on Functional programming, pages 268--279, New York, NY, USA, 2000. ACM Press. Google ScholarDigital Library
- Valentin David. Preparing for C++0x. In OOPSLA '08: Companion to the 23rd ACM SIGPLAN conference on Object oriented programming systems and applications companion, New York, NY, USA, 2008. ACM. Google ScholarDigital Library
- Douglas Gregor, Bjarne Stroustrup, Jeremy Siek, and James Widman. Proposed wording for concepts (revision 4). Technical Report N2501=08-0011, JTC1/SC22/WG21 -- The C++ Standards Committee, February 2008.Google Scholar
- Dick Hamlet and Ross Taylor. Partition testing does not inspire confidence. IEEE Trans. Softw. Eng., 16(12):1402--1411, 1990. Google ScholarDigital Library
- Magne Haveraaen. Case study on algebraic software methodologies for scientific computing. Sci. Program., 8(4):261--273, 2000. Google ScholarDigital Library
- David Saff. Theory-infected: or how I learned to stop worrying and love universal quantification. In OOPSLA '07: Companion to the 22nd ACM SIGPLAN conference on Object oriented programming systems and applications companion, pages 846--847, New York, NY, USA, 2007. ACM. Google ScholarDigital Library
- Xiaolong Tang and Jaakko Järvi. Concept-based optimization. In Proceedings of the ACM SIGPLAN Symposium on Library-Centric Software Design (LCSD'07), New York, NY, USA, 2007. ACM. Google ScholarDigital Library
Index Terms
- Axiom-based testing for C++
Recommendations
Testing with concepts and axioms in C++
OOPSLA Companion '08: Companion to the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applicationsUnit testing is a popular way of increasing software reliability. Axioms, known from program specification, allow functionality to be described as rules or equations. We show a method and prototype tool for using the proposed concept and axiom features ...
The axioms strike back: testing with concepts and axioms in C++
GPCE '09: Proceedings of the eighth international conference on Generative programming and component engineeringModern 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 ...
The axioms strike back: testing with concepts and axioms in C++
GPCE '09Modern 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 ...
Comments