Abstract
Software metrics play an important role in the management of professional software projects. Metrics are used, e.g., to track development progress, to measure restructuring impact and to estimate code quality. They are most beneficial if they can be computed continuously at development time. This work presents a framework and an implementation for integrating metric computations into static program analysis. The contributions are a language and formal semantics for user-definable metrics, an implementation and integration in the existing static analysis tool , and a user-definable visualization approach to display metrics results. Moreover, we report our experiences on a case study of a popular open source code base.
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
Badri, L., Badri, M.: A proposal of a new class cohesion criterion: An empirical study. Journal of Object Technology 3(4), 145–159 (2004)
Clark, J., DeRose, S.: XML Path Language 1.0 (XPath). W3C (1999), http://www.w3.org/TR/xpath
Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press, Cambridge (1999)
Curtis, B., Sheppard, S.B., Milliman, P.: Third time charm: Stronger prediction of programmer performance by software complexity metrics. In: Proceedings of the Fourth International Conference on Software Engineering, pp. 356–360. IEEE Computer Society Press, Los Alamitos (1979)
Elshoff, J.: An analysis of some commercial PL/I programs. IEEE Transactions on Software Engineering SE-5(2), 113–120 (1976)
Fehnker, A., Huuck, R., Jayet, P., Lussenburg, M., Rauch, F.: Model Checking Software at Compile Time. In: Proceedings of the 1st International Symposium on Theoretical Aspects of Software Engineering, Shanghai, China (2007)
Ferzund, J., Ahsan, S.N., Wotawa, F.: Empirical evaluation of hunk metrics as bug predictors. In: Abran, A., Braungarten, R., Dumke, R.R., Cuadrado-Gallego, J.J., Brunekreef, J. (eds.) IWSM 2009. LNCS, vol. 5891, pp. 242–254. Springer, Heidelberg (2009)
IBM: In pursuit of code quality: Code quality for software architects, Website http://www.ibm.com/developerworks/java/library/j-cq04256/ (visited on February 3, 2010)
IEEE: IEEE Standard for a Software Quality Metrics Methodology. Institute of Electrical and Electronics Engineers (1061)
Martin, R.C.: Agile software development: principles, patterns, and practices. Alan Apt series. Prentice-Hall, Englewood Cliffs (2003)
McCabe, T.J.: A complexity measure. IEEE Transactions on Software Engineering 2(4), 308–320 (1976)
McConnell, S.: Code Complete: A Practical Handbook of Software Construction. Microsoft Press, Redmond (1993)
Misra, S.C., Bhavsar, V.C.: Relationships between selected software measures and latent bug-density: Guidelines for improving quality. In: Kumar, V., Gavrilova, M.L., Tan, C.J.K., L’Ecuyer, P. (eds.) ICCSA 2003. LNCS, vol. 2667, pp. 724–732. Springer, Heidelberg (2003)
Nagappan, N., Ball, T., Zeller, A.: Mining metrics to predict component failures. In: ICSE 2006: Proceedings of the 28th International Conference on Software Engineering, pp. 452–461. ACM, New York (2006)
The Standish Group: Chaos report (2009), Website http://www1.standishgroup.com/newsroom/chaos_2009.php (visited on February 25, 2010)
Vistein, M., Ortmeier, F., Reif, W., Huuck, R., Fehnker, A.: An abstract specification language for static program analysis. Electr. Notes Theor. Comput. Sci. 254, 181–197 (2009)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Vogelsang, A., Fehnker, A., Huuck, R., Reif, W. (2010). Software Metrics in Static Program Analysis. In: Dong, J.S., Zhu, H. (eds) Formal Methods and Software Engineering. ICFEM 2010. Lecture Notes in Computer Science, vol 6447. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-16901-4_32
Download citation
DOI: https://doi.org/10.1007/978-3-642-16901-4_32
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-16900-7
Online ISBN: 978-3-642-16901-4
eBook Packages: Computer ScienceComputer Science (R0)