A proof system for concurrent ADA programs
Science of Computer Programming
Modeling the ADA task system by Petri nets
Computer Languages
Communicating sequential processes
Communicating sequential processes
A model and temporal proof system for networks of processes
Distributed Computing
IEEE Transactions on Software Engineering
Using symbolic execution for verification of Ada tasking programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
An isolation approach to symbolic execution-based verification of Ada tasking programs
Journal of Systems and Software
An Introduction to Proving the Correctness of Programs
ACM Computing Surveys (CSUR)
ACM Computing Surveys (CSUR)
A Proof System for Communicating Sequential Processes
ACM Transactions on Programming Languages and Systems (TOPLAS)
The ``Hoare Logic'' of CSP, and All That
ACM Transactions on Programming Languages and Systems (TOPLAS)
Verifying properties of parallel programs: an axiomatic approach
Communications of the ACM
An axiomatic basis for computer programming
Communications of the ACM
A Calculus of Communicating Systems
A Calculus of Communicating Systems
Principles of proving concurrent programs in Gypsy
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Task Interaction Graphs for Concurrency Analysis
Task Interaction Graphs for Concurrency Analysis
Using symbolic execution for verification of Ada tasking programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
A model of Ada programs for static deadlock detection in polynomial times
PADD '91 Proceedings of the 1991 ACM/ONR workshop on Parallel and distributed debugging
Automated Analysis of Concurrent Systems with the Constrained Expression Toolset
IEEE Transactions on Software Engineering
A verification helper for task specifications
SAC '93 Proceedings of the 1993 ACM/SIGAPP symposium on Applied computing: states of the art and practice
Analysis of timing hazards in Ada programs
CSC '93 Proceedings of the 1993 ACM conference on Computer science
An Application of Formal Analysis to Software in a Fault-Tolerant Environment
IEEE Transactions on Computers
Symbolic execution of communicating and hierarchically composed UML-RT state machines
NFM'12 Proceedings of the 4th international conference on NASA Formal Methods
Hi-index | 0.01 |
The isolation approach to symbolic execution of Ada tasking programs provides a basis for automating partial correctness proofs. The strength of this approach lies in its isolation nature; tasks are symbolically executed and verified independently, and then checked for cooperation where interference can occur. This keeps the verification task computationally feasible and enhances its compositionality. Safety, however, is a more appropriate notion of correctness for concurrent programs than partial correctness. The author shows how the isolation approach to symbolic execution of Ada tasking program supports the verification of general safety properties. Specific safety properties that are considered include mutual exclusion, freedom from deadlock, and absence of communication failure. The techniques are illustrated using a solution to the readers and writers problem.