Communicating sequential processes
Communicating sequential processes
Automatic verification of finite-state concurrent systems using temporal logic specifications
ACM Transactions on Programming Languages and Systems (TOPLAS)
Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
The program dependence graph and its use in optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
Interprocedural slicing using dependence graphs
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
The program summary graph and flow-sensitive interprocedual data flow analysis
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
Interprocedural side-effect analysis in linear time
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
Communication and concurrency
A general-purpose algorithm for analyzing concurrent programs
Communications of the ACM
Analysis of pointers and structures
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
Design and validation of computer protocols
Design and validation of computer protocols
Properties of data flow frameworks: a unified model
Acta Informatica
Data flow analysis of concurrent systems that use the rendezvous model of synchronization
TAV4 Proceedings of the symposium on Testing, analysis, and verification
Interprocedural aliasing in the presence of pointers
Interprocedural aliasing in the presence of pointers
The use of program dependence graphs in software engineering
ICSE '92 Proceedings of the 14th international conference on Software engineering
The concurrency workbench: a semantics-based tool for the verification of concurrent systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
PPOPP '93 Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming
Interprocedural may-alias analysis for pointers: beyond k-limiting
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Context-insensitive alias analysis reconsidered
PLDI '95 Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
Analyzing the communication topology of concurrent programs
PEPM '95 Proceedings of the 1995 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Semantic analysis of shared-memory concurrent languages using abstract model-checking
PEPM '95 Proceedings of the 1995 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Solving shape-analysis problems in languages with destructive updating
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Model checking for programming languages using VeriSoft
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
On Live-Dead Analysis for Global Data Flow Problems
Journal of the ACM (JACM)
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Symbolic Model Checking
Partial-Order Methods for the Verification of Concurrent Systems: An Approach to the State-Explosion Problem
Dependence graphs and compiler optimizations
POPL '81 Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Abstract Interpretation of the pi-Calculus
Selected papers from the 5th LOMAPS Workshop on Analysis and Verification of Multiple-Agent Languages
Specification and verification of concurrent systems in CESAR
Proceedings of the 5th Colloquium on International Symposium on Programming
Generic Techniques for Source-Level Debugging and Dynamic Program Slicing
TAPSOFT '95 Proceedings of the 6th International Joint Conference CAAP/FASE on Theory and Practice of Software Development
ICSE '81 Proceedings of the 5th international conference on Software engineering
Semantics-based program analysis via symbolic composition of transfer relations
Semantics-based program analysis via symbolic composition of transfer relations
Filter-based model checking of partial systems
SIGSOFT '98/FSE-6 Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering
A practical method for verifying event-driven software
Proceedings of the 21st international conference on Software engineering
Proceedings of the 22nd international conference on Software engineering
Automated systematic testing for constraint-based interactive services
SIGSOFT '00/FSE-8 Proceedings of the 8th ACM SIGSOFT international symposium on Foundations of software engineering: twenty-first century applications
An Automated Verification Method for Distributed Systems Software Based on Model Extraction
IEEE Transactions on Software Engineering
Domain partitioning for open reactive systems
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
Synchronous Closing of Timed SDL Systems for Model Checking
VMCAI '02 Revised Papers from the Third International Workshop on Verification, Model Checking, and Abstract Interpretation
State Space Reduction Based on Live Variables Analysis
SAS '99 Proceedings of the 6th International Symposium on Static Analysis
SAS '01 Proceedings of the 8th International Symposium on Static Analysis
Closing Open SDL-Systems for Model Checking with DTSpin
FME '02 Proceedings of the International Symposium of Formal Methods Europe on Formal Methods - Getting IT Right
State space reduction based on live variables analysis
Science of Computer Programming - Special issue on static analysis (SAS'99)
Computer-assisted assume/guarantee reasoning with VeriSoft
Proceedings of the 25th International Conference on Software Engineering
Using model checking to debug device firmware
ACM SIGOPS Operating Systems Review - OSDI '02: Proceedings of the 5th symposium on Operating systems design and implementation
Adapting side effects analysis for modular program model checking
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
Using model checking to debug device firmware
OSDI '02 Proceedings of the 5th symposium on Operating systems design and implementationCopyright restrictions prevent ACM from being able to make the PDFs for this conference available for downloading
DART: directed automated random testing
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Software Model Checking: The VeriSoft Approach
Formal Methods in System Design
Application of design for verification with concurrency controllers to air traffic control software
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Application of automated environment generation to commercial software
Proceedings of the 2006 international symposium on Software testing and analysis
Interface grammars for modular software model checking
Proceedings of the 2007 international symposium on Software testing and analysis
Automated Software Engineering
Netstub: a framework for verification of distributed java applications
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Scalable Software Model Checking Using Design for Verification
Verified Software: Theories, Tools, Experiments
Exhaustive testing of exception handlers with enforcer
FMCO'06 Proceedings of the 5th international conference on Formal methods for components and objects
Information and Software Technology
Enforcer – efficient failure injection
FM'06 Proceedings of the 14th international conference on Formal Methods
Hi-index | 0.00 |
We study in this paper the problem of analyzing implementations of open systems --- systems in which only some of the components are present. We present an algorithm for automatically closing an open concurrent reactive system with its most general environment, i.e., the environment that can provide any input at any time to the system. The result is a nondeterministic closed (i.e., self-executable) system which can exhibit all the possible reactive behaviors of the original open system. These behaviors can then be analyzed using VeriSoft, an existing tool for systematically exploring the state spaces of closed systems composed of multiple (possibly nondeterministic) processes executing arbitrary code. We have implemented the techniques introduced in this paper in a prototype tool for automatically closing open programs written in the C programming language. We discuss preliminary experimental results obtained with a large telephone-switching software application developed at Lucent Technologies.