Source Code Metrics and Maintainability: A Case Study

Abstract

Measuring high level quality attributes of operation-critical IT systems is essential for keeping the maintainability costs under control. International standards and recommendations, like ISO/IEC 9126, give some guidelines regarding the different quality characteristics to be assessed, however, they do not define unambiguously their relationship to the low level quality attributes. The vast majority of existing quality models use source code metrics for measuring low level quality attributes. Although, a lot of researches analyze the relation of source code metrics to other objective measures, only a few studies deal with their expressiveness of subjective feelings of IT professionals. Our research involved 35 IT professionals and manual evaluation results of 570 class methods of an industrial and an open source Java system. Several statistical models have been built to evaluate the relation of low level source code metrics and high level subjective opinions of IT experts. A decision tree based classifier achieved a precision of over 76 during the estimation of the Changeability ISO/IEC 9126 attribute.

Publication
Proceedings of the 2011 International Conference on Advanced Software Engineering & Its Applications (ASEA 2011), Jeju Island, Korea, Pages 272–284

BibTeX:

@InProceedings{HBI11,
    author    = {Heged{\H{u}}s, P{\'e}ter and Bakota, Tibor and Ill{\'e}s, L{\'a}szl{\'o} and Lad{\'a}nyi, Gergely and Ferenc, Rudolf and Gyim{\'o}thy, Tibor},
    title     = {Source Code Metrics and Maintainability: A Case Study},
    booktitle = {Proceedings of the 2011 International Conference on Advanced Software Engineering \& Its Applications (ASEA 2011)},
    year      = {2011},
    volume    = {257},
    series    = {Communications in Computer and Information Science (CCIS)},
    pages     = {272--284},
    address   = {Jeju Island, Korea},
    month     = dec,
    publisher = {Springer-Verlag},
    doi       = {10.1007/978-3-642-27207-3_28},
    keywords  = {Metrics evaluation, Empirical quality model, ISO/IEC 9126, Software maintainability},
    url       = {https://link.springer.com/chapter/10.1007%2F978-3-642-27207-3_28},
}