Date of Award


Document Type


Degree Name

Master of Science (MS)

Legacy Department

Computer Science

Committee Member

Dr. Brian Malloy, Committee Chair

Committee Member

Dr. Joshua Levine

Committee Member

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.



To view the content in your browser, please download Adobe Reader or, alternately,
you may Download the file to your hard drive.

NOTE: The latest versions of Adobe Reader do not support viewing PDF files within Firefox on Mac OS and if you are using a modern (Intel) Mac, there is no official plugin for viewing PDF files within the browser window.