Detecting Misusages of the C++ Standard Template Library

Gábor Horväth, Attila Páter-Részeg, Norbert Pataki · 2018

The C++ Standard Template Library (STL) is the most well-known and widely used library that is based on the generic programming paradigm.The STL takes advantage of C++ templates, so it is an extensible, effective but flexible system.Professional C++ programs cannot miss the usage of the STL because it increases quality, maintainability, understandability and efficacy of the code.However, the usage of C++ STL does not guarantee bugfree or errorfree code.Contrarily, incorrect application of the library may introduce new types of problems.Unfortunately, there is still a large number of properties are tested neither at compilation-time nor at run-time.It is not surprising that in implementation of C++ programs so many STL-related bugs may occur.It is clearly seen that the compilation validation is not enough to exclude the misuage of STL.Our paper introduces different approaches for the validation of the C++ STL's usage.We take advantage of metaprogramming techniques, static analysis based on the Clang compiler infrastructure and gdb debugging tool as well.

Read the paper · More papers on PaperTik