• Corpus ID: 1641

On Role Logic

@article{Kuncak2003OnRL,
  title={On Role Logic},
  author={Viktor Kuncak and Martin C. Rinard},
  journal={ArXiv},
  year={2003},
  volume={cs.PL/0408018}
}
We present role logic, a notation for describing properties of relational structures in shape analysis, databases, and knowledge bases. We construct role logic using the ideas of de Bruijn’s notation for lambda calculus, an encoding of first-order logic in lambda calculus, and a simple rule for implicit arguments of unary and binary predicates. The unrestricted version of role logic has the expressive power of first-order logic with transitive closure. Using a syntactic restriction on role… 

Decision Procedures for Set-Valued Fields

Description logics for shape analysis

  • L. GeorgievaPatrick Maier
  • Computer Science
    Third IEEE International Conference on Software Engineering and Formal Methods (SEFM'05)
  • 2005
A predicate abstraction based shape analysis, parameterized by description logics to represent the abstraction predicates is proposed, whichDepending on the particular logic chosen sharing, reachability and separation in pointer data structures are expressible.

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

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.

On Spatial Conjunction as Second-Order Logic

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.

On the Complexity of the Bernays-Schönfinkel Class with Datalog

It is proved that both satisfiability and entailment for the new logic are decidable in NEXPTIME and a matching lower bound for the original logic is given, which establishes N EXPTIME-completeness of the satisfiabilityand entailment problems for both of them.

Role analysis

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

Bounded Model Checking of Pointer Programs

A small model theorem is scored for the 2-variable fragment of the Bernays-Schonfinkel class extended with least fixed points expressible by certain monadic Datalog programs that shows that this fragment is closed under computing weakest preconditions.

Inductive Reasoning for Shape Invariants

An approach for verifying that imperative programs that destructively manipulate heap data structures do not corrupt their data structures is proposed and off-the-shelf first-order theorem provers are used to reason about these specifications.

Generalized Records and Spatial Conjunction in Role Logic

A natural fragment of role logic corresponds to two-variable logic with counting and is therefore decidable and can be applied to relational structures in shape analysis, databases and knowledge bases.

Model-Checking of Array-Based Systems: from Foundations to Implementation

The notion of array based systems is presented and a suitable format for initial/unsafe states and transition formulae can be designed: this format is sufficiently expressive to cover interesting classes of infinite state systems and, at the same time, generates proof obligations that can be discharged by instantiation and SMT solving techniques for quantifier-free formULae.

References

SHOWING 1-10 OF 76 REFERENCES

BI as an assertion language for mutable data structures

A model in which the law of the excluded middleholds is given is given, thus showing that the approach is compatible with classical logic, and a local character enjoyed by specifications in the logic is described, which enables a class of frame axioms, which say what parts of the heap don't change, to be inferred automatically.

Designing an Algorithm for Role Analysis

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.

Graphs and Decidable Transductions based on Edge Constraints

This work uses monadic second-order logic and introduces edge constraints as a new means of specifying a large class of graph families to overcome the problem of whether a graph family given by a specification A is mapped to a family givenby a specification B is decidable.

Automatic verification of pointer programs using monadic second-order logic

A technique for automatic verification of pointer programs based on a decision procedure for the monadic second-order logic on finite strings that can be used to verify extensive properties of smaller pointer programs and could be particularly useful in a teaching environment.

Separation logic: a logic for shared mutable data structures

  • J. C. Reynolds
  • Computer Science
    Proceedings 17th Annual IEEE Symposium on Logic in Computer Science
  • 2002
An extension of Hoare logic that permits reasoning about low-level imperative programs that use shared mutable data structure is developed, including extensions that permit unrestricted address arithmetic, dynamically allocated arrays, and recursive procedures.

On the Theory of Structural Subtyping

The notion of -term-power of C is introduced, which generalizes the structure arising in structural subtyping and gives an embedding of the monadic second- order theory of infinite binary tree into the first-order theory of structuralSubtyping of recursive types.

The pointer assertion logic engine

A new framework for verifying partial specifications of programs in order to catch type and memory errors and check data structure invariants and can verify a large class of data structures, namely all those that can be expressed as graph types.

Graph types

A notion of graph types is proposed, which allow common shapes, such as doubly-linked lists or threaded trees, to be expressed concisely and efficiently.
...