ABSTRACT

This chapter presents a catalog of the known problems with software quality and with software quality measurements and metrics. The overall quality observations are based on the author's lifetime collection of quality data from 1976 through 2016, containing about 26,000 software projects. Newer programming languages have reduced code defects. Static analysis has raised defect removal efficiency, but because the bulk of software work circa 2016 is in renovation of legacy software, neither better languages nor static analysis have wide usage in legacy repairs. Indeed most static analysis tools do not support some of the older languages such as MUMPS, ALGOL 68, and JOVIAL, and so have no role in legacy renovation. Software quality measurements and metrics are so poor that over 70" of actual bugs are not measured or recorded. Very few companies or individual researchers know the total quantity of bugs in software.