A critique of cyclomatic complexity as a software metric
Software Engineering Journal
Design complexity measurement and testing
Communications of the ACM
Safeware: system safety and computers
Safeware: system safety and computers
Elements of Software Science (Operating and programming systems series)
Elements of Software Science (Operating and programming systems series)
Software safety: current status and future direction
ACM SIGSOFT Software Engineering Notes
Universal software safety standard
ACM SIGSOFT Software Engineering Notes
Pervasive and Mobile Computing
Hi-index | 0.00 |
This paper describes a simple mathematical algorithm to determine the complexity of software that includes control flow and data flow. Two techniques are analyzed using examples to determine the overall complexity. One of them computes the determinant of a square matrix represented as an N2 chart. The other technique that is new and proposed in this paper computes the sum of products of control flow and data flow. It is shown that the determinant value fluctuates randomly whereas the new sum of product is a monotonic function that increases systematically with increasing complexity. This complexity number can be used to determine the amount of effort (cost and time) required for development and verification of software and whether or not the software can be deployed to perform safety-critical functions with high assurance.