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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Poulin, J.S.: Measuring Software Reuse: Principles, Practices, and Economic Models. Addison-Wesley (1996)
ISO/IEC 9126-1: 2001, Information technology – Software product evaluation: Quality Characteristics and Guidelines for their use (2001)
DeMarco, T.: Controlling Software Projects: Management, Measurement & Estimation. Yourdon Press (1982)
Fenton, N., Whitty, R., Iizuka, Y.: Software Quality Assurance and Measurement: A Worldwide Perspective. Thomson Computer Press (1995)
Laird, L.M., Carol Brennan, M.: Software Measurement and Estimation: A Practical Approach. John Wiley & Sons (2006)
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)
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)
Kanno, A., Yoshizawa, T.: Techniques for Assuring Software Quality towards 21st Century. JUSE Press, Ltd. (1994)
Sindre, G., Conradi, R., Karlsson, E.-A.: The REBOOT Approach to Software Reuse. Journal of Systems and Software 30(3) (1995)
Frakes, W., Carol, T.: Software Reuse: Metrics and Models. ACM Computing Surveys 28(2), 415–435 (1996)
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)
Nakajima, S., Suguta, S., Hotta, Y.: Evaluation of Metrics for Reuse of C++. In: Object-Oriented Symposium (1998)
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)
Hirayama, M., Sato, M.: Evaluation of Usability of Software Components. IPSJ Journal 45(6), 1569–1583 (2004)
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)
Basili, V.R., Weiss, D.M.: A Methodology for Collecting Valid Software Engineering Data. IEEE Transactions on Software Engineering 10(6) (1984)
Henry, S.M., Kafura, D.G.: Software Structure Metrics Based on Information Flow. IEEE Transactions on Software Engineering 7(5) (1981)
Shepperd, M., Ince, D.: Metrics, outlier analysis and the software design process. Information and Software Technology 31(2) (1989)
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)
Ashton, W.D.: The logit transformation with special reference to its uses in bioassay. Hafner Pub. Co. (1972)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley (1994)
Karus, S., Gall, H.: A study of language usage evolution in open source software. In: 8th Working Conference on Mining Software Repositories, MSR (2011)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Washizaki, H., Koike, T., Namiki, R., Tanabe, H. (2012). Reusability Metrics for Program Source Code Written in C Language and Their Evaluation. In: Dieste, O., Jedlitschka, A., Juristo, N. (eds) Product-Focused Software Process Improvement. PROFES 2012. Lecture Notes in Computer Science, vol 7343. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-31063-8_8
Download citation
DOI: https://doi.org/10.1007/978-3-642-31063-8_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-31062-1
Online ISBN: 978-3-642-31063-8
eBook Packages: Computer ScienceComputer Science (R0)