Design and validation of computer protocols
Design and validation of computer protocols
ACM Transactions on Programming Languages and Systems (TOPLAS)
A compositional protocol verification using relativized bisimulation
Information and Computation
Higher-order concurrent programs with finite communication topology (extended abstract)
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ACM Transactions on Programming Languages and Systems (TOPLAS)
A theory of bisimulation for the &lgr;-calculus
Acta Informatica
&pgr;-calculus, internal mobility, and agent-passing calculi
TAPSOFT '95 Selected papers from the 6th international joint conference on Theory and practice of software development
IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
Changeable interfaces and promised messages for concurrent components
Proceedings of the 1999 ACM symposium on Applied computing
Communicating and mobile systems: the &pgr;-calculus
Communicating and mobile systems: the &pgr;-calculus
Model checking
Formal specification and verification of a dataflow processor array
ICCAD '99 Proceedings of the 1999 IEEE/ACM international conference on Computer-aided design
Type-based race detection for Java
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
A generic type system for the Pi-calculus
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Language Primitives and Type Discipline for Structured Communication-Based Programming
ESOP '98 Proceedings of the 7th European Symposium on Programming: Programming Languages and Systems
An Assume-Guarantee Rule for Checking Simulation
FMCAD '98 Proceedings of the Second International Conference on Formal Methods in Computer-Aided Design
The Formal Design of 1M-gate ASICs
FMCAD '98 Proceedings of the Second International Conference on Formal Methods in Computer-Aided Design
Graph Types for Monadic Mobile Processes
Proceedings of the 16th Conference on Foundations of Software Technology and Theoretical Computer Science
A Compositional Rule for Hardware Design Refinement
CAV '97 Proceedings of the 9th International Conference on Computer Aided Verification
MOCHA: Modularity in Model Checking
CAV '98 Proceedings of the 10th International Conference on Computer Aided Verification
LICS '96 Proceedings of the 11th Annual IEEE Symposium on Logic in Computer Science
Ownership types for safe programming: preventing data races and deadlocks
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Finite-Control Mobile Ambients
ESOP '02 Proceedings of the 11th European Symposium on Programming Languages and Systems
Modern Concurrency Abstractions for C#
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
EMSOFT '02 Proceedings of the Second International Conference on Embedded Software
Conformance Checking for Models of Asynchronous Message Passing Software
CAV '02 Proceedings of the 14th International Conference on Computer Aided Verification
Convertibility verification and converter synthesis: two faces of the same coin
Proceedings of the 2002 IEEE/ACM international conference on Computer-aided design
Typing correspondence assertions for communication protocols
Theoretical Computer Science
A generic type system for the Pi-calculus
Theoretical Computer Science
A model-checking verification environment for mobile processes
ACM Transactions on Software Engineering and Methodology (TOSEM)
Modern concurrency abstractions for C#
ACM Transactions on Programming Languages and Systems (TOPLAS)
Strong normalisation in the π-calculus
Information and Computation
Correspondence assertions for process synchronization in concurrent communications
Journal of Functional Programming
System level design paradigms: Platform-based design and communication synthesis
Proceedings of the 41st annual Design Automation Conference
Type checking a multithreaded functional language with session types
Theoretical Computer Science
Modular Pluggable Analyses for Data Structure Consistency
IEEE Transactions on Software Engineering
Broad new OS research: challenges and opportunities
HOTOS'05 Proceedings of the 10th conference on Hot Topics in Operating Systems - Volume 10
A type system equivalent to a model checker
ACM Transactions on Programming Languages and Systems (TOPLAS)
Spatial-behavioral types for concurrency and resource control in distributed systems
Theoretical Computer Science
Spatial and Behavioral Types in the Pi-Calculus
CONCUR '08 Proceedings of the 19th international conference on Concurrency Theory
A secure compiler for session abstractions
Journal of Computer Security - 20th IEEE Computer Security Foundations Symposium (CSF)
Types and higher-order recursion schemes for verification of higher-order programs
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
An Ontology-Based Approach to Validation of E-Services under Static and Dynamic Constraints
OTM '08 Proceedings of the OTM 2008 Confederated International Conferences, CoopIS, DOA, GADA, IS, and ODBASE 2008. Part I on On the Move to Meaningful Internet Systems:
ESOP '09 Proceedings of the 18th European Symposium on Programming Languages and Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Local policies for resource usage analysis
ACM Transactions on Programming Languages and Systems (TOPLAS)
Deciding Safety Properties in Infinite-State Pi-Calculus via Behavioural Types
ICALP '09 Proceedings of the 36th Internatilonal Collogquium on Automata, Languages and Programming: Part II
ν -Types for Effects and Freshness Analysis
ICTAC '09 Proceedings of the 6th International Colloquium on Theoretical Aspects of Computing
Typechecking Safe Process Synchronization
Electronic Notes in Theoretical Computer Science (ENTCS)
Modular session types for distributed object-oriented programming
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A hybrid type system for lock-freedom of mobile processes
ACM Transactions on Programming Languages and Systems (TOPLAS)
A calculus for orchestration of web services
ESOP'07 Proceedings of the 16th European conference on Programming
Type abstractions of name-passing processes
FSEN'07 Proceedings of the 2007 international conference on Fundamentals of software engineering
Spatial-behavioral types, distributed services, and resources
TGC'06 Proceedings of the 2nd international conference on Trustworthy global computing
A protocol compiler for secure sessions in ML
TGC'07 Proceedings of the 3rd conference on Trustworthy global computing
Spatial and behavioral types in the pi-calculus
Information and Computation
Theoretical Computer Science
A WSDL-based type system for asynchronous WS-BPEL processes
Formal Methods in System Design
Analysis of deadlocks in object groups
FMOODS'11/FORTE'11 Proceedings of the joint 13th IFIP WG 6.1 and 30th IFIP WG 6.1 international conference on Formal techniques for distributed systems
Models for contract conformance
ISoLA'04 Proceedings of the First international conference on Leveraging Applications of Formal Methods
VMCAI'10 Proceedings of the 11th international conference on Verification, Model Checking, and Abstract Interpretation
A type system equivalent to a model checker
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
Instant polymorphic type systems for mobile process calculi: just add reduction rules and close
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
Resource usage analysis for the π-calculus
VMCAI'06 Proceedings of the 7th international conference on Verification, Model Checking, and Abstract Interpretation
An Algebra of Behavioural Types
Information and Computation
Deciding safety properties in infinite-state pi-calculus via behavioural types
Information and Computation
A provably correct compiler for efficient model checking of mobile processes
PADL'05 Proceedings of the 7th international conference on Practical Aspects of Declarative Languages
Static safety for an actor dedicated process calculus by abstract interpretation
FMOODS'06 Proceedings of the 8th IFIP WG 6.1 international conference on Formal Methods for Open Object-Based Distributed Systems
Parameterized verification of π-calculus systems
TACAS'06 Proceedings of the 12th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Structured Communication-Centered Programming for Web Services
ACM Transactions on Programming Languages and Systems (TOPLAS)
The must preorder revisited: an algebraic theory for web services contracts
CONCUR'07 Proceedings of the 18th international conference on Concurrency Theory
Undecidability of 2-label BPP equivalences and behavioral type systems for the π-calculus
ICALP'07 Proceedings of the 34th international conference on Automata, Languages and Programming
The type discipline of behavioral separation
POPL '13 Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Hi-index | 0.00 |
Abstraction and composition are the fundamental issues in making model checking viable for software. This paper proposes new techniques for automating abstraction and decomposition using source level type information provided by the programmer. Our system includes two novel components to achieve this end: (1) a behavioral type-and-effect system for the π-calculus, which extracts sound models as types, and (2) an assume-guarantee proof rule for carrying out compositional model checking on the types. Open simulation between CCS processes is used as both the subtyping relation in the type system and the abstraction relation for compositional model checking.We have implemented these ideas in a tool---PIPER. PIPER exploits type signatures provided by the programmer to partition the model checking problem, and emit model checking obligations that are discharged using the SPIN model checker. We present the details on applying PIPER on two examples: (1) the SIS standard for managing trouble tickets across multiple organizations and (2) a file reader from the pipelined implementation of a web server.