Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3141834.3141840acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

Actoverse: a reversible debugger for actors

Published: 23 October 2017 Publication History

Abstract

The Actor model is a concurrent computation model based on asynchronous message passing and shared-nothing principle. These characteristics and the absence of locks guarantee that actor-based programs can avoid simple concurrency bugs such as data races and deadlocks. However, they are not completely free from application level concurrency bugs that occur, for example, due to the indeterminate arrival order of messages.
To assist discovering such bugs in actor-based systems, we designed and implemented Actoverse, a debugger that adopts reverse debugging and provides an interactive aid for controlling the arrival order of messages upon re-execution. This paper briefly presents its architecture and utilization in Akka-based applications.

References

[1]
Vincent Danos and Jean Krivine. 2004. Reversible Communicating Systems. In CONCUR 2004 - Concurrency Theory (Lecture Notes in Computer Science), Philippa Gardner and Nobuko Yoshida (Eds.), Vol. 3170. Springer, Berlin, 292–307.
[2]
Jakob Engblom. 2012. A Review of Reverse Debugging. In Proceedings of the 2012 System, Software, SoC and Silicon Debug Conference (S4D). IEEE Press, 28–33.
[3]
Lars-Åke Fredlund and Hans Svensson. 2007. McErlang: A Model Checker for a Distributed Functional Programming Language. In 12th ACM SIG-PLAN International Conference on Functional Programming (ICFP 2007). ACM, New York, 125–136.
[4]
Elena Giachino, Ivan Lanese, and Claudio Antares Mezzina. 2014. CausalConsistent Reversible Debugging. In Fundamental Approaches to Software Engineering (FASE 2014) (Lecture Notes in Computer Science), Stefania Gnesi and Arend Rensink (Eds.), Vol. 8411. Springer, Berlin, 370–384.
[5]
Elisa Gonzalez Boix, Carlos Noguera, and Wolfgang De Meuter. 2014. Distributed Debugging for Mobile Networks. Journal of Systems and Software 90 (April 2014), 76–90.
[6]
Gerard J. Holzmann. 1997. The Model Checker SPIN. IEEE Transactions on Software Engineering 23, 5 (May 1997), 279–295.
[7]
Leslie Lamport. 1978. Time, Clocks, and the Ordering of Events in a Distributed System. Commun. ACM 21, 7 (July 1978), 558–565.
[8]
Ivan Lanese, Claudio Antares Mezzina, Alan Schmitt, and Jean-Bernard Stefani. 2011. Controlling Reversibility in Higher-Order Pi. In CONCUR 2011 – Concurrency Theory (Lecture Notes in Computer Science), JoostPieter Katoen and Barbara König (Eds.), Vol. 6901. Springer, Berlin, 297– 311.
[9]
Ivan Lanese, Claudio Antares Mezzina, and Francesco Tiezzi. 2014. CausalConsistent Reversibility. Bulletin of the EATCS 114 (Nov. 2014), 17. https: //hal.inria.fr/hal-01089350
[10]
Adrian Lienhard, Julien Fierz, and Oscar Nierstrasz. 2009. Flow-Centric, Back-in-Time Debugging. In Objects, Components, Models and Patterns (TOOLS EUROPE 2009) (Lecture Notes in Business Information Processing), Vol. 33. Springer, 272–288.
[11]
Carmen Torres Lopez, Stefan Marr, and Elisa Gonzalez Boix. 2016. Towards Advanced Debugging Support for Actor Languages Studying Concurrency Bugs in Actor-based Programs. In 6th Intl. Workshop on Programming based on Actors, Agents, and Decentralized Control (AGERE 2016). https://2016.splashcon.org/event/ agere2016-towards-advanced-debugging-support-for-actor-languages
[12]
Terry Stanley, Tyler Close, and Mark S. Miller. 2009. Causeway: a messageoriented distributed debugger. Technical Report. HP Labs. http://www. hpl.hp.com/techreports/2009/HPL-2009-78.html HP Labs tech report HPL-2009-78.

Cited By

View all
  • (2024)Reversible debugging of concurrent Erlang programs: Supporting imperative primitivesJournal of Logical and Algebraic Methods in Programming10.1016/j.jlamp.2024.100944(100944)Online publication date: Jan-2024
  • (2023)High-performance Deterministic Concurrency Using Lingua FrancaACM Transactions on Architecture and Code Optimization10.1145/361768720:4(1-29)Online publication date: 26-Oct-2023
  • (2022)A Reversible Debugger for Imperative Parallel Programs with ContractsReversible Computation10.1007/978-3-031-09005-9_14(204-212)Online publication date: 28-Jun-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
AGERE 2017: Proceedings of the 7th ACM SIGPLAN International Workshop on Programming Based on Actors, Agents, and Decentralized Control
October 2017
57 pages
ISBN:9781450355162
DOI:10.1145/3141834
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 the author(s) 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: 23 October 2017

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Actor model
  2. Debugging
  3. Reverse Debugging
  4. Visualization

Qualifiers

  • Research-article

Conference

SPLASH '17
Sponsor:

Acceptance Rates

Overall Acceptance Rate 19 of 35 submissions, 54%

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)17
  • Downloads (Last 6 weeks)3
Reflects downloads up to 12 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Reversible debugging of concurrent Erlang programs: Supporting imperative primitivesJournal of Logical and Algebraic Methods in Programming10.1016/j.jlamp.2024.100944(100944)Online publication date: Jan-2024
  • (2023)High-performance Deterministic Concurrency Using Lingua FrancaACM Transactions on Architecture and Code Optimization10.1145/361768720:4(1-29)Online publication date: 26-Oct-2023
  • (2022)A Reversible Debugger for Imperative Parallel Programs with ContractsReversible Computation10.1007/978-3-031-09005-9_14(204-212)Online publication date: 28-Jun-2022
  • (2021)Understanding and improving model-driven IoT systems through accompanying digital twinsProceedings of the 20th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences10.1145/3486609.3487210(197-209)Online publication date: 17-Oct-2021
  • (2021)What’s the problem? interrogating actors to identify the root cause of concurrency bugsProceedings of the 11th ACM SIGPLAN International Workshop on Programming Based on Actors, Agents, and Decentralized Control10.1145/3486601.3486709(24-36)Online publication date: 17-Oct-2021
  • (2021)Causal-Consistent Debugging of Distributed Erlang ProgramsReversible Computation10.1007/978-3-030-79837-6_5(79-95)Online publication date: 23-Jun-2021
  • (2020)Framework-aware debugging with stack tailoringProceedings of the 16th ACM SIGPLAN International Symposium on Dynamic Languages10.1145/3426422.3426982(71-84)Online publication date: 17-Nov-2020
  • (2020)A Case Study for Reversible Computing: Reversible Debugging of Concurrent ProgramsReversible Computation: Extending Horizons of Computing10.1007/978-3-030-47361-7_5(108-127)Online publication date: 12-May-2020
  • (2018)iDeA: an immersive debugger for actorsProceedings of the 17th ACM SIGPLAN International Workshop on Erlang10.1145/3239332.3242762(1-12)Online publication date: 29-Sep-2018
  • (2018)Efficient and deterministic record & replay for actor languagesProceedings of the 15th International Conference on Managed Languages & Runtimes10.1145/3237009.3237015(1-14)Online publication date: 12-Sep-2018
  • Show More Cited By

View Options

Get Access

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