Nothing Special   »   [go: up one dir, main page]

skip to main content
10.5555/851010.856105guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Building Software Quality Classification Trees: Approach, Experimentation, Evaluation

Published: 02 November 1997 Publication History

Abstract

A methodology for constructing an optimum software quality classification tree using software complexity metrics to discriminate between high-quality modules and low-quality modules is proposed. The process of tree generation is an application of the AIC (Akaike Information Criterion) procedures to the binomial distribution. AIC procedures are based on maximum likelihood estimation and the least number of complexity metrics. It is an improvement of the software quality classification tree generation method proposed by Porter and Selby from the viewpoint the complexity metrics are minimized. The problems of their method are that the software quality prediction model is unstable because it reflects observational errors in real data too much and there is no objective criterion for determining whether the discrimination is appropriate or not at a deep nesting level of the classification tree when the number of sample modules gets smaller. To solve these problems a new metric is introduced and its validity is theoretically and experimentally verified. In our examples, complexity metrics written in C language such as lines of source code, Halstead's software science, McCabe's cyclomatic number, Henry and Kafura's fan-in/out, Howatt and Baker's s cope number and reuse-ratio, are investigated. Our experiments with a medium-sized piece of software (85 thousand lines of source code: 562 samples) show that the software quality classification tree generated by our new metric identifies the target class of the observed modules more efficiently using the minimum number of complexity metrics without any decrease of the correct classification ratio (76%->72%) than the conventional classification tree.

References

[1]
Porter, A. A. and Selby, R. W., "Empirically guided software develpment using metric based classification trees," IEEE SOFTWARE, pp. 46-54, March 1990.
[2]
Takahashi, R. and Nakamura, Y., "The effect of interface complexity on program error density," Proc. ICSM'96, pp. 77-86, 1996.
[3]
Takahashi, R., "Software quality classification model based on McCabe's complexity measure," J. SYSTEMS SOFTWARE, 38, pp. 61-69, 1997.
[4]
Takahashi, R. and Wakayama, H., "Disicriminative efficiency methodology for validating soft - ware quality classification models." Systems and Computers in Japan, Vol. 26, No. 5, pp. 1-18, 1995.
[5]
Tian J. and Zelkovitz M. V., "Complexity measure evaluation and selection," IEEE Trans. Software Eng., Vol. 21, No. 8, pp. 641-65, 1995.
[6]
Akaike, H., "Factor analysis and AIC," Psychometrika, VOL. 52, NO. 3, pp. 317-332, 1987.
[7]
Shannon, C. E., "Prediction and entropy of printed english," The Bell Sytem Technical Journal, pp. 50-64, Jan. 1951.
[8]
Schneidwind, F. N., "Methodology for software quality metrics maintenance," Tutorial notes of ICSM'96 in Monterey, 1996.
[9]
Shneidwind, N. F., "Validating metrics for ensuring space shuttle flight software quality," IEEE COMPUTER, pp. 50-57, 1994.
[10]
Coleman, D., Ash D., Lowther B., Oman P., "Using metrics to evaluate software system maintainability," IEEE COMPUTER, pp. 44-49, 1994.
[11]
Boehm, B.W.: "Industrial software metrics top 10 list," IEEE Software, 10, 5, pp. 84-85, Sep. 1987.
[12]
Munson, J.C. and Khoshgoftaar, T.M., "The detection of fault-prone programs," IEEE Trans. Software Eng., VOL. 18, NO. 5, pp. 423-433, 1992.
[13]
Khoshgoftaar, T. M., Munson J. C and Lanning, D. L., "Dynamic system complexity", Proceedings of the first international software metrics symposium, pp. 129-140, 1993.
[14]
Khoshgoftaar, T. M., Lanning, D. L, and Pandya, A. S., "A neural network modeling methodology for the detection of high - risk programs," in proceedings of the fourth IEEE International Symposium on Software Reliability Engineering, pp. 302-309, 1993.
[15]
Rodriguez, V. and Tsai, W. T., "A tool for discriminant analysis and classification of software metrics," Informatin and Software technology, VOL. 29, NO. 3, pp. 137-150, 1987.
[16]
Evanco, W. M., "Poisson Models for subprogram defect analyses," J. SYSTEMS SOFTWARE, 38, pp. 27-35, 1997.
[17]
Howatt, J. W. and Baker, A. L., "Rigorous definition analysis of program complexity measures: An example using nesting," J. Syst. Software, Vol. 10, pp. 139-150, 1989.
[18]
McCabe, T. J., "A complexity measure," IEEE Trans. Sofware Eng., Vol. SE-2, pp. 308-320, 1976.
[19]
Henry, S. and Kafura, D., "Software structure metrics based on information flow", IEEE Trans. Software Eng., Vol. SE-7, No. 5, pp. 510-518, 1981.
[20]
Wake, S. and Henry, S., "A methodology for integrating maintainability using software metrics," in Proc. ICSM '89, pp. 32-39, 1989.
[21]
Halstead, M. H., "Elements of software science," ELSEVIER COMPUTER SCIENCE LIBRARY, 1977.
[22]
Bolch, B., W. and. Huang, C.J., "Multivariate statistical methods for buisiness and economics," morikita publishing, translated into Japanese by Nakamura K., 1976.
[23]
McClure, C., "Three Rs of software automation: re-engineering, repository, reusability", kyorotsu publishing, translated into Japanese by Fujimoto A., Todo K., Clno M., Hotta K., Ashizawa M., 1993.

Cited By

View all
  • (2008)Anomaly-based fault detection in pervasive computing systemProceedings of the 5th international conference on Pervasive services10.1145/1387269.1387294(147-156)Online publication date: 6-Jul-2008
  • (2005)Assessment of a New Three-Group Software Quality Classification TechniqueEmpirical Software Engineering10.1007/s10664-004-6191-x10:2(183-218)Online publication date: 1-Apr-2005
  • (2004)Comparative Assessment of Software Quality Classification TechniquesEmpirical Software Engineering10.1023/B:EMSE.0000027781.18360.9b9:3(229-257)Online publication date: 1-Sep-2004
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Guide Proceedings
ISSRE '97: Proceedings of the Eighth International Symposium on Software Reliability Engineering
November 1997
ISBN:0818681209

Publisher

IEEE Computer Society

United States

Publication History

Published: 02 November 1997

Author Tags

  1. AIC
  2. C language
  3. classification tree
  4. complexity metrics
  5. entropy
  6. reuse
  7. software quality

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 13 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2008)Anomaly-based fault detection in pervasive computing systemProceedings of the 5th international conference on Pervasive services10.1145/1387269.1387294(147-156)Online publication date: 6-Jul-2008
  • (2005)Assessment of a New Three-Group Software Quality Classification TechniqueEmpirical Software Engineering10.1007/s10664-004-6191-x10:2(183-218)Online publication date: 1-Apr-2005
  • (2004)Comparative Assessment of Software Quality Classification TechniquesEmpirical Software Engineering10.1023/B:EMSE.0000027781.18360.9b9:3(229-257)Online publication date: 1-Sep-2004
  • (2003)Fault Prediction Modeling for Software Quality EstimationEmpirical Software Engineering10.1023/A:10244248113458:3(255-283)Online publication date: 1-Sep-2003
  • (2002)Evaluating the applicability of reliability prediction models between different softwareProceedings of the International Workshop on Principles of Software Evolution10.1145/512035.512057(97-102)Online publication date: 19-May-2002
  • (2002)Uncertain Classification of Fault-Prone Software ModulesEmpirical Software Engineering10.1023/A:10205110042677:4(297-318)Online publication date: 1-Dec-2002
  • (2001)Entropies as Measures of Software InformationProceedings of the IEEE International Conference on Software Maintenance (ICSM'01)10.1109/ICSM.2001.972721Online publication date: 7-Nov-2001
  • (2001)Data Mining of Software Development DatabasesSoftware Quality Journal10.1023/A:10133494195459:3(161-176)Online publication date: 1-Nov-2001
  • (2001)Controlling Overfitting in Classification-Tree Models ofSoftware QualityEmpirical Software Engineering10.1023/A:10098030045766:1(59-79)Online publication date: 1-Mar-2001
  • (2000)Improving Tree-Based Models of Software Quality with Principal Components AnalysisProceedings of the 11th International Symposium on Software Reliability Engineering10.5555/851024.856223Online publication date: 8-Oct-2000
  • Show More Cited By

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media