Publication | Closed Access
Using events to debug Java programs backwards in time
17
Citations
2
References
2003
Year
Unknown Venue
Software MaintenanceEngineeringSoftware EngineeringSoftware AnalysisJava Programs BackwardsInformation RetrievalData ScienceComplex Event ProcessingCompilersEvent QueriesEvent ProcessingRuntime VerificationInteresting StateComputer EngineeringOmniscient DebuggerComputer ScienceDebuggerReal-time JavaStatic Program AnalysisSoftware DesignProgram AnalysisSoftware TestingFormal Methods
An "Omniscient Debugger" works by recording all state changes in the run of a program, and then allowing the programmer to explore the history of that program - effectively going "backwards in time." Event analysis debuggers work by observing events as they occur, and allowing the programmer to write queries which will pause the program when matched - effectively highly sophisticated breakpoints.Recently we have integrated the two techniques to produce an omniscient debugger which can use event queries to search the history of a program interactively. The query mechanism is designed along the lines of an EMACS incremental search, where the query is typed into a "minibuffer" at the bottom of the debugger window, and the commands "next match" and "previous match" are single keystrokes. The result is instantaneous feedback with no danger of missing an interesting state by going too far.
| Year | Citations | |
|---|---|---|
Page 1
Page 1