An Investigation into Coupling Measures for C++(1997)

Author(s): Lionel Briand, Prem Devanbu, and Walcelio Melo
Venue: Proceeding of the 19th international conference on Software engineering
Date: 1997

Type of Experiement: Controlled Experiment


Data compiled from a research at the University of Maryland. They took C++ programs
that had forms filled out to determine the amount of faults the developers experienced during
implementation, testing, and modification. They also extract whether or not these classes
were built from scratch or derived from an existing class and if so how much.

They proposed a suite of metrics for software static coupling metrics as a predictor for
fault-proneness in an application. They found that inheritance-based coupling metrics were
not good predictors of fault-proneness. In addition, specific to the C++ language, they
investigated the use of friendship among classes and if it has any correlation with fault-
proneness because it increase coupling and derails from popularly accepted OO design.
Briand, Devanbu, and Melo introduce Class-Attribute interaction, Class-method interac-
tion, and Method-Method interaction for their metric suite. These metrics are investigated
by applying their metrics to the classes and correlated with the fault prone data collected
through the forms.

The case studies were not extensive because they did not include multiple languages of
different sizes of applications within their case study. They collected the C++ source code
from a research project at the University of Maryland. They collected the data about these
programs, errors found during the testing phase and fixing during the repair phase. They
had developers fill out a “Fault Report Form” which was used to gather data about faults
found during testing and which classes were changed to correct those faults. In addition
a “Component Origination Form” was filled out to capture whether a class was developed
from scratch or was derived from an existing class.