Instrumentation of C++ Programs Using Automatic Source Code Transformations

  • Z. Parragi Faculty of Informatics, Eötvös Loránd University, Budapest, Hungary
  • Z. Porkolab Faculty of Informatics, Eötvös Loránd University, Budapest, Hungary

Abstract

The main tool for programmers is always the compiler, but there are also many other tools to help the development process. Some of these tools work on the source code of the program, analyzing, measuring or transforming it. Implementing a source based tool is a complex task, especially for complex languages such as C++. In recent years the C++ language received an easy-to-use library for developing such software, in the form of clang tooling. However, this library only focuses on processing a single translational unit of the program, independently to the other parts of the build process. Tools which ignore this big picture could result in failures when used on larger projects, or incorrect runtime behavior. In this paper, we describe some of these challenges encountered in real-world C++ projects and propose possible solutions for future tools to fix or mitigate the issues.

Published
2018-06-19
How to Cite
PARRAGI, Z.; PORKOLAB, Z.. Instrumentation of C++ Programs Using Automatic Source Code Transformations. Studia Universitatis Babeș-Bolyai Informatica, [S.l.], v. 63, n. 2, p. 53-65, june 2018. ISSN 2065-9601. Available at: <http://www.cs.ubbcluj.ro/~studia-i/journal/journal/article/view/28>. Date accessed: 29 nov. 2020. doi: https://doi.org/10.24193/subbi.2018.2.04.
Section
Articles