# Generalized Records and Spatial Conjunction in Role Logic

@article{Kuncak2004GeneralizedRA, title={Generalized Records and Spatial Conjunction in Role Logic}, author={Viktor Kuncak and Martin C. Rinard}, journal={ArXiv}, year={2004}, volume={cs.PL/0408019} }

Role logic is a notation for describing properties of relational structures in shape analysis, databases and knowledge bases. A natural fragment of role logic corresponds to two-variable logic with counting and is therefore decidable.

## Figures and Topics from this paper

## 13 Citations

A Logic of Reachable Patterns in Linked Data-Structures

- Computer ScienceFoSSaCS
- 2006

A new decidable logic for expressing and checking invariants of programs that manipulate dynamically-allocated objects via pointers and destructive pointer updates is defined, and it is possible to use the logic to automatically prove partial correctness of programs performing low-level heap mutations.

Decision Procedures for Set-Valued Fields

- Computer ScienceElectron. Notes Theor. Comput. Sci.
- 2005

This paper explores reasoning techniques for programs that manipulate data structures specified using set-valued abstract fields associated with container objects, and compares the expressive power and the complexity of specification languages based on 1) decidable prefix vocabulary classes of first-order logic, 2) twovariable logic with counting, and 3) Nelson-Oppen combinations of multisorted theories.

No 975 , November 2004 On Decision Procedures for Set-Valued Fields

- 2004

An important feature of object-oriented programming languages is the ability to dynamically instantiate user-defined container data structures such as lists, trees, and hash tables. Programs…

On Spatial Conjunction as Second-Order Logic

- Computer ScienceArXiv
- 2004

These results explain the great expressive power of spatial conjunction and can be used to show that adding unrestricted spatial conjunction to a decidable logic leads to an un-decidable logic.

Bounded Model Checking of Pointer Programs Revisited

- Computer ScienceArXiv
- 2016

This paper improvesounded model checking of pointer programs by extending the expressivity of the underlying logics, and demonstrates that the new logic is capable of modeling more sophisticated data structures with more complex dependencies on heaps and more complex analyses.

A Tableau-Based Decision Procedure for a Fragment of Graph Theory Involving Reachability and Acyclicity

- Computer ScienceTABLEAUX
- 2005

The language DGRA is decidable, and that its decidability problem is NP-complete, and it is proved that the language enjoys a small model property: if a formula is satisfiable, then it has a model whose cardinality is polynomial in the size of the formula.

Modular data structure verification

- Mathematics, Computer Science
- 2007

These techniques enabled Jahob to modularly and automatically verify data structure implementations based on singly and doubly-linked lists, trees with parent pointers, priority queues, and hash tables, and never produce run-time errors such as null dereferences or out of bounds accesses.

The First-Order Theory of Sets with Cardinality Constraints is Decidable

- Mathematics, Computer ScienceArXiv
- 2004

Note: MIT CSAIL report number 958Superseded by citeKuncakETAL06DecidingBooleanAlgebraPresburgerArithmetic Reference LARA-REPORT-2004-003 URL: http://arxiv.org/abs/cs/0407045 Record created on…

Developments in Data Structure Research During the First 25 Years of FSTTCS

- Computer ScienceFSTTCS
- 2005

We survey and highlight some of the developments in data structure research during the time of the first 25 years of the FSTTCS conference series.

Symbolic shape analysis

- Computer Science
- 2009

The goal of program verification is to ensure software reliability by establishing a mathematical proof which guarantees that the software behaves correctly. Program analysis tools assist the…

## References

SHOWING 1-10 OF 64 REFERENCES

On Role Logic

- Computer ScienceArXiv
- 2004

A translation of an imperative language into the decidable fragment RL 2, which allows compositional verification of programs that manipulate relational structures and shows how RL 2 encodes boolean shape anal.

Operations on Records

- Computer ScienceMath. Struct. Comput. Sci.
- 1991

The approach unifies and extends previous notions of records, bounded quantification, record extension, and parametrization by row-variables, within a framework based on typed Iambda-calcutus.

A Decidable Logic for Describing Linked Data Structures

- Computer ScienceESOP
- 1999

It is shown that Lr is decidable, and it is explained how Lr relates to two previously defined structuredescription formalisms by showing how an arbitrary shape descriptor from each of these formalisms can be translated into an Lr formula.

Designing an Algorithm for Role Analysis

- Computer Science
- 2001

An interprocedural, compositional, and context-sensitive role analysis that verifies that a program respects the role constraints across procedure calls is presented, and a programming model that allows temporary violations of role constraints is introduced.

Semantic analysis of pointer aliasing, allocation and disposal in Hoare logic

- Computer SciencePPDP '00
- 2000

A semantics that validates the approach to reasoning about pointers is described, and it is used to help devise axioms for operations that allocate and dispose of memory.

Description Logics in Data Management

- Computer ScienceIEEE Trans. Knowl. Data Eng.
- 1995

This work indicates how one can achieve enhanced access to data and knowledge by using descriptions in languages for schema design and integration, queries, answers, updates, rules, and constraints.

Role analysis

- Computer SciencePOPL '02
- 2002

An interprocedural, compositional, and context-sensitive role analysis algorithm that verifies that a program maintains role constraints is presented.

Roles Are Really Great!

- Computer ScienceArXiv
- 2004

A new role system for specifying changing referencing relationships of heap objects and an interprocedural, compositional, and context-sensitive role analysis algorithm that verifies that a program respects the role constraints.

Deciding validity in a spatial logic for trees

- Computer ScienceTLDI '03
- 2003

A sequent calculus is introduced for the logic, and it is shown to be sound and complete with respect to an interpretation in terms of satisfaction and validity, and a small programming language is described based on this idea.

A Language for Role Specifications

- Computer ScienceLCPC
- 2001

A programming model which allows the developer to specify the roles of objects at different points in the computation and the effect of each operation at the granularity of role changes that occur in identified regions of the heap is provided.