First statistical analysis of Geant4 quality software metrics

Apr 16, 2015, 9:15 AM
B250 (B250)



oral presentation Track4: Middleware, software development and tools, experiment frameworks, tools for distributed computing Track 4 Session


Elisabetta Ronchieri (INFN)


Geant4 is a widespread simulation system of "particles through matter" used in several experimental areas from high energy physics and nuclear experiments to medical studies. Some of its applications may involve critical use cases; therefore they would benefit from an objective assessment of the software quality of Geant4. The issue of maintainability is especially relevant for such a widely used, mature software system, which at the present time is the result of 20 years of development. We performed a quantitative analysis of Geant4 software quality with emphasis on maintainability. To evaluate the maintainability of Geant4 software, we used existing standards, such as ISO/IEC 9126, that identifies the software characteristics. Furthermore, we exploited a set of product metrics - aggregated in the program size, code distribution, control flow complexity and object-orientation metrics categories - that allows to understand the code state. By using various software metrics tools, we were able to collect a large amount of measurements of software characteristics. In this paper, we provide a first statistical evaluation of software metrics data related to a set of Geant4 physics packages. The analysis determined what metrics are most effective at identifying risks for the considered Geant4 packages and their correlations. We also evaluated the applicability of existing quality standards, which may derive from different application environments, to the Geant4 context. The findings of this pilot study set the ground for further extensions to the whole of Geant4 and to other HEP software systems.

Primary author


Presentation materials