Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/586094.586101acmconferencesArticle/Chapter ViewAbstractPublication PagespasteConference Proceedingsconference-collections
Article

Instruction-level reverse execution for debugging

Published: 18 November 2002 Publication History

Abstract

The ability to execute a program in reverse is advantageous for shortening debug time. This paper presents a reverse execution methodology at the assembly instruction-level with low memory and time overheads. The core idea of this approach is to generate a reverse program able to undo, in almost all cases, normal forward execution of an assembly instruction in the program being debugged. The methodology has been implemented on a PowerPC processor in a custom made debugger. Compared to previous work -- all of which use a variety of state saving techniques -- the experimental results show 2.5X to 400X memory overhead reduction for the tested benchmarks. Furthermore, the results with the same benchmarks show an average of 4.1X to 5.7X time overhead reduction.

References

[1]
H. Agrawal and J. Horgan. Dynamic program slicing. SIGPLAN Notices, 25(6):246--256, June 1990.
[2]
T. Akgul and V. J. Mooney. Instruction-level reverse execution for debugging. Technical Report GIT-CC-02-49, Georgia Institute of Technology, September 2002.
[3]
T. Akgul and V. J. Mooney. Instruction-level reverse execution for debugging. Technical Report GIT-CC-02-49, Georgia Institute of Technology, September 2002.
[4]
M. R. Birch et al. Dynalab: A dynamic computer science laboratory infrastructure featuring program animation. ACM SIGCSE Bulletin, 27(1):29--33, March 1995.
[5]
C. Carothers, K. Perumalla, and R. Fujimoto. Efficient optimistic parallel simulations using reverse computation. ACM Transactions on Modeling and Computer Simulation, 9(3), July 1999.
[6]
P. Crescenzi, C. Demetrescu, I. Finocchi, and R. Petreschi. Reversible execution and visualization of programs with leonardo. Journal of Visual Languages and Computing (JVLC), 11(2):125--150, April 2000.
[7]
Y.-B. Lin, B. R. Preiss, W. M. Loucks, and E. D. Lazowska. Selecting the checkpoint interval in time warp simulation. In Proceedings of the Seventh Workshop on Parallel and Distributed Simulation, pages 3--10, 1993.
[8]
MPC860 Users Manual. Motorola Inc., 1998. http://e-www.motorola.com/brdata/PDFDB/docs/ MPC860UM.pdf
[9]
S. S. Muchnick. Advanced Compiler Design and Implementation. Morgan Kaufmann, San Francisco, CA, 1997.
[10]
D. West and K. S. Panesar. Automatic incremental state saving. In Proceedings of the Tenth Workshop on Parallel and Distributed Simulation, pages 78--85, 1996.

Cited By

View all
  • (2019)POMP++: Facilitating Postmortem Program Diagnosis with Value-set AnalysisIEEE Transactions on Software Engineering10.1109/TSE.2019.2939528(1-1)Online publication date: 2019
  • (2017)Backward range simulation of Java bytecodes and reduction of its processing timeProceedings of the 8th International Conference on Computer Modeling and Simulation10.1145/3036331.3036340(129-133)Online publication date: 20-Jan-2017
  • (2016)Deterministic reversible MPSoC debugger based on virtual platform execution tracesDesign Automation for Embedded Systems10.1007/s10617-015-9167-820:1(47-63)Online publication date: 1-Mar-2016
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
PASTE '02: Proceedings of the 2002 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
November 2002
92 pages
ISBN:1581134797
DOI:10.1145/586094
  • cover image ACM SIGSOFT Software Engineering Notes
    ACM SIGSOFT Software Engineering Notes  Volume 28, Issue 1
    January 2003
    83 pages
    ISSN:0163-5948
    DOI:10.1145/634636
    Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 18 November 2002

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. debugging
  2. reverse code generation
  3. reverse execution

Qualifiers

  • Article

Conference

PASTE02

Acceptance Rates

PASTE '02 Paper Acceptance Rate 9 of 26 submissions, 35%;
Overall Acceptance Rate 57 of 159 submissions, 36%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 06 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2019)POMP++: Facilitating Postmortem Program Diagnosis with Value-set AnalysisIEEE Transactions on Software Engineering10.1109/TSE.2019.2939528(1-1)Online publication date: 2019
  • (2017)Backward range simulation of Java bytecodes and reduction of its processing timeProceedings of the 8th International Conference on Computer Modeling and Simulation10.1145/3036331.3036340(129-133)Online publication date: 20-Jan-2017
  • (2016)Deterministic reversible MPSoC debugger based on virtual platform execution tracesDesign Automation for Embedded Systems10.1007/s10617-015-9167-820:1(47-63)Online publication date: 1-Mar-2016
  • (2010)High-Level Debugging Facilities and Interfaces: Design and Developement of a Debug-Oriented I.D.E.Open Source Software: New Horizons10.1007/978-3-642-13244-5_34(373-379)Online publication date: 2010
  • (2007)Using Reversible Computation Techniques in a Parallel Optimistic Simulation of a Multi-Processor Computing SystemProceedings of the 21st International Workshop on Principles of Advanced and Distributed Simulation10.1109/PADS.2007.31(179-188)Online publication date: 12-Jun-2007
  • (2007)Hard-to-detect errors due to the assembly-language environment2007 37th annual frontiers in education conference - global engineering: knowledge without borders, opportunities without passports10.1109/FIE.2007.4418030(T1E-14-T1E-19)Online publication date: Oct-2007
  • (2007)Dynamic Reverse Code Generation for Backward ExecutionElectronic Notes in Theoretical Computer Science (ENTCS)10.1016/j.entcs.2006.12.028174:4(37-54)Online publication date: 1-May-2007
  • (2006)Automated Error-Prevention and Error-Detection Tools for Assembly Language in the Educational EnvironmentProceedings. Frontiers in Education. 36th Annual Conference10.1109/FIE.2006.322560(19-23)Online publication date: Oct-2006
  • (2005)An efficient and generic reversible debugger using the virtual machine based approachProceedings of the 1st ACM/USENIX international conference on Virtual execution environments10.1145/1064979.1064992(79-88)Online publication date: 11-Jun-2005
  • (2004)A Fast Assembly Level Reverse Execution Method via Dynamic SlicingProceedings of the 26th International Conference on Software Engineering10.5555/998675.999456(522-531)Online publication date: 23-May-2004
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media