Testing with concepts and axioms in C++

Unit 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 of the upcoming C++0x standard for automated unit testing.

[1]  Richard G. Hamlet,et al.  Partition Testing Does Not Inspire Confidence , 1990, IEEE Trans. Software Eng..

[2]  Marie-Claude Gaudel,et al.  Testing Can Be Formal, Too , 1995, TAPSOFT.

[3]  Magne Haveraaen,et al.  Case study on algebraic software methodologies for scientific computing , 2000, Sci. Program..

[4]  Xiaolong Tang,et al.  Concept-based optimization , 2007, LCSD '07.

[5]  P. David Stotts,et al.  Daistish: systematic algebraic testing for OO programs in the presence of side-effects , 1996, ISSTA '96.

[6]  Peter Gottschling Fundamental Algebraic Concepts in Concept-Enabled C++ , 2006 .

[7]  Akim Demaille,et al.  C-Transformers: a framework to write C program transformations , 2006, CROS.

[8]  Tanja E. J. Vos,et al.  Trace-based Reflexive Testing of OO Programs , 2007 .

[9]  Richard G. Hamlet,et al.  Data Abstraction, Implementation, Specification, and Testing , 1981, TOPL.

[10]  Troels Mørch Test Driven Development , 2005 .

[11]  Valentin David Preparing for C++0x , 2008, OOPSLA Companion.

[12]  P. David Stotts,et al.  An Informal Formal Method for Systematic JUnit Test Case Generation , 2002, XP/Agile Universe.

[13]  Bjarne Stroustrup,et al.  Concepts: linguistic support for generic programming in C++ , 2006, OOPSLA '06.

[14]  Magne Haveraaen,et al.  Axiom-based testing for C++ , 2008, OOPSLA Companion.

[15]  Koen Claessen,et al.  QuickCheck: a lightweight tool for random testing of Haskell programs , 2000, ICFP.

[16]  Kent L. Beck,et al.  Test-driven Development - by example , 2002, The Addison-Wesley signature series.

[17]  E. Coward Structured testing in Sophus , 2022 .

[18]  Magne Haveraaen,et al.  JAxT and JDI: the simplicity of junit applied to axioms and data invariants , 2008, OOPSLA Companion.

[19]  Panos Louridas,et al.  JUnit: Unit Testing and Coding in Tandem , 2005, IEEE Softw..

[20]  Jeremy G. Siek,et al.  The Matrix Template Library: A Unifying Framework for Numerical Linear Algebra , 1998, ECOOP Workshops.

[21]  David Saff Theory-infected: or how i learned to stop worrying and love universal quantification , 2007, OOPSLA '07.

[22]  Magne Haveraaen,et al.  Computable scalar fields: A basis for PDE software , 2005, J. Log. Algebraic Methods Program..

[23]  Kent L. Beck Extreme Programming: A Humanistic Discipline of Software Development , 1998, FASE.

[24]  Douglas Gregor,et al.  Proposed Wording for Concepts (Revision 3) , 2007 .

[25]  Magne Haveraaen,et al.  Axiom-Based Transformations: Optimisation and Testing , 2009, Electron. Notes Theor. Comput. Sci..

[26]  Eelco Visser,et al.  Stratego/XT 0.16: components for transformation systems , 2006, PEPM '06.