[Paper Review] Alias and Change Calculi, Applied to Frame Inference
This paper introduces the alias and change calculi, a formal framework for precise alias analysis in object-oriented programs, enabling automatic inference of 'modifies' clauses—key to solving the frame problem. By modeling object references and changes with high precision, the approach supports frame inference in a statically-typed language and was successfully applied to infer modifies clauses for an existing formally specified library.
Alias analysis, which determines whether two expressions in a program may reference to the same object, has many potential applications in program construction and verification. We have developed a theory for alias analysis, the "alias calculus", implemented its application to an object-oriented language, and integrated the result into a modern IDE. The calculus has a higher level of precision than many existing alias analysis techniques. One of the principal applications is to allow automatic change analysis, which leads to inferring "modifies clauses", providing a significant advance towards addressing the Frame Problem. Experiments were able to infer the "modifies" clauses of an existing formally specified library. Other applications, in particular to concurrent programming, also appear possible. The article presents the calculus, the application to frame analysis including ex-perimental results, and other projected applications. The ongoing work includes building more efficient model capturing aliasing properties and soundness proof for its essential elements.
Motivation & Objective
- To address the frame problem in program verification by enabling automatic inference of modifies clauses.
- To develop a high-precision alias calculus for static analysis of object references in object-oriented programs.
- To integrate alias and change analysis into a modern IDE for practical software construction.
- To support advanced program analysis applications, including concurrent programming and formal verification.
- To provide a sound foundation for change tracking and object state modification reasoning.
Proposed method
- The alias calculus models object references and their potential sharing using formal rules to determine whether two expressions may refer to the same object.
- The change calculus tracks how object states evolve across program operations, based on aliasing information.
- The framework integrates with a statically-typed object-oriented language to infer 'modifies' clauses automatically.
- The approach uses a formal model of object references and state changes, with soundness guarantees for core components.
- Experiments apply the calculus to an existing formally specified library to infer modifies clauses.
- The system is integrated into an IDE to support interactive program construction and verification.
Experimental results
Research questions
- RQ1Can alias and change calculi enable precise static analysis of object references in object-oriented programs?
- RQ2Can the calculus automatically infer 'modifies' clauses for program methods, thereby addressing the frame problem?
- RQ3How does the precision of this alias calculus compare to existing techniques in practical settings?
- RQ4Can the framework be effectively integrated into an IDE for developer assistance?
- RQ5What are the practical applications of this calculus beyond frame inference, such as in concurrent programming?
Key findings
- The alias calculus achieves higher precision than many existing alias analysis techniques.
- The framework successfully inferred 'modifies' clauses for an existing formally specified library, demonstrating practical applicability.
- The integration into an IDE enables real-time support for program construction and verification.
- The approach provides a sound foundation for change analysis, supporting formal verification and frame inference.
- Projected applications include concurrent programming and advanced static analysis, with ongoing work on efficiency and formal soundness proofs.
Better researchstarts right now
From reading papers to final review, dramatically reduce your research time.
No credit card · Free plan available
This review was created by AI and reviewed by human editors.