Towards a whole-program run-time infrastructure (or: Dynamism is debugging)

Staff - Faculty of Informatics

Start date: 9 December 2011

End date: 10 December 2011

The Faculty of Informatics is pleased to announce a seminar given by Stephen Kell

DATE: Friday, December 9th, 2011
PLACE: USI Università della Svizzera italiana, room CC-250, Main building (Via G. Buffi 13)
TIME: 13.30

Having a wide selection of programming languages to choose from ought to be a boon to developers. Instead, the consequent fragmentation of tool and library support arguably causes the opposite to be true. In this talk I describe some work, mostly ongoing, towards improving this situation. Firstly, I will describe DwarfPython, an ongoing implementation of Python with two goals: reducing FFI coding overheads, and allowing direct use of native debugging tools (gdb, valgrind, etc.) on Python code. Secondly, I will describe some infrastructure supporting DwarfPython, including memtables, a fast associative data structure, and libcrunch, a language-agnostic run-time type checker. Finally, I will consider what it means to provide both static and dynamic guarantees concerning such a run-time system, and outline two complementary analysis approaches, both of which blur the distinction between static and dynamic analysis.

Stephen Kell is a postdoctoral research assistant at the University of Oxford. His interests span the design and implementation of programming languages, operating systems, bug-finding and verification techniques for software, and other areas. During 2005--10 he was at the University of Cambridge in the Networks and Operating Systems group. His PhD centred on Cake, a special-purpose language for adapting between mismatched software interfaces at the object code level. Since moving to the Verification group in Oxford he has been trying to learn something about program analysis and verification, while retaining a practical research focus on programming and tools.

HOST: Prof. Matthias Hauswirth