C++ Code Analysis: an Open Architecture for the Verification of Coding Rules

Abstract

The analysis of C++ code is the basic building block of the collaboration between ITC-irst and CERN, aimed at improving the quality of the software by exploiting the information that can be automatically gathered from the code. The first objective of the collaboration is the development of a coding rule check tool. Successive steps will include a reverse engineering module and an intelligent refactoring tool. Since all planned applications, and possibly also those not yet considered, share a common analysis bulk, particular attention was devoted to the development of an open architecture for the analysis of C++ code.

In this paper the adopted architectural solutions are presented and discussed, highlighting their generality, the possibilities of extension that they offer, and the way details could be encapsulated within packages, so that a clear and sharp interface between the subsystems is defined. The peculiarities of the C++ language are also described, together with the way they were approached and the state of the current implementation.

Postscript version of the paper.