• Corpus ID: 40096921

Steps Towards a Theory and Calculus of Aliasing

@article{Meyer2010StepsTA,
  title={Steps Towards a Theory and Calculus of Aliasing},
  author={Bertrand Meyer},
  journal={Int. J. Softw. Informatics},
  year={2010},
  volume={5},
  pages={77-115}
}
  • B. Meyer
  • Published 11 January 2010
  • Computer Science
  • Int. J. Softw. Informatics
A theory, graphical notation, mathematical calculus and implementation for finding whether two given expressions can, at execution time, denote references attached to the same object. Intended as the basis for a comprehensive solution to the "frame problem" and as a complement to, or even a replacement for, separation logic, shape analysis, ownership types and dynamic frames. 

Automatic Alias Analysis and Frame Inference

Various forms of the alias calculus are described and how it has been applied to addressing problems, from the general verification of object-oriented programs to frame analysis and even deadlock analysis.

ALIAS CALCULUS FOR A SIMPLE IMPERATIVE LANGUAGE WITH DECIDABLE POINTER ARITHMETIC

The primary purpose of the paper is to present a variant of alias calculus for a more realistic programming language with automatic and dynamic memory, regular data and a decidable pointer arithmetic.

Alias and Change Calculi, Applied to Frame Inference

The article presents the calculus, the application to frame analysis including ex-perimental results, and other projected applications, including building more efficient model capturing aliasing properties and soundness proof for its essential elements.

Alias calculus, change calculus and frame inference

Negative Variables and the Essence of Object-Oriented Programming

The notion of negative variable, discussed in this article, provides a framework for reasoning about OO programs in any semantic framework and is implemented as part of a verification environment for a major object-oriented language and used to perform a number of proofs and analyses.

A Precondition Calculus for Correct-by-Construction Graph Transformations

The weakest precondition is computed by a static analysis based on an alias calculus and the developer chooses the formulae that correspond to his intention to obtain a correct-by- construction Hoare triple.

Alias Calculus for a Simple Imperative Language with Decidable Pointer Arithmetic

The primary purpose of the paper is to present a variant of alias calculus for more realistic programming language with static and dynamic memory, with types for regular data as well as for decidable pointer arithmetic.

Elaborating on the alias calculus

This research-in-progress report shows how aliases may be used in Hoare-style reasoning, hence derive at what program points the authors are to compute aliases and propose an algorithm that computes the required aliases.

Framing the Frame Problem

  • B. Meyer
  • Computer Science
    Dependable Software Systems Engineering
  • 2015
The double frame inference strategy automates both frame specification and frame verification, and deduces the set of permissible changes of a routine from a simple examination of its postcondition.

An Automatic Technique for Static Deadlock Prevention

  • B. Meyer
  • Computer Science
    Ershov Memorial Conference
  • 2014
The technique developed in this paper relies on the “alias calculus” to offer a completely static and completely automatic analysis of concurrent object-oriented programs, and proves that the first is deadlock-free and the second deadlocked.

References

SHOWING 1-10 OF 13 REFERENCES

Dynamic Frames: Support for Framing, Dependencies and Sharing Without Restrictions

It is shown how a programming theory with dynamic frames supports both sharing and encapsulation through specification variables, without the use of alias control or any other kind of restriction.

An axiomatic basis for computer programming

In this paper an attempt is made to explore the logical foundations of computer programming by use of techniques which were first applied in the study of geometry and have later been extended to

Ownership types for flexible alias protection

Ownership types form a static type system that indicates object ownership, which provides a flexible mechanism to limit the visibility of object references and restrict access paths to objects, thus controlling a system's dynamic topology.

For applications to specification see Alex Borgida

  • • The frame problem: numerous references starting with Marvin Minsky, A Framework for Representing Knowledge, MIT-AI Memo

Java Modeling Language): references available at www.eecs.ucf

    Prodaná Nevěsta (The Bartered Bride), starring Gabriela Beňačková and Peter Dvorský

    • Prodaná Nevěsta (The Bartered Bride), starring Gabriela Beňačková and Peter Dvorský
    • 1981

    Static analysis: see in particular Flemming Nielson, Hanne R. Nielson and Chris Hankin, Principles of Program Analysis

    • 2004

    Théâtre du Châtelet), released as a DVD by Kultur Video

    • Théâtre du Châtelet), released as a DVD by Kultur Video
    • 2000

    Geneva Convention on the Treatment of Object Aliasing " , a general introduction (gee.cs.oswego.edu/dl/aliasing/aliasing.html) to aliasing issues in object-oriented languages

    • Geneva Convention on the Treatment of Object Aliasing " , a general introduction (gee.cs.oswego.edu/dl/aliasing/aliasing.html) to aliasing issues in object-oriented languages
    • 1991

    @BULLET Static analysis: see in particular Flemming Nielson, Hanne R. Nielson and Chris Hankin, Principles of Program Analysis

    • @BULLET Static analysis: see in particular Flemming Nielson, Hanne R. Nielson and Chris Hankin, Principles of Program Analysis
    • 2004