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

A Comprehensive Study on Bugs in Actor Systems

Published: 13 August 2018 Publication History

Abstract

The Actor model of concurrency provides a convenient way to build large-scale distributed systems, harnessing its inherent parallelism and the message-driven nature. As a result, the Actor model has been widely used in a variety of distributed applications, especially cloud-based applications. However, software bugs in actor systems are not well studied. In this paper, we present a comprehensive analysis on known bugs in actor-based systems. The contributions of this paper are two-fold. First, we have created an actor bug taxonomy, and carefully examined and categorized bugs reported in a number of real-world actor systems. Second, we have compared the characteristics actor bugs with bugs reported in cloud systems in general. Our results shed lights on understanding the benefits and unique challenges for utilizing the Actor model for system development, as well as deployment in open systems like clouds.

References

[1]
2018. Akka Documentation. https://doc.akka.io/docs/akka/2.5/general/jmm.html. (2018). {Online; accessed 7-June-2018}.
[2]
G. Agha. 1986. Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge, MA, USA.
[3]
Gul Agha. 2014. Actors programming for the mobile cloud. In 2014 IEEE 13th International Symposium on Parallel and Distributed Computing. IEEE, 3--9.
[4]
Joe Armstrong. 2007. Programming Erlang: Software for a Concurrent World. Pragmatic Bookshelf.
[5]
Mark Astley. 1998. The Actor Foundry: A Java-based Actor Programming Environment. Technical Report. Open Systems Laboratory, University of Illinois at Urbana-Champaign.
[6]
Joeri De Koster, Tom Van Cutsem, and Wolfgang De Meuter. 2016. 43 Years of Actors: A Taxonomy of Actor Models and Their Key Properties. In Proceedings of the 6th International Workshop on Programming Based on Actors, Agents, and Decentralized Control (AGERE 2016). ACM, New York, NY, USA, 31--40.
[7]
Haryadi S. Gunawi, Mingzhe Hao, Tanakorn Leesatapornwongsa, Tiratat Patanaanake, Thanh Do, Jeffry Adityatama, Kurnia J. Eliazar, Agung Laksono, Jeffrey F. Lukman, Vincentius Martin, and Anang D. Satria. 2014. What Bugs Live in the Cloud? A Study of 3000+ Issues in Cloud Systems. In Proceedings of the ACM Symposium on Cloud Computing (SOCC '14). ACM, New York, NY, USA, Article 7, 7:1--7:14 pages.
[8]
Philipp Haller and Martin Odersky. 2007. Actors That Unify Threads and Events. In Coordination Models and Languages, Amy Murphy and Jan Vitek (Eds.). LNCS, Vol. 4467. Springer, 171--190.
[9]
Christopher Hylands, Edward Lee, Jie Liu, Xiaojun Liu, Stephen Neuendorffer, Yuhong Xiong, Yang Zhao, and Haiyang Zheng. 2003. Overview of the Ptolemy Project. Technical Report. University of California, Berkeley.
[10]
Lightbend Inc. 2011--2018. Akka Open Source Actor Library. https://akka.io/. (2011-2018). Accessed: 2018-03-12.
[11]
M. Jang. 2004. The Actor Architecture Manual. Technical Report. Open Systems Laboratory, University of Illinois at Urbana-Champaign.
[12]
Dennis Kafura. 1990. ACT++: Building a Concurrent C++ with Actors. Journal of Object-Oriented Programming 3 (1990), 25--37. Issue 1.
[13]
Rajesh Karmani, Amin Shali, and Gul Agha. 2009. Actor Frameworks for the JVM Platform: A Comparative Analysis. In Proceedings of the 7th International Conference on the Principles and Practice of Programming in Java (PPPJ).
[14]
WooYoung Kim. 1997. ThAL: An Actor System for Efficient and Scalable Concurrent Computing. Ph.D. Dissertation. University of Illinois at Urbana-Champaign.
[15]
Tanakorn Leesatapornwongsa, Jeffrey F. Lukman, Shan Lu, and Haryadi S. Gunawi. 2016. TaxDC: A Taxonomy of Non-Deterministic Concurrency Bugs in Datacenter Distributed Systems. In Proceedings of the Twenty-First International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '16). ACM, New York, NY, USA, 517--530.
[16]
Carmen Torres Lopez, Stefan Marr, Hanspeter Mössenböck, and Elisa Gonzalez Boix. 2017. A Study of Concurrency Bugs and Advanced Development Support for Actor-based Programs. CoRR abs/1706.07372 (2017). arXiv:1706.07372 http://arxiv.org/abs/1706.07372
[17]
Microsoft Corporation. 2008. Axum Programming Language. (2008).
[18]
Tung Thanh Nguyen, Anh Tuan Nguyen, and Tien N. Nguyen. 2014. Topic-based, Time-aware Bug Assignment. SIGSOFT Softw. Eng. Notes 39, 1 (Feb. 2014), 1--4.
[19]
Scalacenter, JFrog Bintray, and Sonatype. 2016. Scaladex A Scala Library Index. https://index.scala-lang.org/. (2016). Accessed: 2017-02-10.
[20]
Sriram Srinivasan and Alan Mycroft. 2008. Kilim: Isolation-Typed Actors for Java. In Proceedings of the 22nd European Conference on Object-Oriented Programming (ECOOP 2008). 104--128.
[21]
D. Sturman and G. Agha. 1994. A Protocol Description Language for Customizing Failure Semantics. In Proceedings of the 13th Symposium on Reliable Distributed Systems. 148--157.
[22]
Samira Tasharofi, Peter Dinges, and Ralph E. Johnson. 2013. Why Do Scala Developers Mix the Actor Model with Other Concurrency Models?. In Proceedings of the 27th European Conference on Object-Oriented Programming (ECOOP'13). Springer-Verlag, Berlin, Heidelberg, 302--326.
[23]
S. Tasharofi, M. Pradel, Y. Lin, and R. Johnson. 2013. Bita: Coverage-guided, automatic testing of actor programs. In Automated Software Engineering (ASE), 2013 IEEE/ACM 28th International Conference on. 114--124.
[24]
The E language 2000. The E Language. (2000). http://www.erights.org/elang.
[25]
Carlos Varela and Gul Agha. 2001. Programming Dynamically Reconfigurable Open Systems with SALSA. ACM SIGPLAN Notices 36 (2001), 20--34. Issue 12.
[26]
Wei Zhang, Marc De Kruijf, Ang Li, Shan Lu, and Karthikeyan Sankaralingam. 2013. ConAir: featherweight concurrency bug recovery via single-threaded idempotent execution. ACM SIGARCH Computer Architecture News 41, 1 (2013), 113--126.

Cited By

View all
  • (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
  • (2023)𝜇Akka: Mutation Testing for Actor Concurrency in Akka using Real-World BugsProceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3611643.3616362(262-274)Online publication date: 30-Nov-2023

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
ICPP '18: Proceedings of the 47th International Conference on Parallel Processing
August 2018
945 pages
ISBN:9781450365109
DOI:10.1145/3225058
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]

In-Cooperation

  • University of Oregon: University of Oregon

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 13 August 2018

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Actors
  2. Concurrent Programming
  3. Programming Languages
  4. Software Bugs

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

ICPP 2018

Acceptance Rates

ICPP '18 Paper Acceptance Rate 91 of 313 submissions, 29%;
Overall Acceptance Rate 91 of 313 submissions, 29%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)24
  • Downloads (Last 6 weeks)3
Reflects downloads up to 11 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (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
  • (2023)𝜇Akka: Mutation Testing for Actor Concurrency in Akka using Real-World BugsProceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3611643.3616362(262-274)Online publication date: 30-Nov-2023

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