skip to main content
10.1145/2025113.2025132acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
research-article

Checking conformance of a producer and a consumer

Published:09 September 2011Publication History

ABSTRACT

This paper addresses the problem of identifying incompatibilities between two programs that operate in a producer/consumer relationship. It describes the techniques that are incorporated in a tool called PCCA (Producer-Consumer Conformance Analyzer), which attempts to (i) determine whether the consumer is prepared to accept all messages that the producer can emit, or (ii) find a counter-example: a message that the producer can emit and the consumer considers ill-formed.

References

  1. C. Allauzen, M. Riley, J. Schalkwyk, W. Skut, and M. Mohri. OpenFst: A general and efficient weighted finite-state transducer library. In CIAA, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. R. Alur and P. Madhusudan. Visibly pushdown languages. In STOC, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. R. Alur and P. Madhusudan. Adding nesting structure to words. J. ACM, 56(3), 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. V. Bono, C. Messa, and L. Padovani. Typing copyless message passing. In ESOP, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. A. Bouajjani, J. Esparza, and O. Maler. Reachability analysis of pushdown automata: Application to model checking. In CONCUR, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. A. Burton, A. Thakur, E. Driscoll,, and T. Reps. WALi: Nested-word automata. TR-1675, Comp. Sci. Dept., Univ. of Wisconsin, Madison, WI, July 2010.Google ScholarGoogle Scholar
  7. J. Caballero and D. Song. Polyglot: Automatic extraction of protocol format using dynamic binary analysis. In CCS, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. D. Caucal. On the regular structure of prefix rewriting. In CAAP, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. E. Clarke, N. Sharygina, and N. Sinha. Program compatibility approaches. In FMCO, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. CodeSurfer system. www.grammatech.com/products/codesurfer.Google ScholarGoogle Scholar
  11. P. Collingbourne and P. Kelly. Inference of session types from control flow. ENTCS, 238(6), 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. W. Cui, M. Peinado, K. Chen, H. Wang, and L. Irun-Briz. Tupni: Automatic reverse engineering of input formats. In CCS, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. M. Fähndrich, M. Aiken, C. Hawblitzel, O. Hodson, G. Hunt, J. R. Larus, and S. Levi. Language support for fast and reliable message-based communication in Singularity OS. In EuroSys. 2006.Google ScholarGoogle Scholar
  14. A. Finkel, B. Willems, and P. Wolper. A direct symbolic approach to model checking pushdown systems. ENTCS, 9, 1997.Google ScholarGoogle Scholar
  15. S. Gay, V. Vasconcelos, and A. Ravara. Session types for inter-process communication. TR-2003-133, Dept. of Computing Sci., Univ. of Glasgow, March 2003.Google ScholarGoogle Scholar
  16. S. Hallem, B. Chelf, Y. Xie, and D. Engler. A system and language for building system-specific, static analyses. In PLDI, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. K. Honda. Types for dyadic interaction. In CONCUR. 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. J. Hornick. Icons. http://msdn.microsoft.com/en-us/library/ms997538.aspx.Google ScholarGoogle Scholar
  19. R. Hu, D. Kouzapas, O. Pernet, N. Yoshida, and K. Honda. Type-safe eventful sessions in java. In ECOOP. 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. N. Kidd, A. Lal, and T. Reps. WALi: The Weighted Automaton Library, 2007. www.cs.wisc.edu/wpis/wpds/download.php.Google ScholarGoogle Scholar
  21. R. Komondoor and G. Ramalingam. Recovering data models via guarded dependences. In WCRE, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. T. Kremenek, P. Twohey, G. Back, A. Ng, and D. Engler. From uncertainty to belief: inferring the specification within. In OSDI, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. J. Lim, T. Reps, and B. Liblit. Extracting output formats from executables. In WCRE, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Z. Lin, X. Jiang, D. Xu, and X. Zhang. Automatic protocol format reverse engineering through context-aware monitored execution. In NDSS, 2008.Google ScholarGoogle Scholar
  25. Z. Lin and X. Zhang. Deriving input syntactic structure from execution. In FSE, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. B. Liskov and J. Wing. Behavioral subtyping using invariants and constraints. In H. Bowman and J. Derrick, editors, Formal Methods for Distributed Processing: An Object Oriented Approach. Cambridge Univ. Press, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. S. McCamant and M. Ernst. Early identification of incompatibilities in multicomponent upgrades. In ECOOP, 2004.Google ScholarGoogle ScholarCross RefCross Ref
  28. L. Mezzina. How to infer finite session types in a calculus of services and sessions. In D. Lea and G. Zavattaro, editors, Coordination Models and Languages. 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. O. Nierstrasz and M. Papathomas. Viewing object as patterns of communicating agents. In OOPSLA, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. S. Rajamani and J. Rehof. Conformance checking for models of asynchronous message passing software. In CAV, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. T. Reps, S. Horwitz, and M. Sagiv. Precise interprocedural dataflow analysis via graph reachability. In POPL, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. S. Schwoon. Model-Checking Pushdown Systems. PhD thesis, TUM, Munich, Germany, July 2002.Google ScholarGoogle Scholar
  33. Z. Stengel and T. Bultan. Analyzing Singluarity channel contracts. In ISSTA. 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. G. Wondracek, P. Comparetti, C. Kruegel, and E. Kirda. Automatic network protocol analysis. In NDSS, 2008.Google ScholarGoogle Scholar

Index Terms

  1. Checking conformance of a producer and a consumer

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      ESEC/FSE '11: Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
      September 2011
      548 pages
      ISBN:9781450304436
      DOI:10.1145/2025113

      Copyright © 2011 ACM

      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]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 9 September 2011

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate17of128submissions,13%

      Upcoming Conference

      FSE '24

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader