Computer Laboratory Home Page Search A-Z Directory Help
University of Cambridge Home Computer Laboratory
October 31st 2002
Computer Laboratory > Research > Systems Research Group > NetOS > Seminars > October 31st 2002

Pervasive debugging

Tim Harris
Nobody would claim that debugging computer software is easy: all too often it proceeds by trial-and-error experiments in which programmers examine the behaviour of the system and form hypotheses that could explain what they see. These problems are exacerbated when developing distributed, peer-to-peer or multi-processor applications, or when unreliable network links form part of the system under test. Environments for 'pervasive computing' -- such as the Xenoservers project -- take this to an extreme, allowing user-supplied code to run or migrate within and around the network. In this talk I'll be describing some work we've been doing on how to perform 'pervasive debugging', enabling complex multi-process applications to be debugged and controlled as single entities and their robustness to changes in network performance to be evaluated. We do this by virtualizing the resources used by the system, allowing the threads that it involves and the network links that it uses to be modelled within a single controllable process.