Dynamic measures for object-oriented software
Andrew T. Cobb · 2006
Traditionally, object-oriented software measurement research studies have drawn measurements from the structure of the system, representing the static view, rather than the behavior of the system as it is used, i.e. the dynamic view. These studies have sought to answer questions like Which classes will be likely to produce defects? The goal of the research has been to identify relationships between internal measures, such as class size, and external measures, such as reliability or maintainability. This work proposes a new approach that considers both the static and dynamic views of a system and lays the groundwork for answering a potentially more appropriate and applicable question: Which scenarios will be likely to produce defects? Arguments for a dynamic perspective and dynamic, scenario-based measures are presented based on current object-oriented best practices and on current cognitive theory. An ontological model of object-oriented concepts is presented on which new measures are based. The new measures are then validated using a distance-based approach, which guarantees necessary and sufficient properties, and guarantees a ratio scale. After presenting theoretically valid measures, a study is introduced to externally validate the measures for their relationship with scenario defects. The study consists of two groups of student projects derived from roughly the same specifications. Results of the study suggest that some of the scenario-based measures are correlated with scenario defects. Further, a resulting logistic regression model successfully predicted the defect-proneness of scenario test sets with 76% to almost 79% accuracy. The theoretical and empirical results suggest further investigation should be pursued. Future work will include analysis with larger datasets, diverse datasets for comparison of the phenomena and other predictive models such as linear regression.