Halstead's theory of software science is used to describe the compilation process and generate a compiler performance index. A nonlinear model of compile time is estimated for four Ada compilers. A fundamental relation between compile time and program modularity is proposed. Issues considered include data collection procedures, the development of a counting strategy, the analysis of the complexity measures used, and the investigation of significant relationships between program characteristics and compile time. The results suggest that the model has a high predictive power and provides interesting insights into compiler performance phenomena. The research suggests that the discrimination rate of a compiler is a valuable performance index and is preferred to average compile time statistics.
A software science counting strategy is defined for the Ada* programming language. Two initial approaches, one based on intuition and the other based on trial-and-error, prove unsatisfactory. The third, based on the BNF description of Ada, leads to a satisfactory counting strategy. In contrast to most software science counting strategies, ones that consider only executable code, this strategy provides rules for classifying tokens in an entire Ada program, including declarations, as operators and operands.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.