Why are computers so @#!*, and what can we do about it?

Presented at 31C3 (2014), Dec. 30, 2014, 12:45 p.m. (60 minutes)

Computers have become ubiquitous and essential, but they remain massively error-prone and insecure - as if we were back in the early days of the industrial revolution, with steam engines exploding left, right, and centre. Why is this, and can we do better? Is it science, engineering, craft, or bodgery? I'll talk about attempts to mix better engineering methods from a cocktail of empiricism and logic, with examples from network protocols, programming languages, and (especially) the concurrency behaviour of programming languages and multiprocessors (from the ARMs in your phone to x86 and IBM Power servers), together with dealings with architects and language standards groups. For more details of the underlying research and the many people who have contributed, see: http://www.cl.cam.ac.uk/~pes20/

Presenters:

  • Peter Sewell
    Peter Sewell is a Professor of Computer Science and EPSRC Leadership Fellow at the University of Cambridge Computer Laboratory. His research aims at establishing mathematically rigorous foundations for the engineering of real-world computer systems, to make them better-understood, more robust, and more secure. He and his colleagues have recently focussed on the relaxed-memory concurrency models of multiprocessors and concurrent languages (x86, ARM, IBM Power, and C/C++11), on verified compilation of concurrency (CompCertTSO and the concurrency compilation schemes from C/C++11 to x86, Power, and ARM), and on tools for applied semantics. He has also worked on programming languages, network protocols, security, and concurrency theory.

Links:

Similar Presentations: