As someone observed, in most states you need
a license to cut hair, but not to write software, even for medical and military systems! Computing professionals
must shoulder their ethical burden and use every means at their disposal to insure their systems are correctly
specified and implemented.
Testing is important, but it is not enough. Any system of reasonable complexity will be impossible to test
exhaustively. Many authorities have made this point. For example, Jeffrey Voas of the Defense Advanced Research
Projects Agency (1998, http://www.stsc.hill.af.mil/crosstalk/1998/11/voas.asp) cites, ???the many practical and
theoretical deficiencies of software testing.??? In addition to testing, developers need to use best practices throughout
specification and creation of their systems, and to perform their work with the utmost conscientiousness.
The ACM Code of Ethics again provides guidance:
1.2 Avoid harm to others... computing professionals must minimize malfunctions by following generally
accepted standards for system design and testing...
2.1 Strive to achieve the highest quality, effectiveness... in both the process and products of professional work.
2.2 Acquire and maintain professional competence.
Pages:
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491