Although originally a geophysicist, a career for which he was awarded the 1987 Conrad Schlumberger Award for his work in computational geophysics, he switched careers in the early 1990s to study software and systems failure. He has published 4 books and over 100 refereed journal publications and his theoretical and experimental work on software systems failure can be found in IEEE Transactions on Software Engineering, IEEE Computer, IEEE Software, Nature, and IEEE Computational Science and Engineering. His book Safer C pioneered the use of safer language subsets in commercial embedded control systems. He was also cited amongst the leading scholars of systems and software engineering by the Journal of Systems and Software for the period 1997–2001.