Skip to main content

A Framework for Measuring and Evaluating Program Source Code Quality

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4589))

Abstract

The effect of the quality of program source code on the cost of development and maintenance as well as on final system performance has resulted in a demand for technology that can measure and evaluate the quality with high precision. Many metrics have been proposed for measuring quality, but none have been able to provide a comprehensive evaluation, nor have they been used widely. We propose a practical framework which achieves effective measurement and evaluation of source code quality, solves many of the problems of earlier frameworks, and applies to programs in the C programming language. The framework consists of a comprehensive quality metrics suite, a technique for normalization of measured values, an aggregation tool which allows evaluation in arbitrary module units from the component level up to whole systems, a visualization tool for the evaluation of results, a tool for deriving rating levels, and a set of derived standard rating levels. By applying this framework to a collection of embedded programs experimentally, we verified that the framework can be used effectively to give quantitative evaluations of reliability, maintainability, reusability and portability of source code.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Ogasawara, H., et al.: Evaluating Effectiveness of Software Metrics, Union of Japanese Scientists and Engineers, 20SPC Research subcommittee report (2004)

    Google Scholar 

  2. Chaudron, M.: Evaluating Software Architectures, http://www.win.tue.nl/mchaudro/swads/

  3. Sindre, G., et al.: The REBOOT Approach to Software Reuse, Journal of Systems and Software 30(3) (1995)

    Google Scholar 

  4. Bansiya, J., Davis, C.G.: A Hierarchical Model for Object-Oriented Design Quality Assessment, IEEE Transactions on Software Engineering 28(1) (2002)

    Google Scholar 

  5. Supervised by Kanno, A., et. al.: Software quality maintenance technology for the 21st Century, Union of Japanese Scientists and Engineers (1994)

    Google Scholar 

  6. Ortega, M., et al.: Construction of A Systematic Quality Model for Evaluating A Software Product, Software Quality Journal 11(3) (2003)

    Google Scholar 

  7. Monden, A.: A Study of Data Collection using EPM and Analysis using GQM. In: 4th Empirical Software Engineering Workshop (2005)

    Google Scholar 

  8. ISO/IEC TR 9126-3: Software engineering – Product quality – Part 3: Internal metrics (2003)

    Google Scholar 

  9. ISO/IEC 9126-1: Information technology – Software product evaluation: Quality Characteristics and Guidelines for their use (2001)

    Google Scholar 

  10. ISO/IEC 14598-1: Information technology – Software product evaluation: Part 1: General overview (1998)

    Google Scholar 

  11. Washizaki, H., et al.: A Metrics Suite for Measuring Reusability of Software Components. In: Proc. 9th IEEE International Software Metrics Symposium (2003)

    Google Scholar 

  12. Hirayama, M., et al.: Evaluating Usability of Software Components, Information Processing Society of Japan Journal 45(6) (2004)

    Google Scholar 

  13. Programming Research Ltd.: QAC, http://www.programmingresearch.com/

  14. Telelogic: Logiscope, http://www.telelogic.com/corp/products/logiscope/

  15. Basili, V.R., Weiss, D.M.: A Methodology for Collecting Valid Software Engineering Data, IEEE Transactions on Software Engineering 10(6) (1984)

    Google Scholar 

  16. http://www.ogis-ri.jp/solution/QAFramework.html

  17. The Motor Industry Software Reliability Association: MISRA-C: 2004 – Guidelines for the use of the C language in critical systems (2004), http://www.misra-c2.com/

  18. IPA/SEC: C-Language Coding best practices for Embedded software Guide, Shoeisha Inc. (2006)

    Google Scholar 

  19. Emi, K., Lewerentz, C.: Applying Design-Metrics to Object-Oriented Frameworks. In: Proc. 3rd IEEE International Software Metrics Symposium (1996)

    Google Scholar 

  20. ISO/IEC 15939:2002, Software engineering – Software measurement process (2002)

    Google Scholar 

  21. McCabe, T.J., Watson, A.H.: Software Complexity, Crosstalk, Journal of Defense Software Engineering 7(12) (1994)

    Google Scholar 

  22. Kazman, R., et al.: Making Architecture Design Decisions: An Economic Approach, CMU/SEI-2002-TR-035 (2002)

    Google Scholar 

  23. OMG: UML 2.0 OCL Specification, http://www.omg.org/docs/ptc/05-06-06.pdf

  24. Washizaki, H., et al.: Experiments on Quality Evaluation of Embedded Software in Japan Robot Software Design Contest. In: Proc. 28th International Conference on Software Engineering (ICSE 2006), pp.551–560 (2006)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jürgen Münch Pekka Abrahamsson

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Washizaki, H., Namiki, R., Fukuoka, T., Harada, Y., Watanabe, H. (2007). A Framework for Measuring and Evaluating Program Source Code Quality. In: Münch, J., Abrahamsson, P. (eds) Product-Focused Software Process Improvement. PROFES 2007. Lecture Notes in Computer Science, vol 4589. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-73460-4_26

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-73460-4_26

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-73459-8

  • Online ISBN: 978-3-540-73460-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics