- Library Home /
- Search Collections /
- Open Collections /
- Browse Collections /
- UBC Theses and Dissertations /
- Execution backtracking using reverse execution of machine...
Open Collections
UBC Theses and Dissertations
UBC Theses and Dissertations
Execution backtracking using reverse execution of machine code Noorkami, Paria
Abstract
Execution backtracking is the process of restoring the state of a program to an arbitrary point earlier in its execution history. It is used to facilitate program debugging. In this thesis, a novel execution backtracking approach is developed and implemented to assist the task of debugging software. The approach is demonstrated for structured C programs and exploits backtracking the program at machine code level. The approach has a lower run-time overhead than the existing approaches. The execution backtracking approach is integrated with a diagnosis test bed that consists of a symbolic debugger, a C cross-compiler, a virtual machine and a symbolic reasoner. A symbolic debugger is used to debug the target executable which is instrumented with a C cross-compiler. Relative advantages of the approach is that it is language independent, it is able to backtrack in presence of pointer operations, and it supports true execution replay and dynamic slicing. A relative disadvantage of the approach is that it is only able to partially restore a program's data state.
Item Metadata
Title |
Execution backtracking using reverse execution of machine code
|
Creator | |
Publisher |
University of British Columbia
|
Date Issued |
1999
|
Description |
Execution backtracking is the process of restoring the state of a program to an
arbitrary point earlier in its execution history. It is used to facilitate program debugging.
In this thesis, a novel execution backtracking approach is developed and
implemented to assist the task of debugging software. The approach is demonstrated
for structured C programs and exploits backtracking the program at machine code
level. The approach has a lower run-time overhead than the existing approaches.
The execution backtracking approach is integrated with a diagnosis test bed
that consists of a symbolic debugger, a C cross-compiler, a virtual machine and a
symbolic reasoner. A symbolic debugger is used to debug the target executable which
is instrumented with a C cross-compiler. Relative advantages of the approach is that
it is language independent, it is able to backtrack in presence of pointer operations,
and it supports true execution replay and dynamic slicing. A relative disadvantage
of the approach is that it is only able to partially restore a program's data state.
|
Extent |
3166552 bytes
|
Genre | |
Type | |
File Format |
application/pdf
|
Language |
eng
|
Date Available |
2009-06-26
|
Provider |
Vancouver : University of British Columbia Library
|
Rights |
For non-commercial purposes only, such as research, private study and education. Additional conditions apply, see Terms of Use https://open.library.ubc.ca/terms_of_use.
|
DOI |
10.14288/1.0065331
|
URI | |
Degree | |
Program | |
Affiliation | |
Degree Grantor |
University of British Columbia
|
Graduation Date |
1999-11
|
Campus | |
Scholarly Level |
Graduate
|
Aggregated Source Repository |
DSpace
|
Item Media
Item Citations and Data
Rights
For non-commercial purposes only, such as research, private study and education. Additional conditions apply, see Terms of Use https://open.library.ubc.ca/terms_of_use.