ACM Home Page
Please provide us with feedback. Feedback
Digital Library logoTake a look at the new version of this page: [ beta version ]. Tell us what you think.
A measurement of structure for unstructured programming languages
Full text PdfPdf (645 KB)
Source Proceedings of the software quality assurance workshop on Functional and performance issues table of contents
Pages: 140 - 147  
Year of Publication: 1978
Also published in ...
Author
Sponsors
SIGSOFT: ACM Special Interest Group on Software Engineering
SIGMETRICS: ACM Special Interest Group on Measurement and Evaluation
Bibliometrics
Downloads (6 Weeks): 1,   Downloads (12 Months): 14,   Citation Count: 4
Additional Information:

abstract   references   cited by   index terms  

Tools and Actions: Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/800283.811114
What is a DOI?

ABSTRACT

Software Science is a field of Natural Science which deals with the development of measurements which reveal properties of software programs. These measurements are qualified as to their degree of correlation to human beings being able to construct or understand a subject program. Maurice Halstead has pioneered much of the theories in this field ((5) through (10)), which applies statistical and psychological testing techniques to the evaluation of the measurements. The basic inputs to the Halstead predictors are easily measured: the number of distinct operators and operands, and the number of occurrences of the operators and operands. Due to the statistical nature of the measurements, there can be erroneous results when applying them to small sample spaces. However, the predictors are very adequate when applied to large samples, that is, large software systems. In an excellent review article by Fitzsimmons and Love (4), it is pointed out that several of the estimators defined by Halstead assumed that the subject programs were well-structured, and inaccurancy in the predictors can result if they are applied to "unpolished" programs. In fact, Halstead qualified six classes of impurities in code which can cause the length predictor to be inaccurate. The definition of volume for software, another predictor introduced in Halstead's book, is related to the level of the specification of the program. An algorithm which is written in assembly language will have a greater volume than the same algorithm written in Pascal, due to the richness of the semantic constructs that are available in the higher-level languages. Hence, this predictor is language dependent.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Roger Bate and George Ligler, "A Software Development Methodology: Issues, Techniques, and Tools," Proceedings of the 11th Hawaiian International Conference on System Sciences, Honolulu (January 1978), pages 40-44.
 
2
E. W. Dijkstra, "Structured Programming," Software Engineering Techniques, NATO Scientific Affairs Division, Brussels 39, Belgium, published in January 1969, pages 84-88.
 
3
Edward Ferguson and George Ligler, "The TI Pascal System: Run-time Support," Proceedings of the 11th Hawaiian International Conference on Software Sciences, Honolulu (January 1978), pages 92-96.
4
5
 
6
Maurice H. Halstead, "A Theoritical Relationship Between Mental Work and Machine Language Programming," CSD-TR 67, Purdue University, Lafayette, Indiana, May 1972.
7
 
8
Maurice H. Halstead, "Software Physics: Basic Principles," IBM Research Journal, No. 1582, IBM Research, Yorktown Heights, New York, 1975.
 
9
Maurice H. Halstead, "Using the Methodology of Natural Science to Understand Software," CDS-TR 190, Purdue University, Lafayette, Indiana, 1976.
 
10
11
 
12
R. M. Karp, "A Note on the Application of Graph Theory to Digital Computer Programming," Inform. Contr., Vol. 3 (1960), pages 179-190.
 
13
Thomas J. McCabe, "A Complexity Measure," IEEE Transactions on Software Engineering, Vol. SE-2, No. 4 (December 1976), pages 308-320.
 
14
G. A. Miller, "The Magical Number Seven, Plus-or-minus Two: Some Limits on Our Capacity for Processing Information," Psychological Review, Vol. 63, No. 2 (March 1956), pages 81-97.
 
15
16
 
17
Michael Paige and J. P. Benson, "The Use of Software Probes in Testing Fortran Programs", Computer (July 1974), pages 40-47.
18
 
19
"Process Design Methodology," Vol. 1, Process Design Language Specifications, Texas Instruments Incorporated, Huntsville, Alabama, April 1976.
 
20
N. F. Schneidewind and H. M. Hoffman, "An Experiment in Software Error Data Collection and Analysis," Proceedings of the 6th Texas Conference on Computing Systems, Austin, Texas (November 1977), pages 4A-1 -4A-12.
 
21