Verification Decidability of Presburger Array Programs
Journal of the ACM (JACM)
An axiomatic basis for computer programming
Communications of the ACM
Verification of fairness in an implementation of monitors
ICSE '76 Proceedings of the 2nd international conference on Software engineering
A methodology for verifying programs
Proceedings of the international conference on Reliable software
Verifying programs by algebraic and logical reduction
Proceedings of the international conference on Reliable software
A program verifier
Automatic verification of programs with complex data structure.
Automatic verification of programs with complex data structure.
Rationale for the design of the Ada programming language
ACM SIGPLAN Notices - Rationale for the deisgn of the Ada programming language
An Exercise in Automatic Program Verification
IEEE Transactions on Software Engineering
A logical approach to data structures
SIGSOFT '93 Proceedings of the 1st ACM SIGSOFT symposium on Foundations of software engineering
A Knowledge-Based Approach to the Analysis of Loops
IEEE Transactions on Software Engineering
ACM Computing Surveys (CSUR)
Assignment and Procedure Call Proof Rules
ACM Transactions on Programming Languages and Systems (TOPLAS)
POPL '81 Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Semantics of Network Data Manipulation Languages: An Object-Oriented Approach
VLDB '82 Proceedings of the 8th International Conference on Very Large Data Bases
FME '02 Proceedings of the International Symposium of Formal Methods Europe on Formal Methods - Getting IT Right
ICSE '81 Proceedings of the 5th international conference on Software engineering
A practical method of documenting and verifying Ada programs with packages
SIGPLAN '80 Proceedings of the ACM-SIGPLAN symposium on The ADA programming language
ANNA: Towards a language for annotating Ada programs
SIGPLAN '80 Proceedings of the ACM-SIGPLAN symposium on The ADA programming language
A preliminary evaluation of verifiability in Ada
ACM '80 Proceedings of the ACM 1980 annual conference
HAL/S/V: a verifiable subset for HAL/S
ACM SIGPLAN Notices
Containment defines a class of recursive data structures
ACM SIGPLAN Notices
A practical method of documenting and verifying Ada programs with packages
SIGPLAN '80 Proceedings of the ACM-SIGPLAN symposium on Ada programming language
ANNA: towards a language for annotating Ada programs
SIGPLAN '80 Proceedings of the ACM-SIGPLAN symposium on Ada programming language
FUNCTIONAL PEARL: Unfolding pointer algorithms
Journal of Functional Programming
Some verification problems in Pascal-like languages
ACM SIGSOFT Software Engineering Notes
ACM SIGSOFT Software Engineering Notes - Proceedings of VERkshop III -- a formal verification workshop
Symbolic method of verification of definite iterations over altered data structures
Programming and Computing Software
A logical analysis of aliasing in imperative higher-order functions
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
A Foundation for Refining Concurrent Objects
Fundamenta Informaticae
Verification of finite iterations over collections of variable data structures
Cybernetics and Systems Analysis
A logical analysis of aliasing in imperative higher-order functions
Journal of Functional Programming
Theoretical Computer Science
Traditional assignment considered harmful
Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications
FM '09 Proceedings of the 2nd World Congress on Formal Methods
Certified absence of dangling pointers in a language with explicit deallocation
IFM'10 Proceedings of the 8th international conference on Integrated formal methods
Formal Methods in System Design
An analysis of permutations in arrays
VMCAI'10 Proceedings of the 11th international conference on Verification, Model Checking, and Abstract Interpretation
Calculational derivation of algorithms on tree-based pointer structures
FAC-RW'96 Proceedings of the BCS-FACS 7th conference on Refinement
A Foundation for Refining Concurrent Objects
Fundamenta Informaticae
Hi-index | 0.01 |
A practical method is presented for automating in a uniform way the verification of Pascal programs that operate on the standard Pascal data structures Array, Record, and Pointer. New assertion language primitives are introduced for describing computational effects of operations on these data structures. Axioms defining the semantics of the new primitives are given. Proof rules for standard Pascal operations on data structures are then defined using the extended assertion language. An axiomatic rule for the Pascal storage allocation operation, NEW, is also given. These rulers have been implemented in the Stanford Pascal program verifier. Examples illustrating the verification of programs which operate on list structures implemented with pointers and records are discussed. These include programs with side effects.