PUMA: an aspect-oriented code analysis and manipulation framework for C and C++

  • Authors:
  • Matthias Urban;Daniel Lohmann;Olaf Spinczyk

  • Affiliations:
  • Pure-Systems GmbH, Magdeburg, Germany;Friedrich-Alexander-University Erlangen-Nuremberg, Distributed Systems and Operating Systems, Germany;Technische Universität Dortmund, Embedded System Software, Germany

  • Venue:
  • Transactions on aspect-oriented software development VIII
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

PUMA is a framework for the development of applications that analyze and optionally transform C or C++ source code. It supports all standard ISO C and C++ language features as well as many language extensions of the GNU Compiler Collection and Microsoft Visual C++. Aspects played an important role during the design and implementation of the framework. It is written in the AspectC++ language. By employing AOSD concepts we gained clean separation of concerns and, thereby, very good configurability and extensibility. All these -ilities are of vital importance for our project, because the available manpower for maintenance tasks is limited. This paper describes the tools, which we used for the development, the principles behind the design of PUMA, and its implementation. Even though criticized during the last few years, our experiences show that aspect technology has clear benefits for the development of complex industrial applications.