Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
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 2011 Publication History
  • Get Citation Alerts
  • 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.
    [2]
    R. Alur and P. Madhusudan. Visibly pushdown languages. In STOC, 2004.
    [3]
    R. Alur and P. Madhusudan. Adding nesting structure to words. J. ACM, 56(3), 2009.
    [4]
    V. Bono, C. Messa, and L. Padovani. Typing copyless message passing. In ESOP, 2011.
    [5]
    A. Bouajjani, J. Esparza, and O. Maler. Reachability analysis of pushdown automata: Application to model checking. In CONCUR, 1997.
    [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.
    [7]
    J. Caballero and D. Song. Polyglot: Automatic extraction of protocol format using dynamic binary analysis. In CCS, 2007.
    [8]
    D. Caucal. On the regular structure of prefix rewriting. In CAAP, 1990.
    [9]
    E. Clarke, N. Sharygina, and N. Sinha. Program compatibility approaches. In FMCO, 2005.
    [10]
    CodeSurfer system. www.grammatech.com/products/codesurfer.
    [11]
    P. Collingbourne and P. Kelly. Inference of session types from control flow. ENTCS, 238(6), 2010.
    [12]
    W. Cui, M. Peinado, K. Chen, H. Wang, and L. Irun-Briz. Tupni: Automatic reverse engineering of input formats. In CCS, 2008.
    [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.
    [14]
    A. Finkel, B. Willems, and P. Wolper. A direct symbolic approach to model checking pushdown systems. ENTCS, 9, 1997.
    [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.
    [16]
    S. Hallem, B. Chelf, Y. Xie, and D. Engler. A system and language for building system-specific, static analyses. In PLDI, 2002.
    [17]
    K. Honda. Types for dyadic interaction. In CONCUR. 1993.
    [18]
    J. Hornick. Icons. http://msdn.microsoft.com/en-us/library/ms997538.aspx.
    [19]
    R. Hu, D. Kouzapas, O. Pernet, N. Yoshida, and K. Honda. Type-safe eventful sessions in java. In ECOOP. 2010.
    [20]
    N. Kidd, A. Lal, and T. Reps. WALi: The Weighted Automaton Library, 2007. www.cs.wisc.edu/wpis/wpds/download.php.
    [21]
    R. Komondoor and G. Ramalingam. Recovering data models via guarded dependences. In WCRE, 2007.
    [22]
    T. Kremenek, P. Twohey, G. Back, A. Ng, and D. Engler. From uncertainty to belief: inferring the specification within. In OSDI, 2006.
    [23]
    J. Lim, T. Reps, and B. Liblit. Extracting output formats from executables. In WCRE, 2006.
    [24]
    Z. Lin, X. Jiang, D. Xu, and X. Zhang. Automatic protocol format reverse engineering through context-aware monitored execution. In NDSS, 2008.
    [25]
    Z. Lin and X. Zhang. Deriving input syntactic structure from execution. In FSE, 2008.
    [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.
    [27]
    S. McCamant and M. Ernst. Early identification of incompatibilities in multicomponent upgrades. In ECOOP, 2004.
    [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.
    [29]
    O. Nierstrasz and M. Papathomas. Viewing object as patterns of communicating agents. In OOPSLA, 1990.
    [30]
    S. Rajamani and J. Rehof. Conformance checking for models of asynchronous message passing software. In CAV, 2002.
    [31]
    T. Reps, S. Horwitz, and M. Sagiv. Precise interprocedural dataflow analysis via graph reachability. In POPL, 1995.
    [32]
    S. Schwoon. Model-Checking Pushdown Systems. PhD thesis, TUM, Munich, Germany, July 2002.
    [33]
    Z. Stengel and T. Bultan. Analyzing Singluarity channel contracts. In ISSTA. 2009.
    [34]
    G. Wondracek, P. Comparetti, C. Kruegel, and E. Kirda. Automatic network protocol analysis. In NDSS, 2008.

    Cited By

    View all

    Recommendations

    Comments

    Information & Contributors

    Information

    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
    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: 09 September 2011

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. language containment
    2. producer-consumer compatibility
    3. visibly pushdown automata

    Qualifiers

    • Research-article

    Conference

    ESEC/FSE'11
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 17 of 128 submissions, 13%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)7
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 12 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2022)Colored nested wordsFormal Methods in System Design10.1007/s10703-021-00384-258:3(347-374)Online publication date: 20-Jan-2022
    • (2016)Monitoring Assumptions in Assume-Guarantee ContractsElectronic Proceedings in Theoretical Computer Science10.4204/EPTCS.208.4208(46-53)Online publication date: 25-May-2016
    • (2016)Hankel Matrices for Weighted Visibly Pushdown AutomataLanguage and Automata Theory and Applications10.1007/978-3-319-30000-9_36(464-477)Online publication date: 26-Feb-2016
    • (2016)Colored Nested WordsLanguage and Automata Theory and Applications10.1007/978-3-319-30000-9_11(143-155)Online publication date: 26-Feb-2016
    • (2015)Ramsey-Based Inclusion Checking for Visibly Pushdown AutomataACM Transactions on Computational Logic10.1145/277422116:4(1-24)Online publication date: 26-Aug-2015
    • (2015)Program specialization and verification using file format specificationsProceedings of the 2015 IEEE International Conference on Software Maintenance and Evolution (ICSME)10.1109/ICSM.2015.7332465(191-200)Online publication date: 29-Sep-2015
    • (2014)Recovery of Class Hierarchies and Composition Relationships from Machine CodeCompiler Construction10.1007/978-3-642-54807-9_4(61-84)Online publication date: 2014
    • (2013)Evaluation of the producer-consumer problem2013 International Conference on Quality, Reliability, Risk, Maintenance, and Safety Engineering (QR2MSE)10.1109/QR2MSE.2013.6626013(2155-2158)Online publication date: Jul-2013
    • (2013)Ramsey goes visibly pushdownProceedings of the 40th international conference on Automata, Languages, and Programming - Volume Part II10.1007/978-3-642-39212-2_22(224-237)Online publication date: 8-Jul-2013
    • (2012)OpenNWAProceedings of the 24th international conference on Computer Aided Verification10.1007/978-3-642-31424-7_47(665-671)Online publication date: 7-Jul-2012

    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