APL and Halstead's theory: A measuring tool and some experiments

  • Authors:
  • Timo Laurmaa;Markku Syrjänen

  • Affiliations:
  • -;-

  • Venue:
  • SCORE '82 Selected papers of the 1982 ACM SIGMETRICS workshop on Software metrics: part 2
  • Year:
  • 1982

Quantified Score

Hi-index 0.00

Visualization

Abstract

We have designed and implemented an algorithm which measures APL-programs in the sense of software science by M.H. Halstead /1/. The reader is assumed to be familiar with the theories of software science. Our purpose has been to find the best possible algorithm to automatically analyse large quantities of APL-programs. We have also used our measuring tool to make some experiments to find out if APL-programs and workspaces obey the laws of software science or not. Becasue our purpose was to analyse large quantities, i.e. hundreds of programs we have not implemented an algorithm, which gives exactly correct results from software science point of view, because this would necessitate manual clues to the analysing algorithm and thus an interactive mode of analysis. Instead of it we have strived for a tool, which carries out the analysis automatically and as correctly as possible. In the next section some difficulties encountered in the design of the measuring algorithm and some inherent limitations of it are discussed. Section 3 summarises the sources of errors in the analysis carried out by our algorithm, while section 4 gives a more detailed description of the way analysis is carried out. The remaining sections of this paper report on some experiments we have carried out using our measuring tool. The purpose of these experiments has been to evaluate the explaining power of Halstead's theory in connection of APL-programs. However, no attempt has been made to process the results of the experiments statistically. The results of the experiments have been treated here only when 'obvious' (in)compatibilities between the theory and the results have been observed. Possible reasons for the (in)compatibilities are also pointed out.