|
Science is the basis for every field of engineering -- except software engineering. Software obeys no physical laws, not because our discipline is immature, but as an intrinsic property. Software is therefore given the hard problems to solve, because other technologies are limited; and, the software designer finds it hard to tell a good design from a bad one. What software engineers need is a way to say `no' to impossible requirements.
Dick Hamlet is Professor of Computer Science at Portland State University. He has been active in software development and research for more than 30 years, as a programmer, manager, teacher, and researcher. He was a member of the software engineering research group at the University of Maryland for 12 years, a visiting lecturer at University of Melbourne in 1982, and a Fulbright scholar at National University of Ireland, Galway, in 1998-99. He is the author of three textbooks and more than 50 refereed conference and journal publications. He has implemented major software systems for two programming languages, the first mutation testing system, a transportable image-processing system, and a prototyping system for testing tools.He holds a BS (electrical engineering) from the University of Wisconsin, MS (engineering physics) from Cornell, and PhD (computer science) from the University of Washington. Currently he is investigating the theoretical foundations of testing, and is principal investigator on a National Science Foundation grant to study the reliability of systems built from software components.