The software industry has achieved a bad reputation for poor software quality. In part this reputation is deserved, and is due to reliance upon testing without pre-test inspections or static analysis.

Most forms of are only about 35% efficient or find about one bug out of three. This is why six to eight different kinds of testing are needed. Formal inspections of requirements, design, and code have been measured for more than 50 years and these methods achieve defect removal efficiency levels approaching 85%.

A new form of defect removal called "static analysis" has been added to the set of defect removal methods. There are many static analysis tools and they vary in effectiveness from about 40% to more than 80% of code bugs. However static analysis tools only work for about 25 programming languages out of a global total of 2,500 programming languages. At least one static analysis tool also operates on natural language test, and therefore can be used to find defects in requirements, design, and other text documents.

A synergistic combination of the formal inspections, static analysis, and formal testing can achieve combined defect removal efficiency level of 99%. Better, this synergistic combination will lower development costs and schedules and reduce technical debt by more than 80% compared to testing alone.


Download the white paper