Medical science made major advances in Europe in the nineteenth century, and so did the quality of European life. It is arguable, though, that the increased quality of life had more to do with the diligent application of soap and sewers than with great scientific breakthroughs. Charles Leiserson and his colleagues have made major advances in the science of computing that have revolutionized the practice of the field. As a birthday gift to Charles, this talk offers an area in need of the kind of definition, insight, and solutions that have characterized his career for the past four decades. A performance bug is a minor glitch that does not alter the correctness of a program but does cause the program to consume excessive resources. This talk surveys several such bugs, and proposes some root causes and a few simple techniques for avoiding them and finding those that slip through. I offer this as an important challenge within the field of performance engineering that Charles has so masterfully shaped.
Soap and Sewers and Science and Software
Speaker’s Biography
Jon Bentley’s research interests include programming techniques, algorithm design, and the design of software tools and interfaces. He has written over two hundred articles on a variety of topics, ranging from the theory of algorithms to software engineering. His books include Writing Efficient Programs (1982) and Programming Pearls (2nd Edition 2000). He received a B.S. from Stanford in 1974 and an M.S. and Ph.D. from the University of North Carolina in 1976, then taught Computer Science at Carnegie Mellon for six years. He joined Bell Labs Research in 1982, and retired in 2001 to join Avaya Labs Research, from which he retired in 2013. He has been a visiting faculty member at West Point and Princeton, and has been a member of teams that have shipped software tools, telephone switches, telephones and web services.