Halstead complexity measures are software metrics indroduced by Maurice Howard Halstead in 1977. These metrics are computed statically, without program execution.
Calculation
First we need to compute the following numbers, given the program:
- = the number of distinct operators
- = the number of distinct operands
- = the total number of operators
- = the total number of operands
From these numbers, five measures can be calculated:
- Program length:
- Program vocabulary:
- Volume:
- Difficulty :
- Effort:
The difficulty measure is related to the difficulty of the program to write or understand, e.g. when doing code review.