ncmagel@ndsuvax.UUCP (ken magel) (01/05/88)
In December I sent a request for comments on use of software complexity metrics and what demonstrations people would require to cause them to use metrics. This message summarizes the nine responses I have received. Before summarizing the responses, let me define some vocabulary. A program complexity metric is a single number or small set of numbers which represents how difficult some task is with the source code of a program. The most common metric is the number of lines of code. Tasks might include debugging, program modification, or program understanding. A software complexity metric is a single number or small set of numbers which represents how difficult some task is with the source code of a complete software system, usually consisting of several programs. A system complexity metric is a single number or small set of numbers which predict or measure how difficult some task is when done on either system requirements or specifications. Now to summarize the responses. Some people are using the cyclomatic complexity metric proposed by McCabe in the mid-1970's. Those people use the cutoff of 10 in the cyclomatic complexity which McCabe proposed. That is, if a program has a cyclomatic complexity greater than 10, the program must be rewritten. Several people requested system complexity metrics rather than program or software complexity metrics. They stated that the payoff would be much greater with system complexity metrics. The most common response, however, was a request to find out what complexity metrics were.