Top researchers debate whether any real progress has been made during the past decades and how to distinguish between good and bad software. This booklet allows the reader to compare and contrast dominant voices in software engineering. It may serve as an aid for lecturers in explaining to engineering students how to see the wood for the trees in the complicated field of software engineering. The researchers address concurrency, program verification, and the contradistinction between software today versus how it should be in the future. Is it possible to increase the level of abstraction without paying a price in program performance? What is the difference between engineering verification and real verification? What is the role of program specifications in today's development practice? Panelists: Barry Boehm, Manfred Broy, Erich Gamma, Michael A. Jackson, David L. Parnas, Niklaus Wirth, Pamela Zave, Yuri Gurevich, Rustan Leino, Bertrand Meyer, and Andreas Zeller.
This book features a collection of articles by software researchers and technologists whose contributions have shaped the field. It focuses on defining the achievements of software engineering in the past decades and showcasing visions for the future.