Design evolution metrics for defect prediction in object oriented systems (bibtex)
by Kpodjedo, Segla, Ricca, Filippo, Galinier, Philippe, Guéhéneuc, Yann-Gaël and Antoniol, Giuliano
Abstract:
Testing is the most widely adopted practice to ensure software quality. However, this activity is often a compromise between the available resources and software quality. In object-oriented development, testing effort should be focused on defective classes. Unfortunately, identifying those classes is a challenging and difficult activity on which many metrics, techniques, and models have been tried. In this paper, we investigate the usefulness of elementary design evolution metrics to identify defective classes. The metrics include the numbers of added, deleted, and modified attributes, methods, and relations. The metrics are used to recommend a ranked list of classes likely to contain defects for a system. They are compared to Chidamber and Kemerer's metrics on several versions of Rhino and of ArgoUML. Further comparison is conducted with the complexity metrics computed by Zimmermann et al. on several releases of Eclipse. The comparisons are made according to three criteria: presence of defects, number of defects, and defect density in the top-ranked classes. They show that the design evolution metrics, when used in conjunction with known metrics, improve the identification of defective classes. In addition, they show that the design evolution metrics make significantly better predictions of defect density than other metrics and, thus, can help in reducing the testing effort by focusing test activity on a reduced volume of code.
Reference:
Design evolution metrics for defect prediction in object oriented systems (Kpodjedo, Segla, Ricca, Filippo, Galinier, Philippe, Guéhéneuc, Yann-Gaël and Antoniol, Giuliano), In Empirical Software Engineering, Springer US, volume 16, 2011.
Bibtex Entry:
@article{Kpodjedo2011,
abstract = {Testing is the most widely adopted practice to ensure software quality. However, this activity is often a compromise between the available resources and software quality. In object-oriented development, testing effort should be focused on defective classes. Unfortunately, identifying those classes is a challenging and difficult activity on which many metrics, techniques, and models have been tried. In this paper, we investigate the usefulness of elementary design evolution metrics to identify defective classes. The metrics include the numbers of added, deleted, and modified attributes, methods, and relations. The metrics are used to recommend a ranked list of classes likely to contain defects for a system. They are compared to Chidamber and Kemerer's metrics on several versions of Rhino and of ArgoUML. Further comparison is conducted with the complexity metrics computed by Zimmermann et al. on several releases of Eclipse. The comparisons are made according to three criteria: presence of defects, number of defects, and defect density in the top-ranked classes. They show that the design evolution metrics, when used in conjunction with known metrics, improve the identification of defective classes. In addition, they show that the design evolution metrics make significantly better predictions of defect density than other metrics and, thus, can help in reducing the testing effort by focusing test activity on a reduced volume of code.},
author = {Kpodjedo, Segla and Ricca, Filippo and Galinier, Philippe and Gu{\'{e}}h{\'{e}}neuc, Yann-Ga{\"{e}}l and Antoniol, Giuliano},
doi = {10.1007/s10664-010-9151-7},
issn = {1382-3256},
journal = {Empirical Software Engineering},
keywords = {Defect prediction; Design evolution metrics; Error tolerant graph matching,cocome_lit-review},
mendeley-tags = {cocome_lit-review},
number = {1},
pages = {141--175},
publisher = {Springer US},
title = {{Design evolution metrics for defect prediction in object oriented systems}},
url = {http://link.springer.com/10.1007/s10664-010-9151-7},
volume = {16},
year = {2011}
}
Powered by bibtexbrowser