Detecting Misusages of the C++ Standard Template Library

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, e ective but exible system. Professional C++ programs cannot miss the usage of the STL because it increases quality, maintainability, understandability and e cacy 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 suprising 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 poster introduces di erent 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.