Title :
A fast assembly level reverse execution method via dynamic slicing
Author :
Akgul, Tankut ; Mooney, Vincent J., III ; Pande, Santosh
Author_Institution :
Sch. of Electr. & Comput. Eng., Georgia Inst. of Technol., Atlanta, GA, USA
Abstract :
One of the most time consuming parts of debugging is trying to locate a bug. In this context, there are two powerful debugging aids which shorten debug time considerably: reverse execution and dynamic slicing. Reverse execution eliminates the need for repetitive program restarts every time a bug location is missed. Dynamic slicing, on the other hand, isolates code parts that influence an erroneous variable at a program point. In this paper, we present an approach which provides assembly level reverse execution along a dynamic slice. In this way, a programmer not only can find the instructions relevant to a bug, but also can obtain runtime values of variables in a dynamic slice while traversing the slice backwards in execution history. Reverse execution along a dynamic slice skips recovering unnecessary program state; therefore, it is potentially faster than full-scale reverse execution. The experimental results with four different benchmarks show a wide range of speedups from 1.3X for a small program with few data inputs to six orders of magnitude (1,928,500X) for 400x400 matrix multiply. Furthermore, our technique is very memory efficient. Our benchmark measurements show between 3.4X and 2240X memory overhead reduction as compared to our implementation of the same features using traditional approaches.
Keywords :
program debugging; program slicing; reverse engineering; bug location; code parts; debugging aids; dynamic slicing; execution history; memory overhead reduction; program debugging; program point; repetitive program restarts; reverse execution; Assembly; Debugging; Educational institutions; History; Power engineering and energy; Power engineering computing; Programming profession; Runtime; Writing;
Conference_Titel :
Software Engineering, 2004. ICSE 2004. Proceedings. 26th International Conference on
Print_ISBN :
0-7695-2163-0
DOI :
10.1109/ICSE.2004.1317474