A proof system for concurrent ADA programs
Science of Computer Programming
Communicating sequential processes
Communicating sequential processes
A model and temporal proof system for networks of processes
Distributed Computing
Verifying General Safety Properties of Ada Tasking Programs
IEEE Transactions on Software Engineering
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)
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
Principles of proving concurrent programs in Gypsy
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Verifying General Safety Properties of Ada Tasking Programs
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
ACM Transactions on Programming Languages and Systems (TOPLAS)
Using symbolic execution for verifying safety-critical systems
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
Pointer analysis for structured parallel programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Analysis of Multithreaded Programs
SAS '01 Proceedings of the 8th International Symposium on Static Analysis
Variably interprocedural program analysis for runtime error detection
Proceedings of the 2007 international symposium on Software testing and analysis
Combining symbolic execution with model checking to verify parallel numerical programs
ACM Transactions on Software Engineering and Methodology (TOSEM)
Symbolic execution for software testing in practice: preliminary assessment
Proceedings of the 33rd International Conference on Software Engineering
Test-case generation and bug-finding through symbolic execution
Proceedings of the South African Institute for Computer Scientists and Information Technologists Conference
Formal analysis of event-driven cyber physical systems
Proceedings of the First International Conference on Security of Internet of Things
Hi-index | 0.00 |
A method is presented for using symbolic execution to generate the verification conditions required for proving correctness of programs written in a tasking subset of Ada. The symbolic execution rules are derived from proof systems that allow tasks to be verified independently in local proofs, which are then checked for cooperation. The isolation nature of this approach to symbolic execution of concurrent programs makes it better suited to formal verification than the more traditional interleaving approach, which suffers from combinatorial problems. The criteria for correct operation of a concurrent program include partial correctness, as well as more general safety properties, such as mutual exclusion and freedom from deadlock.