Date of Award
Master of Science (MS)
Dr. Brian Malloy, Committee Chair
Dr. Joshua Levine
Dr. Sekou Remy
Software code metrics provide a quantitative and qualitative measurement of a software component's ability to perform under a specific set of objectives. Different metrics have been developed for analyzing various aspects of the source code to gain insight into the overall quality of the code under study. There are a variety of open source tools available for computing metrics for applications coded in most of the popular programming languages. However, there is no single tool that computes software metrics for the popular programming languages in use today. To address this problem, we describe an approach to software metric computation that can be applied to the popular programming languages currently in use, including both compiled and interpreted languages. The approach entails leveraging existing parser tools to produce a generalized abstract syntax tree that captures the important syntactic categories required for metric computation. To demonstrate the utility of our approach, we exploit front-end parser tools for the Python and C++ programming languages to produce a generalized abstract syntax tree and then compute software metrics as a form of tree traversal. We describe our results for applying two commonly used metrics to three open source software projects and various code samples written in both Python and C++. The context of this process is then extended to computer programming education, with the specific goal of helping students and programmers improve the quality of their code.
McNellis, Zachary, "Construction of a Generic Program Representation for Automated Metric Computation" (2016). All Theses. 2341.