This is a systematic and comprehensive introduction both to compositional proof methods for the state-based verification of concurrent programs, such as the assumption-commitment and rely-guarantee paradigms, and to noncompositional methods, whose presentation culminates in an exposition of the communication-closed-layers (CCL) paradigm for verifying network protocols.
Cited By
- Antonopoulos T, Koskinen E, Le T, Nagasamudram R, Naumann D and Ngo M (2023). An Algebra of Alignment for Relational Verification, Proceedings of the ACM on Programming Languages, 7:POPL, (573-603), Online publication date: 9-Jan-2023.
- Jones C and Misra J Finding Effective Abstractions Theories of Programming, (23-40)
- Hayes I and Meinicke L Developing an Algebra for Rely/Guarantee Concurrency: Design Decisions and Challenges Unifying Theories of Programming, (176-197)
- Jones C Reasoning About Shared-Variable Concurrency: Interactions Between Research Threads Formal Methods. FM 2019 International Workshops, (54-72)
- Hayes I, Meinicke L, Winter K and Colvin R (2019). A synchronous program algebra: a basis for reasoning about shared-memory and event-based concurrency, Formal Aspects of Computing, 31:2, (133-163), Online publication date: 1-Apr-2019.
- Matos Pedro A, Pinto J, Pereira D and Pinho L (2018). Runtime verification of autopilot systems using a fragment of MTL-$${\int }$$?, International Journal on Software Tools for Technology Transfer (STTT), 20:4, (379-395), Online publication date: 1-Aug-2018.
- Broy M (2018). Theory and methodology of assumption/commitment based system interface specification and architectural contracts, Formal Methods in System Design, 52:1, (33-87), Online publication date: 1-Feb-2018.
- Colvin R, Hayes I and Meinicke L (2017). Designing a semantic model for a wide-spectrum language with concurrency, Formal Aspects of Computing, 29:5, (853-875), Online publication date: 1-Sep-2017.
- Moszkowski B and Guelev D (2017). An application of temporal projection to interleaving concurrency, Formal Aspects of Computing, 29:4, (705-750), Online publication date: 1-Jul-2017.
- Siirtola A, Tripakis S and Heljanko K (2017). When Do We Not Need Complex Assume-Guarantee Rules?, ACM Transactions on Embedded Computing Systems, 16:2, (1-25), Online publication date: 14-Apr-2017.
- Hooman J Industrial Application of Formal Models Generated from Domain Specific Languages Essays Dedicated to Frank de Boer on Theory and Practice of Formal Methods - Volume 9660, (277-293)
- Groenewegen L, Kuiper R and Vink E Towards a Proof Method for Paradigm Essays Dedicated to Frank de Boer on Theory and Practice of Formal Methods - Volume 9660, (242-260)
- Dongol B and Derrick J (2015). Verifying Linearisability, ACM Computing Surveys, 48:2, (1-43), Online publication date: 21-Nov-2015.
- Moszkowski B and Guelev D An Application of Temporal Projection toźInterleaving Concurrency Proceedings of the First International Symposium on Dependable Software Engineering: Theories, Tools, and Applications - Volume 9409, (153-167)
- Dongol B and Derrick J (2015). Interval-based data refinement, Science of Computer Programming, 111:P2, (214-247), Online publication date: 1-Nov-2015.
- Farzan A, Kincaid Z and Podelski A (2015). Proof Spaces for Unbounded Parallelism, ACM SIGPLAN Notices, 50:1, (407-420), Online publication date: 11-May-2015.
- Namjoshi K and Trefler R Analysis of Dynamic Process Networks Proceedings of the 21st International Conference on Tools and Algorithms for the Construction and Analysis of Systems - Volume 9035, (164-178)
- Farzan A, Kincaid Z and Podelski A Proof Spaces for Unbounded Parallelism Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, (407-420)
- Cimatti A and Tonetta S (2015). Contracts-refinement proof system for component-based embedded systems, Science of Computer Programming, 97:P3, (333-348), Online publication date: 1-Jan-2015.
- Tofan B, Travkin O, Schellhorn G and Wehrheim H (2014). Two approaches for proving linearizability of multiset, Science of Computer Programming, 96:P3, (297-314), Online publication date: 15-Dec-2014.
- He F, Wang B, Yin L and Zhu L Symbolic assume-guarantee reasoning through BDD learning Proceedings of the 36th International Conference on Software Engineering, (1071-1082)
- Pradella M, Morzenti A and Pietro P (2013). Bounded satisfiability checking of metric temporal logic specifications, ACM Transactions on Software Engineering and Methodology, 22:3, (1-54), Online publication date: 1-Jul-2013.
- Zhu H, Xu Q, Ma C, Qin S and Qiu Z The rely/guarantee approach to verifying concurrent BPEL programs Proceedings of the 10th international conference on Software Engineering and Formal Methods, (172-187)
- Jones C Abstraction as a unifying link for formal approaches to concurrency Proceedings of the 10th international conference on Software Engineering and Formal Methods, (1-15)
- Rouff C, Buskens R, Pullum L, Cui X and Hinchey M The AdaptiV approach to verification of adaptive systems Proceedings of the Fifth International C* Conference on Computer Science and Software Engineering, (118-122)
- Namjoshi K and Trefler R Local symmetry and compositional verification Proceedings of the 13th international conference on Verification, Model Checking, and Abstract Interpretation, (348-362)
- Goncharov S and Schröder L A coinductive calculus for asynchronous side-effecting processes Proceedings of the 18th international conference on Fundamentals of computation theory, (276-287)
- Miné A Static analysis of run-time errors in embedded critical parallel C programs Proceedings of the 20th European conference on Programming languages and systems: part of the joint European conferences on theory and practice of software, (398-418)
- Faber J Verification architectures Proceedings of the 8th international conference on Integrated formal methods, (136-151)
- Cohen A, Namjoshi K and Sa'ar Y A dash of fairness for compositional reasoning Proceedings of the 22nd international conference on Computer Aided Verification, (543-557)
- Namjoshi K and Trefler R (2010). On the completeness of compositional reasoning methods, ACM Transactions on Computational Logic, 11:3, (1-22), Online publication date: 1-May-2010.
- Bäumler S, Balser M, Nafz F, Reif W and Schellhorn G (2010). Interactive verification of concurrent systems using symbolic execution, AI Communications, 23:2-3, (285-307), Online publication date: 1-Apr-2010.
- Hoang T and Abrial J Event-b decomposition for parallel programs Proceedings of the Second international conference on Abstract State Machines, Alloy, B and Z, (319-333)
- Emerson E Meanings of model checking Concurrency, Compositionality, and Correctness, (237-249)
- Broy M Synchronous message passing Concurrency, Compositionality, and Correctness, (118-126)
- Cohen A and Namjoshi K (2009). Local proofs for global safety properties, Formal Methods in System Design, 34:2, (104-125), Online publication date: 1-Apr-2009.
- Huisman M and Gurov D (2009). Composing Modal Properties of Programs with Procedures, Electronic Notes in Theoretical Computer Science (ENTCS), 203:7, (87-101), Online publication date: 1-Apr-2009.
- Feng X (2009). Local rely-guarantee reasoning, ACM SIGPLAN Notices, 44:1, (315-327), Online publication date: 21-Jan-2009.
- Feng X Local rely-guarantee reasoning Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (315-327)
- Moffat N and Goldsmith M (2008). Assumption---Commitment Support for CSP Model Checking, Journal of Automated Reasoning, 41:3-4, (365-398), Online publication date: 1-Nov-2008.
- Cohen A and Namjoshi K Local Proofs for Linear-Time Properties of Concurrent Programs Proceedings of the 20th international conference on Computer Aided Verification, (149-161)
- Li J, Sun X, Xie F and Song X Component-Based Abstraction and Refinement Proceedings of the 10th international conference on Software Reuse: High Confidence Software Reuse in Large Systems, (39-51)
- Bianculli D and Ghezzi C Towards a methodology for lifelong validation of service compositions Proceedings of the 2nd international workshop on Systems development in SOA environments, (7-12)
- Andova S, Cremers C, Gjøsteen K, Mauw S, Mjølsnes S and Radomirović S (2008). A framework for compositional verification of security protocols, Information and Computation, 206:2-4, (425-459), Online publication date: 1-Feb-2008.
- Hillebrand M and Paul W On the architecture of system verification environments Proceedings of the 3rd international Haifa verification conference on Hardware and software: verification and testing, (153-168)
- Hillebrand M and Paul W On the Architecture of System Verification Environments Hardware and Software: Verification and Testing, (153-168)
- Langenstein B, Nonnengart A, Rock G and Stephan W Verification of distributed applications Proceedings of the 26th international conference on Computer Safety, Reliability, and Security, (315-328)
- Cohen A and Namjoshi K Local proofs for global safety properties Proceedings of the 19th international conference on Computer aided verification, (55-67)
- Moffat N and Goldsmith M (2007). Assumption-Commitment Support for CSP Model Checking, Electronic Notes in Theoretical Computer Science (ENTCS), 185, (121-137), Online publication date: 1-Jul-2007.
- Jones C (2007). Splitting atoms safely, Theoretical Computer Science, 375:1-3, (109-119), Online publication date: 20-Apr-2007.
- Namjoshi K Symmetry and completeness in the analysis of parameterized systems Proceedings of the 8th international conference on Verification, model checking, and abstract interpretation, (299-313)
- Xie F, Yang G and Song X Compositional reasoning for hardware/software co-verification Proceedings of the 4th international conference on Automated Technology for Verification and Analysis, (154-169)
- Charpentier M (2006). Composing invariants, Science of Computer Programming, 60:3, (221-243), Online publication date: 1-May-2006.
- Jones C (2006). An Approach to Splitting Atoms Safely, Electronic Notes in Theoretical Computer Science (ENTCS), 155, (43-60), Online publication date: 1-May-2006.
- Babot F, Bertran M and Climent A A static communication elimination algorithm for distributed system verification Proceedings of the 7th international conference on Formal Methods and Software Engineering, (375-389)
- Furia C, Rossi M, Mandrioli D and Morzenti A Automated compositional proofs for real-time systems Proceedings of the 8th international conference, held as part of the joint European Conference on Theory and Practice of Software conference on Fundamental Approaches to Software Engineering, (326-340)
- Gössler G and Sifakis J (2005). Composition for component-based modeling, Science of Computer Programming, 55:1-3, (161-183), Online publication date: 1-Mar-2005.
- Compton M Stenning's protocol implemented in UDP and verified in Isabelle Proceedings of the 2005 Australasian symposium on Theory of computing - Volume 41, (21-30)
- Hesselink W (2005). Eternity variables to prove simulation of specifications, ACM Transactions on Computational Logic, 6:1, (175-201), Online publication date: 1-Jan-2005.
- Yu D and Shao Z Verification of safety properties for concurrent assembly code Proceedings of the ninth ACM SIGPLAN international conference on Functional programming, (175-188)
- Yu D and Shao Z (2004). Verification of safety properties for concurrent assembly code, ACM SIGPLAN Notices, 39:9, (175-188), Online publication date: 19-Sep-2004.
- Solanki M, Cau A and Zedan H Augmenting semantic web service descriptions with compositional specification Proceedings of the 13th international conference on World Wide Web, (544-552)
- Compositional verification for secure loading of smart card applets Proceedings of the Second ACM/IEEE International Conference on Formal Methods and Models for Co-Design, (211-222)
- Xie F and Browne J (2003). Verified systems by composition from verified components, ACM SIGSOFT Software Engineering Notes, 28:5, (277-286), Online publication date: 1-Sep-2003.
- Xie F and Browne J Verified systems by composition from verified components Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering, (277-286)
- Cau A, Hale R, Dimitrov J, Zedan H, Moszkowski B, Manjunathaiah M and Spivey M (2002). A Compositional Framework for Hardware/Software Co-Design, Design Automation for Embedded Systems, 6:4, (367-399), Online publication date: 1-Jul-2002.
Index Terms
- Concurrency verification: introduction to compositional and noncompositional methods
Recommendations
Formal Specification of Java Concurrency to Assist Software Verification
IPDPS '03: Proceedings of the 17th International Symposium on Parallel and Distributed ProcessingThe Java programming language is a modern object-oriented language that supports concurrency. Ensuring concurrent programs are correct is difficult. Additional problems encountered in concurrent programs, compared with sequential programs, include ...
Specification, verification, and synthesis of concurrency control components
Run-time errors in concurrent programs are generally due to the wrong usage of synchronization primitives such as monitors. Conventional validation techniques such as testing become ineffective for concurrent programs since the state space increases ...