An Empirical Evaluation of Object Oriented Metrics in Industrial Setting

Giovanni Denaro, M. Pezze, Luigi Lavazza · Virtual Community of Pathological Anatomy (University of Castilla La Mancha) · 2003

Advances in distributed object technologies (e.g., the Common Object Request Broker Architecture [15] and the Enterprise Java Bean Specification [19]) dramatically impact the development process of distributed software applications. In particular, time for providing new distributed services is decreasing because applications are not built from scratch any longer. Rather, they are developed based on pre-existing middle tier software (middleware) and integrate components and services provided off-the-shelf by third parties [9]. The increasing demand for rapid provision of new products entails rigid constraints on the activities of quality assurance for this class of applications. It becomes crucial to optimize the allocation of resources for testing and analysis to meet the required quality goals, while reducing time-to-market. Measuring the fault-proneness of the software may facilitate the allocation of resources for testing and analysis. If the distribution of faults in the software can be accurately estimated in advance, resources can be allocated accordingly, i.e., more resources to the more fault-prone parts of the software. For example, in the case of code inspection, more thorough inspection sessions could be scheduled for the more fault-prone modules. Although fault-proneness cannot be directly measured, it can be estimated based on other measurable attributes of the software, based on expected correlations between such attributes and fault-proneness. Many software metrics have been proposed for this purpose (e.g., [14, 10, 20]). However, the best predictors of fault-proneness may vary according to the class of applications and the target application domain, as demonstrated by many empirical studies [13, 18, 16, 17, 7, 6]. In the nineties, researchers started investigating software metrics to capture the specific complexity of object-oriented systems [5, 11, 4, 2]. Object-Oriented (OO) metrics capture characteristics of class hierarchies, of the internal cohesion

Read the paper · More papers on PaperTik