Dependable software needs pervasive debugging

Timothy L. Harris · 2002

Nobody would claim that debugging computer software is easy: all too often it proceeds by trial-and-error experi-ments in which programmers examine the behaviour of the system and form hypotheses that could explain what they see. These problems are exacerbated when developing dis-tributed, peer-to-peer or multi-processor applications, or when unreliable network links form part of the system un-der test. Environments for pervasive computing take this to an extreme, allowing user-supplied code to run or migrate within and around the network. In this paper we show how to perform pervasive debug-ging, enabling complex multi-process applications to be de-bugged and controlled as single entities and their robust-ness 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 pro-cess. 1

Read the paper · More papers on PaperTik