scispace - formally typeset
Search or ask a question

Showing papers on "Halstead complexity measures published in 1981"


Journal ArticleDOI
TL;DR: This paper defines and validates a set of software metrics which are appropriate for evaluating the structure of large-scale systems and can be interpreted to reveal various types of structural flaws in the design and implementation.
Abstract: Structured design methodologies provide a disciplined and organized guide to the construction of software systems. However, while the methodology structures and documents the points at which design decisions are made, it does not provide a specific, quantitative basis for making these decisions. Typically, the designers' only guidelines are qualitative, perhaps even vague, principles such as "functionality," "data transparency," or "clarity." This paper, like several recent publications, defines and validates a set of software metrics which are appropriate for evaluating the structure of large-scale systems. These metrics are based on the measurement of information flow between system components. Specific metrics are defined for procedure complexity, module complexity, and module coupling. The validation, using the source code for the UNIX operating system, shows that the complexity measures are strongly correlated with the occurrence of changes. Further, the metrics for procedures and modules can be interpreted to reveal various types of structural flaws in the design and implementation.

830 citations


Journal ArticleDOI
01 Jan 1981
TL;DR: The primary result of this study is that Halstead's and McCabe's metrics are highly correlated while the information flow metric appears to be an independent measure of complexity.
Abstract: Automatable metrics of software quality appear to have numerous advantages in the design, construction and maintenance of software systems. While numerous such metrics have been defined, and several of them have been validated on actual systems, significant work remains to be done to establish the relationships among these metrics. This paper reports the results of correlation studies made among three complexity metrics which were applied to the same software system. The three complexity metrics used were Halstead's effort, McCabe's cyclomatic complexity and Henry and Kafura's information flow complexity. The common software system was the UNIX operating system. The primary result of this study is that Halstead's and McCabe's metrics are highly correlated while the information flow metric appears to be an independent measure of complexity.

94 citations


Proceedings ArticleDOI
09 Mar 1981
TL;DR: Application of complexity measures to software development management is discussed and a method for the detection of anomalous modules in a program is proposed.
Abstract: The program complexity measure currently seems to be the most capable measure for both quantitative and objective control of the software project. Five program complexity measures (step count, McCabe's V(G), Halstead's E, Weighted Statement Count and Process V(G)) were assessed from such a viewpoint. This empirical study was done with the data collected through a practical software project. All of these measures have highly significant correlations with the management data. Application of complexity measures to software development management is discussed and a method for the detection of anomalous modules in a program is proposed.

39 citations


Journal ArticleDOI
01 Jan 1981
TL;DR: A number of metrics that attempt to measure the effort or complexity in developing and understanding software and how these metrics relate to each other are examined.
Abstract: There has appeared in the literature a great number of metrics that attempt to measure the effort or complexity in developing and understanding software(1). There have also been several attempts to independently validate these measures on data from different organizations gathered by different people(2). These metrics have many purposes. They can be used to evaluate the software development process or the software product. They can be used to estimate the cost and quality of the product. They can also be used during development and evolution of the software to monitor the stability and quality of the product.Among the most popular metrics have been the software science metrics of Halstead, and the cyclomatic complexity metric of McCabe. One question is whether these metrics actually measure such things as effort and complexity. One measure of effort may be the time required to produce a product. One measure of complexity might be the number of errors made during the development of a product. A second question is how these metrics compare with standard size measures, such as the number of source lines or the number of executable statements, i.e., do they do a better job of predicting the effort or the number of errors? Lastly, how do these metrics relate to each other?

31 citations


Journal ArticleDOI
TL;DR: An empirical study designed to compare two objective metrics, McCabe's cyclomatic number v(G) and Halstead's effort measure E, with a classic size measure, lines of code and shows a fourth metric based on a model of programming to be better than the previously known metrics for some experimental data.

31 citations


Journal ArticleDOI
01 Jan 1981
TL;DR: Analysis of the metric data indicates that the level of the switching language was not constant across algorithma and that software error data was not a linear function of volume.
Abstract: This paper describes an application of Maurice Halstead's software theory to a real time switching system. The Halstead metrics and the software tool developed for computing them are discussed. Analysis of the metric data indicates that the level of the switching language was not constant across algorithma and that software error data was not a linear function of volume.

29 citations


Journal ArticleDOI
01 Sep 1981
TL;DR: The theory providing this measure to some extent has been developed by M.H. Halstead is applied to a set of APL defined functions and the results are compared with those obtained by Halstead for other languages.
Abstract: The increasing complexity of computer programs and of the development of systems creates an ever growing need of objective methods for measuring the quality of software. A theory providing this measure to some extent has been developed in the last decade by M.H. Halstead. The only parameters in the developed formulae are the number of operators and the number of operands in the routines. Numerous statistical studies have shown a relatively good correlation between theory and experimental results. The theory is applied in this paper to a set of APL defined functions and the results are compared with those obtained by Halstead for other languages.

7 citations