Reusability Metrics for Program Source Code Written in C Language and Their Evaluation

  • Hironori Washizaki
  • Toshikazu Koike
  • Rieko Namiki
  • Hiroyuki Tanabe
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7343)

Abstract

There are various approaches to quantitatively and statically measuring the reusability of program source code; however, empirical demonstrations of the effectiveness of such approaches by considering actual reuse in actual development projects or of the magnitude of their effect on actual reusability have not been reported in depth. In this paper, we identified a set of metrics that are thought to be effective for measuring the reusability of C language program source code. Subsequently, for ten projects involved in development with existing software modification and adoption, during which conventional source code in an old project are extensively reused and adopted to a new project, we compared values of the static metrics identified and the reuse results before and after the development. Statistical analysis demonstrated that some of our metrics are effective for actual software development, and we accurately determined the magnitude of their effect on actual reusability. More concretely, it was found that when the percentage of files used outside the belonging directory is small and the number of function calls is small, the complexity of source code as the material of reuse and factors that are affected by the source code are limited, indicating high reusability.

Keywords

Application Programming Interface Objective Variable External Module Software Reuse Proportional Data 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Poulin, J.S.: Measuring Software Reuse: Principles, Practices, and Economic Models. Addison-Wesley (1996)Google Scholar
  2. 2.
    ISO/IEC 9126-1: 2001, Information technology – Software product evaluation: Quality Characteristics and Guidelines for their use (2001)Google Scholar
  3. 3.
    DeMarco, T.: Controlling Software Projects: Management, Measurement & Estimation. Yourdon Press (1982)Google Scholar
  4. 4.
    Fenton, N., Whitty, R., Iizuka, Y.: Software Quality Assurance and Measurement: A Worldwide Perspective. Thomson Computer Press (1995)Google Scholar
  5. 5.
    Laird, L.M., Carol Brennan, M.: Software Measurement and Estimation: A Practical Approach. John Wiley & Sons (2006)Google Scholar
  6. 6.
    Washizaki, H., Namiki, R., Fukuoka, T., Harada, Y., Watanabe, H.: Practical Framework for Evaluating Quality of Program Source code. IPSJ Journal 48(8), 2637–2650 (2007)Google Scholar
  7. 7.
    Washizaki, H., Namiki, R., Fukuoka, T., Harada, Y., Watanabe, H.: A Framework for Measuring and Evaluating Program Source Code Quality. In: Münch, J., Abrahamsson, P. (eds.) PROFES 2007. LNCS, vol. 4589, pp. 284–299. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  8. 8.
    Kanno, A., Yoshizawa, T.: Techniques for Assuring Software Quality towards 21st Century. JUSE Press, Ltd. (1994)Google Scholar
  9. 9.
    Sindre, G., Conradi, R., Karlsson, E.-A.: The REBOOT Approach to Software Reuse. Journal of Systems and Software 30(3) (1995)Google Scholar
  10. 10.
    Frakes, W., Carol, T.: Software Reuse: Metrics and Models. ACM Computing Surveys 28(2), 415–435 (1996)CrossRefGoogle Scholar
  11. 11.
    Etzkorn, L.H., Hughes, W.E., Davis, C.G.: Automated Reusability Quality Analysis of OO Legacy Software. Information and Software Technology 43(5), 295–308 (2001)CrossRefGoogle Scholar
  12. 12.
    Nakajima, S., Suguta, S., Hotta, Y.: Evaluation of Metrics for Reuse of C++. In: Object-Oriented Symposium (1998)Google Scholar
  13. 13.
    Washizaki, H., Yamamoto, H., Fukazawa, Y.: A Metrics Suite for Measuring Reusability for Software Components. In: Proc. of the 9th IEEE International Symposium on Software Metrics (Metrics 2003), pp. 211–223. IEEE CS (2003)Google Scholar
  14. 14.
    Hirayama, M., Sato, M.: Evaluation of Usability of Software Components. IPSJ Journal 45(6), 1569–1583 (2004)Google Scholar
  15. 15.
    Inoue, K., Yokomori, R., Yamamoto, T., Matsushita, M., Kusumoto, S.: Ranking Significance of Software Components Based on Use Relations. IEEE Transactions on Software Engineering 31(3), 213–225 (2005)CrossRefGoogle Scholar
  16. 16.
    Basili, V.R., Weiss, D.M.: A Methodology for Collecting Valid Software Engineering Data. IEEE Transactions on Software Engineering 10(6) (1984)Google Scholar
  17. 17.
    Henry, S.M., Kafura, D.G.: Software Structure Metrics Based on Information Flow. IEEE Transactions on Software Engineering 7(5) (1981)Google Scholar
  18. 18.
    Shepperd, M., Ince, D.: Metrics, outlier analysis and the software design process. Information and Software Technology 31(2) (1989)Google Scholar
  19. 19.
    Lee, K., Lee, S.J.: A Quantitative Software Quality Evaluation Model for the Artifacts of Component Based Development. In: Proc. 6th International Conference on Software Engineering, Artificial Intelligence, Networking and Paralle/Distributed Computing, and 1st ACIS International Workshop on Self-Assembling Wireless Networks (2005)Google Scholar
  20. 20.
    Ashton, W.D.: The logit transformation with special reference to its uses in bioassay. Hafner Pub. Co. (1972)Google Scholar
  21. 21.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley (1994)Google Scholar
  22. 22.
    Karus, S., Gall, H.: A study of language usage evolution in open source software. In: 8th Working Conference on Mining Software Repositories, MSR (2011)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Hironori Washizaki
    • 1
    • 2
  • Toshikazu Koike
    • 3
  • Rieko Namiki
    • 4
  • Hiroyuki Tanabe
    • 4
  1. 1.Waseda UniversityShinjuku-kuJapan
  2. 2.GRACE Center of National Institute of InformaticsChiyoda-kuJapan
  3. 3.Yamaha CorporationHamamatsu-shiJapan
  4. 4.Ogis-RI Co., Ltd.Minato-kuJapan

Personalised recommendations