[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/2002951.2002960acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Retroactive aspects: programming in the past

Published: 18 July 2011 Publication History

Abstract

We present a novel approach to the problem of dynamic program analysis: writing analysis code directly into the program source, but evaluating it against a recording of the original program's execution. This approach allows developers to reason about their program in the familiar context of its actual source, and take full advantage of program semantics, data structures, and library functionality for understanding execution. It also gives them the advantage of hindsight, letting them easily analyze unexpected behavior after it has occurred. Our position is that writing offline analysis as retroactive aspects provides a unifying approach that developers will find natural and powerful.

References

[1]
VAssert programming guide, 2008.
[2]
ACC: the AspeCt-oriented c compiler. http://research.msrg.utoronto.ca/ACC, 2009.
[3]
F. Bellard. QEMU, a fast and portable dynamic translator. In USENIX Annual Technical Conference, 2005.
[4]
E. Bodden and K. Havelund. Racer: effective race detection using aspectj. In Proceedings of the 2008 international symposium on Software testing and analysis, ISSTA '08, pages 155--166, New York, NY, USA, 2008. ACM. ACM ID: 1390650.
[5]
F. Chen and G. Roşu. Mop: an efficient and generic runtime verification framework. In ACM SIGPLAN Notices, OOPSLA '07, pages 569--588, New York, NY, USA, 2007. ACM. ACM ID: 1297069.
[6]
J. Choi and B. Alpern. DejaVu: Deterministic Java Replay Debugger for Jalapeno Java Virtual Machine. OOPSLA 2000 Companion, 2000.
[7]
J. D. Choi, B. Alpern, T. Ngo, M. Sridharan, and J. Vlissides. A perturbation-free replay platform for cross-optimized multithreaded applications. In Parallel and Distributed Processing Symposium., Proceedings 15th International, 2001.
[8]
J. Chow, T. Garfinkel, and P. M. Chen. Decoupling dynamic program analysis from execution in virtual environments. In USENIX Annual Technical Conference, 2008.
[9]
J. Cook and A. Nusayr. Using AOP for Detailed Runtime Monitoring Instrumentation. In WODA 2008: the sixth international workshop on dynamic analysis.
[10]
L. Damas and R. Milner. Principal type-schemes for functional programs. In Principles of Programming Languages, Albuquerque, New Mexico, 1982.
[11]
G. W. Dunlap, S. T. King, S. Cinar, M. A. Basrai, and P. M. Chen. ReVirt: enabling intrusion analysis through virtual-machine logging and replay. Operating Systems Design and Implementation, 2002.
[12]
S. F. Goldsmith, R. O'Callahan, and A. Aiken. Relational queries over program traces. In Object-Oriented Programming, Systems, Languages, and Applications, page 402, 2005.
[13]
A. Joshi, S. T. King, G. W. Dunlap, and P. M. Chen. Detecting past and present intrusions through vulnerability-specific predicates. In Proceedings of the twentieth ACM symposium on Operating systems principles, SOSP '05, pages 91--104, New York, NY, USA, 2005. ACM.
[14]
G. Lefebvre, B. Cully, M. J. Feeley, N. C. Hutchinson, and A. Warfield. Tralfamadore: unifying source code and execution experience. In EuroSys, 2009.
[15]
B. Lewis. Debugging backwards in time. In Automated and Analysis-Driven Debugging, 2003.
[16]
C. K. Luk, R. Cohn, R. Muth, H. Patil, A. Klauser, G. Lowney, S. Wallace, V. J. Reddi, and K. Hazelwood. Pin: Building customized program analysis tools with dynamic instrumentation. In Programming Language Design and Implementation, 2005.
[17]
G. Necula, S. McPeak, S. Rahul, and W. Weimer. CIL: intermediate language and tools for analysis and transformation of c programs. In Compiler Construction. 2002.
[18]
T. Ngo and J. Barton. Debugging by remote reflection. In Euro-Par 2000 Parallel Processing, pages 1031--1038, 2000.
[19]
E. B. Nightingale, D. Peek, P. M. Chen, and J. Flinn. Parallelizing security checks on commodity hardware. In Architectural Support for Programming Languages and Operating Systems, 2008.
[20]
A. Orso and B. Kennedy. Selective capture and replay of program executions. In ACM SIGSOFT Software Engineering Notes, volume 30, pages 1--7, New York, NY, USA, May 2005. ACM. ACM ID: 1083251.
[21]
G. Pothier, É. Tanter, and J. Piquer. Scalable omniscient debugging. ACM SIGPLAN Notices, 42(10), 2007.
[22]
V. Schuppan, M. Baur, and A. Biere. JVM independent replay in java. Electronic Notes in Theoretical Computer Science, 113:85--104, Jan. 2005.
[23]
M. X. Sheldon, G. V. Weissman, and V. M. Inc. Retrace: Collecting execution trace with virtual machine deterministic replay. In Modeling, Benchmarking and Simulation, 2007.
[24]
A. Srivastava and A. Eustace. ATOM: a system for building customized program analysis tools. In Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation, pages 196--205, Orlando, Florida, United States, 1994. ACM.

Cited By

View all
  • (2023)R3: Record-Replay-Retroaction for Database-Backed ApplicationsProceedings of the VLDB Endowment10.14778/3611479.361151016:11(3085-3097)Online publication date: 24-Aug-2023
  • (2018)Towards Time Travel in Distributed Event-sourced SystemsProceedings of the 12th ACM International Conference on Distributed and Event-based Systems10.1145/3210284.3219499(266-269)Online publication date: 25-Jun-2018
  • (2018)Retro-λProceedings of the 12th ACM International Conference on Distributed and Event-based Systems10.1145/3210284.3210285(76-87)Online publication date: 25-Jun-2018
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
WODA '11: Proceedings of the Ninth International Workshop on Dynamic Analysis
July 2011
44 pages
ISBN:9781450308113
DOI:10.1145/2002951
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

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 18 July 2011

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. aspect-oriented programming
  2. deterministic replay
  3. dynamic analysis
  4. execution mining

Qualifiers

  • Research-article

Conference

ISSTA '11
Sponsor:

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 02 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2023)R3: Record-Replay-Retroaction for Database-Backed ApplicationsProceedings of the VLDB Endowment10.14778/3611479.361151016:11(3085-3097)Online publication date: 24-Aug-2023
  • (2018)Towards Time Travel in Distributed Event-sourced SystemsProceedings of the 12th ACM International Conference on Distributed and Event-based Systems10.1145/3210284.3219499(266-269)Online publication date: 25-Jun-2018
  • (2018)Retro-λProceedings of the 12th ACM International Conference on Distributed and Event-based Systems10.1145/3210284.3210285(76-87)Online publication date: 25-Jun-2018
  • (2016)On the Potential of Event Sourcing for Retroactive Actor-based ProgrammingFirst Workshop on Programming Models and Languages for Distributed Computing10.1145/2957319.2957378(1-5)Online publication date: 17-Jul-2016
  • (2015)Essential retroactive weavingCompanion Proceedings of the 14th International Conference on Modularity10.1145/2735386.2736751(52-57)Online publication date: 16-Mar-2015

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media