This paper explains how a uniform, specification-based approach to reasoning about component-based programs can be used to reason about programs that manipulate pointers. No special axi-oms, language semantics, global heap model, or proof rules for pointers are necessary. We show how this is possible by capturing pointers and operations that manipulate them in the specification of a software component. The proposed approach is mechanizable as long as programmers are able to understand mathematical specifications and write assertions, such as loop invariants. While some of the previous efforts in reasoning do not require such mathematical sophistication on the part of programmers, they are limited in the kinds of properties they can prove ab...
Abstract. Proof-Carrying Code brings two big challenges to the re-search field of programming langua...
We present a technique for automatic verification of pointer programs based on a decision procedure ...
Programs routinely use complicated pointer (linked list-type) data structures such as linked lists, ...
This paper explains how a uniform, specification-based approach to reasoning about component-based p...
Pointers are an important programming concept. They are used explicitely or implicitly in many progr...
AbstractThis talk gives an overview of various approaches for verifying the correctness of programs ...
The safety of pointer programs is an important issue in high-assurance software design, and their ve...
Pointer analysis is a fundamental static program analysis, with a rich literature and wide applicati...
AbstractBuilding on the work of Burstall, this paper develops sound modelling and reasoning methods ...
This note presents a calculational method for dealing with pointers in weakest precondition semanti...
We present a new framework for verifying partial specifications of programs in order to catch type a...
This research describes a component-based approach to proving the correctness of programs involving ...
Abstract: Object-oriented programs [Dahl, Goldberg, Meyer] are notoriously prone to the following ki...
The proliferation of software across all aspects of people's life means that software failure can br...
Even though impressive progress has been made in the area of optimizing and parallelizing array-base...
Abstract. Proof-Carrying Code brings two big challenges to the re-search field of programming langua...
We present a technique for automatic verification of pointer programs based on a decision procedure ...
Programs routinely use complicated pointer (linked list-type) data structures such as linked lists, ...
This paper explains how a uniform, specification-based approach to reasoning about component-based p...
Pointers are an important programming concept. They are used explicitely or implicitly in many progr...
AbstractThis talk gives an overview of various approaches for verifying the correctness of programs ...
The safety of pointer programs is an important issue in high-assurance software design, and their ve...
Pointer analysis is a fundamental static program analysis, with a rich literature and wide applicati...
AbstractBuilding on the work of Burstall, this paper develops sound modelling and reasoning methods ...
This note presents a calculational method for dealing with pointers in weakest precondition semanti...
We present a new framework for verifying partial specifications of programs in order to catch type a...
This research describes a component-based approach to proving the correctness of programs involving ...
Abstract: Object-oriented programs [Dahl, Goldberg, Meyer] are notoriously prone to the following ki...
The proliferation of software across all aspects of people's life means that software failure can br...
Even though impressive progress has been made in the area of optimizing and parallelizing array-base...
Abstract. Proof-Carrying Code brings two big challenges to the re-search field of programming langua...
We present a technique for automatic verification of pointer programs based on a decision procedure ...
Programs routinely use complicated pointer (linked list-type) data structures such as linked lists, ...