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. 
A Logic of Reachable Patterns in Linked Data-Structures
TLDR
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
TLDR
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
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
TLDR
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
TLDR
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
TLDR
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
TLDR
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
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
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
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
...
1
2
...

References

SHOWING 1-10 OF 64 REFERENCES
On Role Logic
TLDR
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
TLDR
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
TLDR
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
TLDR
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
TLDR
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
TLDR
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
TLDR
An interprocedural, compositional, and context-sensitive role analysis algorithm that verifies that a program maintains role constraints is presented.
Roles Are Really Great!
TLDR
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
TLDR
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
TLDR
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.
...
1
2
3
4
5
...