Static analysis of novice student C++ programs

Date

1998-05

Journal Title

Journal ISSN

Volume Title

Publisher

Texas Tech University

Abstract

The primary objective of the thesis research is to help to improve the instruction quality for the Computer Science Department's CS 1462 Fundamentals of Computer Science I course at Texas Tech University. Improving the instructional quality means making changes in the method/mode of instruction so that the students become better programmers. Two among many features identified as necessary for a good programmer. are the ability to write programs with good understandability and good quality. Therefore, understandability and quality are the two attributes of the student programs which are measured to achieve the final objective.

To achieve the above objective, 90 programs were chosen from the class for analysis. An estimate of the quality and the understandability of the programs was made by visual inspection of the code. These values were used as output variables for performing linear and multivariate regression analysis on the collected metrics, such as McCabe's cyclomatic complexity, number of functions, average statement size, and documentation per statement. Significant correlations were found among the metrics and the quality and understandability rankings of the programs. The results may be used by instructors to assess student programs and by students to compare themselves to programs rated with higher quality and understandability rankings.

Description

Citation