SCS DISTINGUISHED ALUMNI LECTURE

Thursday, 15 October 1998


David Parnas
Prof. David Lorge Parnas, P.Eng.
NSERC/Bell Industrial Research Chair in Software Engineering
Director of the Software Engineering Programme
Department of Computing and Software
Communications Research Laboratory, McMaster University


Software Inspections We Can Trust

4:00 pm, Wean Hall 7500

3:45 pm - Refreshments Outside Wean Hall 7500


ABSTRACT
Software is devilishly hard to inspect. Serious errors can hide for years. Consequently, many are hesitant to employ software in safety-critical applications and all companies are finding the cost of correcting and improving software to be an increasing burden.

This talk describes a procedure for inspecting software that consistently finds subtle errors in software that was believed to be correct. The procedure is based on four key ideas:

  • All software reviewers actively use the code.
  • Reviewers exploit the hierarchical structure of the code rather than proceeding sequentially through the code.
  • Reviewers focus on small sections of code, producing precise summaries that are used when inspecting other such sections.
  • Reviewers proceed systematically so that no case, and no section of the program, gets overlooked.
During the procedure, the inspectors produce and review mathematical documentation. The mathematics allows them to check for complete coverage; tabular notation allows the work to proceed in small systematic steps. The procedure was originally developed and used to inspect safety-critical software in a nuclear power plant, and then improved based on that experience.

SPEAKER BIO
Dr. David Lorge Parnas is the holder of the NSERC/Bell Industrial Research Chair in Software Engineering in the Department of Electrical and Computer Engineering at McMaster University in Hamilton, Ontario. He is a member of the Communications Research Laboratory and Principal Investigator for the Telecommunications Research Institute of Ontario. He has been Professor at the University of Victoria, the Technische Hochschule Darmstadt, the University of North Carolina at Chapel Hill, Carnegie Mellon University and the University of Maryland. He has also held non-academic positions advising Philips Computer Industry (Apeldoorn), the United States Naval Research Laboratory in Washington, D.C. and the IBM Federal Systems Division. At NRL, he instigated the Software Cost Reduction (A-7) Project, which developed and applied software technology to aircraft weapon systems. He has advised the Atomic Energy Control Board of Canada on the use of safety-critical real-time software at the Darlington Nuclear Generation Station.

The author of more than 180 papers and reports, Dr. Parnas is interested in most aspects of computer system design. His special interests include precise specifications, real-time systems, safety-critical software, program semantics, language design, software structure, and synchronisation. Dr. Parnas seeks to find a "middle road" between theory and practice, emphasising theory that can be applied to improve the quality of our products.

Professor Parnas received his Ph.D. in Electrical Engineering from Carnegie-Mellon University, and an honorary doctorate from the ETH in Zurich. He won an ACM "Best Paper" Award in 1979, and two "Most Influential Paper" awards from the International Conference on Software Engineering. He is a Fellow of the Royal Society of Canada and a Fellow of the Association for Computing Machinery (ACM).

Dr. Parnas has contributed a number of fundamental concepts to the field of software engineering. He became well-known outside of his profession when he resigned from a committee advising the "Star Wars" Project, explaining why he felt that the project was fraudulent and dangerous. In the three years following his resignation from that Star Wars committee he gave more than 150 talks explaining why software problems would make President Reagan's dream project a nightmare for the world.

Deeply concerned that technology be applied to the benefit of society, he was the first winner of the "Norbert Wiener Award for Professional and Social Responsibility" (awarded by Computing Professionals for Social Responsibility) and has been President of the Canadian group "Science for Peace" and an officer of Canadian Pugwash.

SCS Distinguished Lecture Schedule
SCS Calendar of Events