Title :
Testing C++ generic libraries
Author :
Sutton, Andrew ; Zalewski, M.
Author_Institution :
Compute Sci. & Eng., Texas A&M Univ., College Station, TX, USA
Abstract :
We describe a novel methodology for systematic and rigorous testing of C++ generic libraries: separate testing. The approach is based on separate testing of generic (template) algorithms and data structures and of user-defined types that will be used with the library. Templates are tested against specifications using representative types called prototypes that contain metadata which is used to query otherwise unobservable properties of the input types and values. User-defined types are tested against the concepts required by the generic components of the library. Testing separately minimizes the required effort while fully exercising all components involved. The methodology is supported by the Origin Testing library, which is, in turn, being used to test the remainder of the Origin C++ 11 libraries.
Keywords :
C++ language; data structures; formal specification; meta data; program testing; software libraries; C++ generic libraries; Origin C++ 11 libraries; Origin Testing library; data structure; generic algorithm; metadata; of user-defined type; prototype; representative type; rigorous testing; specification; systematic testing; template algorithm; Algorithm design and analysis; Data structures; Libraries; Prototypes; Semantics; Standards; Testing;
Conference_Titel :
Software Maintenance (ICSM), 2012 28th IEEE International Conference on
Conference_Location :
Trento
Print_ISBN :
978-1-4673-2313-0
DOI :
10.1109/ICSM.2012.6405251