July 2009
Intermediate to advanced
544 pages
11h 24m
English
Once we have observed an infection during debugging, we need to discover its origin. In this chapter, we discuss omniscient debugging, a technique that records an entire execution history such that the user can explore arbitrary moments in time without ever restarting the program. Furthermore, we explore dynamic slicing, a technique that tracks the origins of specific values.
A common issue with observation tools, as discussed in Chapter 8, Observing Facts, is that they execute the program forward in time, whereas the programmer must reason backward in time. Applied to interactive debugging tools, this means that the programmer must carefully approach the moment in time where the infection ...
Read now
Unlock full access