Context-Bounded Analysis of Concurrent Queue Systems

  • Salvatore La Torre
  • P. Madhusudan
  • Gennaro Parlato
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4963)


We show that the bounded context-switching reachability problem for concurrent finite systems communicating using unbounded FIFO queues is decidable, where in each context a process reads from only one queue (but is allowed to write onto all other queues). Our result also holds when individual processes are finite-state recursive programs provided a process dequeues messages only when its local stack is empty. We then proceed to classify architectures that admit a decidable (unbounded context switching) reachability problem, using the decidability of bounded context switching. We show that the precise class of decidable architectures for recursive programs are the forest architectures, while the decidable architectures for non-recursive programs are those that do not have an undirected cycle.


Shared Memory Queue System Concurrent Program Reachability Problem Message Queue 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Abdulla, P., Jonsson, B.: Verifying programs with unreliable channels. In: LICS, pp. 160–170. IEEE Computer Society, Los Alamitos (1993)Google Scholar
  2. 2.
    Bouajjani, A., Esparza, J., Schwoon, S., Strejcek, J.: Reachability analysis of multithreaded software with asynchronous communication. In: Ramanujam, R., Sen, S. (eds.) FSTTCS 2005. LNCS, vol. 3821, pp. 348–359. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  3. 3.
    Bouajjani, A., Fratani, S., Qadeer, S.: Context-bounded analysis of multithreaded programs with dynamic linked structures. In: Damm, W., Hermanns, H. (eds.) CAV 2007. LNCS, vol. 4590, pp. 207–220. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  4. 4.
    Cécé, G., Finkel, A.: Programs with quasi-stable channels are effectively recognizable (extended abstract). In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, pp. 304–315. Springer, Heidelberg (1997)Google Scholar
  5. 5.
    Chadha, R., Viswanathan, M.: Decidability results for well-structured transition systems with auxiliary storage. In: Caires, L., Vasconcelos, V.T. (eds.) CONCUR. LNCS, vol. 4703, Springer, Heidelberg (2007)CrossRefGoogle Scholar
  6. 6.
    Cheng, A., Esparza, J., Palsberg, J.: Complexity Results for 1-Safe Nets. Theor. Comput. Sci. 147(1-2), 117–136 (1995)zbMATHCrossRefMathSciNetGoogle Scholar
  7. 7.
    Gay, D., Levis, P., von Behren, J.R., Welsh, M., Brewer, E.A., Culler, D.E.: The Nesc language: A holistic approach to networked embedded systems. In: PLDI, pp. 1–11. ACM Press, New York (2003)Google Scholar
  8. 8.
    Hopcroft, J.E., Ullman, J.D.: Introduction to Automata Theory, Languages, and Computation. Addison-Wesley, Reading (1979)zbMATHGoogle Scholar
  9. 9.
    Ibarra, O.H.: Verification in queue-connected multicounter machines. Int. J. Found. Comput. Sci. 13(1), 115–127 (2002)zbMATHCrossRefMathSciNetGoogle Scholar
  10. 10.
    Ibarra, O.H., Dang, Z., San Pietro, P.: Verification in loosely synchronous queue-connected discrete timed automata. Theor. Comput. Sci. 290(3), 1713–1735 (2003)zbMATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    Jhala, R., Majumdar, R.: Interprocedural analysis of asynchronous programs. In: POPL, pp. 339–350. ACM Press, New York (2007)Google Scholar
  12. 12.
    La Torre, S., Madhusudan, P., Parlato, G.: A robust class of context-sensitive languages. In: LICS, pp. 161–170. IEEE Computer Society Press, Los Alamitos (2007)Google Scholar
  13. 13.
  14. 14.
    Musuvathi, M., Qadeer, S.: Iterative context bounding for systematic testing of multithreaded programs. In: PLDI, pp. 446–455. ACM, New York (2007)Google Scholar
  15. 15.
    Peng, W., Purushothaman, S.: Analysis of a class of communicating finite state machines. Acta Inf. 29(6/7), 499–522 (1992)zbMATHCrossRefMathSciNetGoogle Scholar
  16. 16.
    Qadeer, S., Rehof, J.: Context-bounded model checking of concurrent software. In: Halbwachs, N., Zuck, L.D. (eds.) TACAS 2005. LNCS, vol. 3440, pp. 93–107. Springer, Heidelberg (2005)Google Scholar
  17. 17.
    Qadeer, S., Wu, D.: Kiss: keep it simple and sequential. In: PLDI, pp. 14–24. ACM, New York (2004)Google Scholar
  18. 18.
    Sen, K., Viswanathan, M.: Model checking multithreaded programs with asynchronous atomic methods. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 300–314. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  19. 19.
    Zeldovich, N., Yip, A., Dabek, F., Morris, R., Mazières, D., Kaashoek, M.F.: Multiprocessor support for event-driven programs. In: USENIX (2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Salvatore La Torre
    • 1
  • P. Madhusudan
    • 2
  • Gennaro Parlato
    • 1
    • 2
  1. 1.Università degli Studi di SalernoItaly
  2. 2.University of Illinois at Urbana-ChampaignUSA

Personalised recommendations