COMPUTING SEMINAR


Title: C++ Code Analysis: an Open Architecture for the Verification of Coding Rules
Speaker: Paolo Tonella / Istituto Trentino di Cultura-IRST, Trento/Italy
Date : Thursday 25 November1999 at 11:00hrs
Place : IT Auditorium, bldg 31/3-005
Information: http://wwwinfo.cern.ch/seminars
Organiser: F.Gagliardi / IT

ABSTRACT

The analysis of C++ code is the basic building block of the collaboration between ITC-IRST and CERN/ALICE, 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 talk 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.


Short biography: Paolo Tonella received his laurea degree cum laude in Electronic Engineering from the University of Padua, Italy, in 1992, and his PhD degree in Software Engineering from the same University, in 1999, with the thesis "Code Analysis in Support to Software Maintenance".

Since 1994 he has been a full time researcher of the Software Engineering group at IRST (Institute for Scientific and Technological Research), Trento, Italy.

He participated in several industrial and European Community projects on software analysis and testing.

His current research interests include software engineering, reverse engineering, object oriented programming and code analysis.