skip to main content
10.1145/2642937.2643016acmconferencesArticle/Chapter ViewAbstractPublication PagesaseConference Proceedingsconference-collections
research-article

Automatic verification of interactions in asynchronous systems with unbounded buffers

Published: 15 September 2014 Publication History

Abstract

Asynchronous communication requires message queues to store the messages that are yet to be consumed. Verification of interactions in asynchronously communicating systems is challenging since the sizes of these queues can grow arbitrarily large during execution. In fact, behavioral models for asynchronously communicating systems typically have infinite state spaces, which makes many analysis and verification problems undecidable. In this paper, we show that, focusing only on the interaction behavior (modeled as the global sequence of messages that are sent, recorded in the order they are sent) results in decidable verification for a class of asynchronously communicating systems. In particular, we present the necessary and sufficient condition under which asynchronously communicating systems with unbounded queues exhibit interaction behavior that is equivalent to their interactions over finitely bounded queues. We show that this condition can be automatically checked, ensuring existence of a finite bound on the queue sizes, and, we show that, the finite bound on the queue sizes can be automatically computed.

References

[1]
J. Armstrong. Getting Erlang to Talk to the Outside World. In Proc. ACM SIGPLAN Work. on Erlang, pages 64--72, 2002.
[2]
D. Babi c and Z. Rakamari c. Asynchronously communicating visibly pushdown systems. In FORTE'13: 2013 IFIP Joint International Conference on Formal Techniques for Distributed Systems, volume 7892 of LNCS, pages 225 -- 242. Springer, 2013.
[3]
S. Basu and T. Bultan. Choreography conformance via synchronizability. In 20th International World Wide Web Conference, 2011.
[4]
S. Basu, T. Bultan, and M. Ouederni. Synchronizability for verification of asynchronously communicating systems. In 13th International Conference on Verification, Model Checking, and Abstract Interpretation, pages 56--71, 2012.
[5]
S. Basu, M. Mukund, C. R. Ramakrishnan, I. V. Ramakrishnan, and R. M. Verma. Local and symbolic bisimulation using tabled constraint logic programming. In International Conference on Logic Programming, 2001.
[6]
D. Brand and P. Zafiropulo. On communicating finite-state machines. J. ACM, 30(2):323--342, 1983.
[7]
G. C ec e and A. Finkel. Verification of programs with half-duplex communication. Information and Computation, 202:166--190, November 2005.
[8]
E. Clarke, O. Grumberg, and D. A. Peled. Model Checking. The MIT Press, Cambridge, Massachusetts, 1999.
[9]
M. Fähndrich, M. Aiken, C. Hawblitzel, O. Hodson, G. C. Hunt, J. R. Larus, and S. Levi. Language support for fast and reliable message-based communication in singularity os. In Proc. 2006 EuroSys Conf., pages 177--190, 2006.
[10]
X. Fu, T. Bultan, and J. Su. Conversation protocols: A formalism for specification and verification of reactive electronic services. In Proc. of the 8th Int. Conf. on Implementation and Application of Automata (CIAA), 2003.
[11]
X. Fu, T. Bultan, and J. Su. Analysis of interacting BPEL web services. In Proc. 13th Int. World Wide Web Conf., pages 621 -- 630, 2004.
[12]
X. Fu, T. Bultan, and J. Su. Synchronizability of conversations among web services. IEEE Trans. Software Eng., 31(12):1042--1055, 2005.
[13]
A. Heu ner, J. Leroux, A. Muscholl, and G. Sutre. Reachability analysis of communicating pushdown systems. In 13th Int. Conf. on Foundations of Software Science and Computational Structures (FOSSACS), pages 267--281, 2010.
[14]
G. Holzman. The SPIN Model Checker: Primer and Reference Manual. Addison-Westley, 2003.
[15]
K. Honda, V. T. Vasconcelos, and M. Kubo. Language primitives and type discipline for structured communication-based programming. In 7th European Symp. on Programming Languages and Systems (ESOP), pages 122--138, 1998.
[16]
K. Honda, N. Yoshida, and M. Carbone. Multiparty Asynchronous Session Types. In Proceedings of Symposium Principles of Programming Languages, pages 273--284, 2008.
[17]
R. Manohar and A. J. Martin. Slack elasticity in concurrent computing. In Mathematics of Program Construction, (MPC), pages 272--285, 1998.
[18]
S. F. Siegel. Efficient verification of halting properties for MPI programs with wildcard receives. In 6th International Conference on Verification, Model Checking, and Abstract Interpretation (VMCAI), pages 413--429, 2005.
[19]
Singularity design note 5 : Channel contracts. singularity rdk documentation (v1.1). http://www.codeplex.com/singularity, 2004.
[20]
S. L. Torre, P. Madhusudan, and G. Parlato. Context-bounded analysis of concurrent queue systems. In 14th Int. Conf. Tools and Algorithms for the Construction and Analysis of Systems (TACAS), pages 299--314, 2008.
[21]
S. Vakkalanka, A. Vo, G. Gopalakrishnan, and R. M. Kirby. Precise dynamic analysis for slack elasticity: adding buffering without adding bugs. In 17th Euro. MPI Conf. Advances in Message Passing Interface, pages 152--159, 2010.
[22]
Web Service Choreography Description Language (WS-CDL). http://www.w3.org/TR/ws-cdl-10/, 2005.
[23]
XSB. http://xsb.sourceforge.net/, 2013.

Cited By

View all
  • (2023)A Complex Behavioral Interaction Analysis Method for Microservice Systems With Bounded BuffersIEEE Transactions on Cloud Computing10.1109/TCC.2023.331903811:4(3713-3724)Online publication date: Oct-2023
  • (2023)RSC to the ReSCu: Automated Verification of Systems of Communicating AutomataCoordination Models and Languages10.1007/978-3-031-35361-1_7(135-143)Online publication date: 15-Jun-2023
  • (2022)Compatibility checking for cyber‐physical systems based on microservicesSoftware: Practice and Experience10.1002/spe.313152:11(2393-2410)Online publication date: 31-Jul-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ASE '14: Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering
September 2014
934 pages
ISBN:9781450330138
DOI:10.1145/2642937
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: 15 September 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. asynchronous communication
  2. unbounded buffers
  3. verification

Qualifiers

  • Research-article

Funding Sources

Conference

ASE '14
Sponsor:

Acceptance Rates

ASE '14 Paper Acceptance Rate 82 of 337 submissions, 24%;
Overall Acceptance Rate 82 of 337 submissions, 24%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 17 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2023)A Complex Behavioral Interaction Analysis Method for Microservice Systems With Bounded BuffersIEEE Transactions on Cloud Computing10.1109/TCC.2023.331903811:4(3713-3724)Online publication date: Oct-2023
  • (2023)RSC to the ReSCu: Automated Verification of Systems of Communicating AutomataCoordination Models and Languages10.1007/978-3-031-35361-1_7(135-143)Online publication date: 15-Jun-2023
  • (2022)Compatibility checking for cyber‐physical systems based on microservicesSoftware: Practice and Experience10.1002/spe.313152:11(2393-2410)Online publication date: 31-Jul-2022
  • (2020)Automatic Analysis of Complex Interactions in Microservice SystemsComplexity10.1155/2020/21287932020Online publication date: 31-Mar-2020
  • (2020)CHOReVOLUTION: Hands-On In-Service Training for Choreography-Based SystemsCoordination Models and Languages10.1007/978-3-030-50029-0_1(3-19)Online publication date: 10-Jun-2020
  • (2019)A Choreography-Based and Collaborative Road Mobility System for L’Aquila CityFuture Internet10.3390/fi1106013211:6(132)Online publication date: 14-Jun-2019
  • (2018)Automated verification of automata communicating via FIFO and bag buffersFormal Methods in System Design10.1007/s10703-017-0285-852:3(260-276)Online publication date: 1-Jun-2018
  • (2017)Explicit Connection Actions in Multiparty Session TypesProceedings of the 20th International Conference on Fundamental Approaches to Software Engineering - Volume 1020210.1007/978-3-662-54494-5_7(116-133)Online publication date: 22-Apr-2017
  • (2016)Automated Analysis of Asynchronously Communicating SystemsModel Checking Software10.1007/978-3-319-32582-8_1(1-18)Online publication date: 8-Apr-2016
  • (2015)On the Automated Synthesis of Enterprise Integration Patterns to Adapt Choreography-based Distributed SystemsElectronic Proceedings in Theoretical Computer Science10.4204/EPTCS.201.3201(33-47)Online publication date: 22-Dec-2015
  • 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

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media