A calculus of mobile processes, II
Information and Computation
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Anytime, anywhere: modal logics for mobile ambients
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Pict: a programming language based on the Pi-Calculus
Proof, language, and interaction
Mobile values, new names, and secure communication
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
&pgr;-calculus in (Co)inductive-type theory
Theoretical Computer Science - Special issues on models and paradigms for concurrency
Mechanizing a theory of program composition for UNITY
ACM Transactions on Programming Languages and Systems (TOPLAS)
A type system for lock-free processes
Information and Computation - IFIP TCS2000
A mechanized theory of the &pi-calculus in Hol
Nordic Journal of Computing
Higher-Order Abstract Syntax in Coq
TLCA '95 Proceedings of the Second International Conference on Typed Lambda Calculi and Applications
Experience with Embedding Hardware Description Languages in HOL
Proceedings of the IFIP TC10/WG 10.2 International Conference on Theorem Provers in Circuit Design: Theory, Practice and Experience
A Modular Coding of UNITY in COQ
TPHOLs '96 Proceedings of the 9th International Conference on Theorem Proving in Higher Order Logics
Axiomatic semantics verification of a secure web server
Axiomatic semantics verification of a secure web server
Formalization and verification of a mail server in Coq
ISSS'02 Proceedings of the 2002 Mext-NSF-JSPS international conference on Software security: theories and systems
Hi-index | 0.00 |
Thanks to recent advances, modern proof assistants now enable verification of realistic sequential programs. However, regarding the concurrency paradigm, previous work essentially focused on formalization of abstract systems, such as pure concurrent calculi, which are too minimal to be realistic. In this paper, we propose a library that enables verification of realistic concurrent programs in the Coq proof assistant. Our approach is based on an extension of the @p-calculus whose encoding enables such programs to be modeled conveniently. This encoding is coupled with a specification language akin to spatial logics, including in particular a notion of fairness, which is important to write satisfactory specifications for realistic concurrent programs. In order to facilitate formal proof, we propose a collection of lemmas that can be reused in the context of different verifications. Among these lemmas, the most effective for simplifying the proof task take advantage of confluence properties. In order to evaluate feasibility of verification of concurrent programs using this library, we perform verification for a non-trivial application.