Proving liveness for networks of communicating finite state machines
ACM Transactions on Programming Languages and Systems (TOPLAS) - The MIT Press scientific computation series
Texity of reachablility in distributed communicating processes
Acta Informatica
A general-purpose algorithm for analyzing concurrent programs
Communications of the ACM
Data flow analysis of distributed communicating processes
International Journal of Parallel Programming
Data flow analysis of communicating finite state machines
ACM Transactions on Programming Languages and Systems (TOPLAS)
Context constraints for compositional reachability analysis
ACM Transactions on Software Engineering and Methodology (TOSEM)
An integrated method for effective behaviour analysis of distributed systems
ICSE '94 Proceedings of the 16th international conference on Software engineering
A practical framework for demand-driven interprocedural data flow analysis
ACM Transactions on Programming Languages and Systems (TOPLAS)
Classifying properties: an alternative to the safety-liveness classification
SIGSOFT '00/FSE-8 Proceedings of the 8th ACM SIGSOFT international symposium on Foundations of software engineering: twenty-first century applications
Apportioning: A Technique for Efficient Reachability Analysis of Concurrent Object-Oriented Programs
IEEE Transactions on Software Engineering - Special section on the seventh international software metrics symposium
Symbolic Model Checking
The Theory and Practice of Concurrency
The Theory and Practice of Concurrency
Incremental Integration Testing of Concurrent Programs
IEEE Transactions on Software Engineering
Tractable Dataflow Analysis for Distributed Systems
IEEE Transactions on Software Engineering
Tractable Flow Analysis for Anomaly Detection in Distributed Programs
ESEC '93 Proceedings of the 4th European Software Engineering Conference on Software Engineering
Model and Heuristic Technique for Efficient Verification of Component-Based Software Systems
ICCI '02 Proceedings of the 1st IEEE International Conference on Cognitive Informatics
Towards scalable compositional analysis by refactoring design models
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
Flow analysis for verifying properties of concurrent software systems
ACM Transactions on Software Engineering and Methodology (TOSEM)
Generating BDDs for symbolic model checking in CCS
Distributed Computing
Data-Flow Analysis for MPI Programs
ICPP '06 Proceedings of the 2006 International Conference on Parallel Processing
Creol: a type-safe object-oriented model for distributed concurrent systems
Theoretical Computer Science - Components and objects
ACTLW - An action-based computation tree logic with unless operator
Information Sciences: an International Journal
Learning from mistakes: a comprehensive study on real world concurrency bug characteristics
Proceedings of the 13th international conference on Architectural support for programming languages and operating systems
Principles of Protocol Design
Spin model checker, the: primer and reference manual
Spin model checker, the: primer and reference manual
FLAVERS: a finite state verification technique for software systems
IBM Systems Journal
Compositional Verification of Input-Output Conformance via CSP Refinement Checking
ICFEM '09 Proceedings of the 11th International Conference on Formal Engineering Methods: Formal Methods and Software Engineering
Standards and verification for fair-exchange and atomicity in e-commerce transactions
Information Sciences: an International Journal
Petri Nets: Fundamental Models, Verification and Applications
Petri Nets: Fundamental Models, Verification and Applications
Calibrating embedded protocols on asynchronous systems
Information Sciences: an International Journal
Learning Communicating Automata from MSCs
IEEE Transactions on Software Engineering
Understanding Concurrent Systems
Understanding Concurrent Systems
Symbolic model checking for sequential circuit verification
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
A system for compositional verification of asynchronous objects
Science of Computer Programming
Hi-index | 0.07 |
We present a flow analysis technique for detecting unreachable states and actions in concurrent systems. It is an enhancement of the approach by Cheung and Kramer. Each process of a concurrent system is modeled as a finite state machine, whose states represent process execution states and whose transitions are labeled by actions. We construct dependency sets incrementally and eliminate spurious paths by checking the execution sequences of actions. We prove mathematically that our algorithm can detect more unreachability faults than the well-known Reif/Smolka and Cheung/Kramer algorithms. The algorithm is easy to manage and its complexity is still polynomial to the system size. Case studies on two commonly used communication protocols show that the technique is effective.