Incorporating Software Measurement Into a Compiler - Jamil Al Qutaish, Rafa Elayyan (1998)
In the area of software engineering, software measurement is not new, it was around 26 years since Halstead originally proposed a family of software measures, collectively known as software science. The magnitude of costs involved in software development and maintenance magnifies the need of a scientific foundation to support programming standards and management decisions by measurement. This research aims at developing a compiler for a subset of Pascal language in which an evaluation for a number of software metrics has been incorporated. Lex and Yacc have been used to generate the lexical analyser and syntax analyser for the proposed compiler. While the other components of the compiler and the metrics evaluation routines have been written in C language. The proposed compiler was implemented under Linux operating system. Three metrics have been incorporated to the proposed compiler, which are : Halstead's metrics, McCabe's metric, and Call-Graph metric. The software metrics will be produced in the common metrics format, which is used in SCOPE project. Attribute grammars have been used to build the proposed compiler to evaluate the software metrics in the parsing time of the compilation process and to use a well-defined approach to the software metrics evaluation process.