## On Role Logic (2003)

Citations: | 13 - 7 self |

### BibTeX

@TECHREPORT{Kuncak03onrole,

author = {Viktor Kuncak and Martin Rinard},

title = {On Role Logic},

institution = {},

year = {2003}

}

### OpenURL

### Abstract

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.

### Citations

1855 |
Foundations of Logic Programming
- Lloyd
- 1987
(Show Context)
Citation Context ...66, 8], especially for object-oriented programs [36, 63]; a relational database is a finite relational structure [18, 16]; knowledge bases and deductive databases can also be based on predicate logic =-=[1, 41, 53]-=-. Shape analysis. Shape analysis techniques [65, 29, 33, 26, 27, 25, 17, 40, 39, 43, 37, 55] can verify and derive precise properties of objects in the heap. Shape analysis is therefore important for ... |

1361 | An axiomatic basis for computer programming
- Hoare
- 1969
(Show Context)
Citation Context ...ny areas of Computer Science can be naturally represented as relational structures. The state of an imperative program can be specified using sets and relations denoted by unary and binary predicates =-=[24, 32, 66, 8]-=-, especially for object-oriented programs [36, 63]; a relational database is a finite relational structure [18, 16]; knowledge bases and deductive databases can also be based on predicate logic [1, 41... |

1355 | The Entity-Relationship Model: Toward a Unified View
- Chen
- 1976
(Show Context)
Citation Context ... be specified using sets and relations denoted by unary and binary predicates [24, 32, 66, 8], especially for object-oriented programs [36, 63]; a relational database is a finite relational structure =-=[18, 16]-=-; knowledge bases and deductive databases can also be based on predicate logic [1, 41, 53]. Shape analysis. Shape analysis techniques [65, 29, 33, 26, 27, 25, 17, 40, 39, 43, 37, 55] can verify and de... |

1115 |
The Lambda Calculus: Its Syntax and Semantics
- Barendregt
- 1981
(Show Context)
Citation Context ...g to each bound variable by its name is to refer to each variable by its number, with number 1 denoting the most recently bound variable. This is the idea behind de Bruijn indices for lambda calculus =-=[22, 4]-=-. Figure 5 presents the syntax and the semantics of lambda calculus notation with de Bruijn indices. The environment maps the keyword stack to a stack (i.e., a list) of elements of the domain. If h is... |

854 |
The Unified Modelling Language Reference Manual
- Rumbaugh, Jacobson, et al.
- 1998
(Show Context)
Citation Context ... as relational structures. The state of an imperative program can be specified using sets and relations denoted by unary and binary predicates [24, 32, 66, 8], especially for object-oriented programs =-=[36, 63]-=-; a relational database is a finite relational structure [18, 16]; knowledge bases and deductive databases can also be based on predicate logic [1, 41, 53]. Shape analysis. Shape analysis techniques [... |

835 |
A Relational Model Of Data For Large Shared Data Banks
- Codd
- 1970
(Show Context)
Citation Context ... be specified using sets and relations denoted by unary and binary predicates [24, 32, 66, 8], especially for object-oriented programs [36, 63]; a relational database is a finite relational structure =-=[18, 16]-=-; knowledge bases and deductive databases can also be based on predicate logic [1, 41, 53]. Shape analysis. Shape analysis techniques [65, 29, 33, 26, 27, 25, 17, 40, 39, 43, 37, 55] can verify and de... |

705 | Separation logic: a logic for shared mutable data structures
- Reynolds
(Show Context)
Citation Context ...nefits of bounded model checking used in Alloy Analyzer with the benefits of a decision procedure for RL 2 . A recent approach to reasoning about mutable imperative data structure is separation logic =-=[34, 59, 60, 12, 11]-=-. We are currently working on integrating some aspects of spatial logic to support more flexible notation for records in role logic. Interactive theorem provers have also been used for reasoning about... |

563 |
Assigning meanings to programs
- Floyd
- 1967
(Show Context)
Citation Context ...ny areas of Computer Science can be naturally represented as relational structures. The state of an imperative program can be specified using sets and relations denoted by unary and binary predicates =-=[24, 32, 66, 8]-=-, especially for object-oriented programs [36, 63]; a relational database is a finite relational structure [18, 16]; knowledge bases and deductive databases can also be based on predicate logic [1, 41... |

538 | Parametric shape analysis via 3-valued logic
- Sagiv, Reps, et al.
(Show Context)
Citation Context ...equently studied a simplification of role analysis constraints and showed a characterization of such constraints using formulas [46]. Parametric analysis based on three-valued logic was introduced in =-=[64, 65]-=- with interprocedural analysis in [61] and application to abstract data type verification in [52]. A characterization of dataflow facts used for shape analysis was presented in [71, 48]. A decidable l... |

536 |
The Implementation of Functional Programming Languages
- Jones
- 1987
(Show Context)
Citation Context ...1 cannot occur within some application F1F2 , because F1F2 would constitute a redex and F 0 is in normal form. Hence, F1 can only occur in an expression of the form F3F1 . Let us consider the "sp=-=ine" [38]-=- of F3F1 , so F3 # FnFn-1 . . . F4 n # 3 and Fn is not an application. Fn is not an abstraction, because F 0 is in normal form. Hence, Fn can only be a variable or a constant. The only variables or or... |

518 | Lambda calculi with types
- Barendregt
- 1992
(Show Context)
Citation Context ... so that all de Bruijn indices are explicit. Then we may treat de Bruijn abstraction as the usual abstraction over a disjoint set of variables. By strong normalization of simply typed lambda calculus =-=[5]-=-, let F 0 be the normal form of F . We claim that in F 0 the only occurrence of lambda abstraction is within expressions of the form #(#x : obj.F ) or rtrancl(#x : obj.#y : obj.F ). To show the claim,... |

395 | EfEcient context-sensitive pointer analysis for C programs
- Wilson, Lam
(Show Context)
Citation Context ...ents of [55], and in widespectrum languages [56, 3]. Verification of a form of modifies clauses using a theorem prover was presented [50, 44]. Further approaches to pointer and shape analysis include =-=[17, 68, 15, 29, 25, 28, 69]-=-. 1 Note added on 31 October 2003, after becoming aware of [10]. 17 Description logics [1, 9] share many of the properties of role logic and have been traditionally applied to knowledge bases. It is l... |

381 |
Analysis of pointers and structures
- Chase, Wegman, et al.
- 1990
(Show Context)
Citation Context ...ents of [55], and in widespectrum languages [56, 3]. Verification of a form of modifies clauses using a theorem prover was presented [50, 44]. Further approaches to pointer and shape analysis include =-=[17, 68, 15, 29, 25, 28, 69]-=-. 1 Note added on 31 October 2003, after becoming aware of [10]. 17 Description logics [1, 9] share many of the properties of role logic and have been traditionally applied to knowledge bases. It is l... |

355 |
Cousot and Radhia Cousot. Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints
- Patrick
- 1977
(Show Context)
Citation Context ...losely related to monadic second-order logic of trees [62]. Theorem proving is used in [33] to derive consequences of axioms about data structures. Many shape analyses perform abstract interpretation =-=[19]-=- to synthesize loop invariants [65, 29, 43]. Role logic. This paper presents role logic, a notation for describing properties of relational structures in shape analysis, databases, and knowledge bases... |

340 | Alloy: a Lightweight Object Modelling Notation
- Jackson
(Show Context)
Citation Context ... as relational structures. The state of an imperative program can be specified using sets and relations denoted by unary and binary predicates [24, 32, 66, 8], especially for object-oriented programs =-=[36, 63]-=-; a relational database is a finite relational structure [18, 16]; knowledge bases and deductive databases can also be based on predicate logic [1, 41, 53]. Shape analysis. Shape analysis techniques [... |

230 | Compositional pointer and escape analysis for Java
- Whaley, Rinard
(Show Context)
Citation Context ...ents of [55], and in widespectrum languages [56, 3]. Verification of a form of modifies clauses using a theorem prover was presented [50, 44]. Further approaches to pointer and shape analysis include =-=[17, 68, 15, 29, 25, 28, 69]-=-. 1 Note added on 31 October 2003, after becoming aware of [10]. 17 Description logics [1, 9] share many of the properties of role logic and have been traditionally applied to knowledge bases. It is l... |

178 | Description logics in data management
- Borgida
- 1995
(Show Context)
Citation Context ...ver was presented [50, 44]. Further approaches to pointer and shape analysis include [17, 68, 15, 29, 25, 28, 69]. 1 Note added on 31 October 2003, after becoming aware of [10]. 17 Description logics =-=[1, 9]-=- share many of the properties of role logic and have been traditionally applied to knowledge bases. It is likely that description logics can be used for shape analysis as well. It would be particularl... |

163 |
Raymie Stata. Extended static checking for java
- Flanagan, Leino, et al.
- 2002
(Show Context)
Citation Context .... Specifying the semantics of programs using predicates dates back to axiomatic program semantics [32, 24]. An approach that uses a first-order logic theorem prover tailed for program verification is =-=[23]-=-. Like [40, 39, 37, 55], in Section 5.1 we use an expressive yet decidable logic to encode fragments of straight-line code. Our approach di#ers primarily in using logic RL 2 over general graphs whose ... |

159 |
as an assertion language for mutable data structures
- BI
(Show Context)
Citation Context ...nefits of bounded model checking used in Alloy Analyzer with the benefits of a decision procedure for RL 2 . A recent approach to reasoning about mutable imperative data structure is separation logic =-=[34, 59, 60, 12, 11]-=-. We are currently working on integrating some aspects of spatial logic to support more flexible notation for records in role logic. Interactive theorem provers have also been used for reasoning about... |

154 |
de Bruijn. Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the church-rosser theorem
- G
- 1972
(Show Context)
Citation Context ...g to each bound variable by its name is to refer to each variable by its number, with number 1 denoting the most recently bound variable. This is the idea behind de Bruijn indices for lambda calculus =-=[22, 4]-=-. Figure 5 presents the syntax and the semantics of lambda calculus notation with de Bruijn indices. The environment maps the keyword stack to a stack (i.e., a list) of elements of the domain. If h is... |

144 | The pointer assertion logic engine - Møller, Schwartzbach - 2001 |

136 |
Isabelle: A Generic Theorem
- Paulson
- 1994
(Show Context)
Citation Context ...da calculus to encode bound variables of predicate calculus. This is the usual higher-order logic encoding of classical first-order logic, as used, for example, in Isabelle interactive theorem prover =-=[58]-=-. Figure 6 presents this encoding of quantifiers. 4 Form = #Nat# variable lookup Nat = {1, 2, . . .} | Form Form function application | # :Type.Form function abstraction Syntax [[#i#]] e = get i e [[F... |

125 | Graph types
- Klarlund, Schwartzbach
(Show Context)
Citation Context ...]; a relational database is a finite relational structure [18, 16]; knowledge bases and deductive databases can also be based on predicate logic [1, 41, 53]. Shape analysis. Shape analysis techniques =-=[65, 29, 33, 26, 27, 25, 17, 40, 39, 43, 37, 55]-=- can verify and derive precise properties of objects in the heap. Shape analysis is therefore important for reasoning about programs written in modern imperative programming languages. Shape analysis ... |

124 |
Algorithm = Logic + Control
- Kowalski
- 1979
(Show Context)
Citation Context ...66, 8], especially for object-oriented programs [36, 63]; a relational database is a finite relational structure [18, 16]; knowledge bases and deductive databases can also be based on predicate logic =-=[1, 41, 53]-=-. Shape analysis. Shape analysis techniques [65, 29, 33, 26, 27, 25, 17, 40, 39, 43, 37, 55] can verify and derive precise properties of objects in the heap. Shape analysis is therefore important for ... |

107 | Intuitionistic reasoning about shared mutable data structure
- Reynolds
- 2000
(Show Context)
Citation Context ...nefits of bounded model checking used in Alloy Analyzer with the benefits of a decision procedure for RL 2 . A recent approach to reasoning about mutable imperative data structure is separation logic =-=[34, 59, 60, 12, 11]-=-. We are currently working on integrating some aspects of spatial logic to support more flexible notation for records in role logic. Interactive theorem provers have also been used for reasoning about... |

99 | Role analysis
- Kuncak, Lam, et al.
- 2002
(Show Context)
Citation Context ...]; a relational database is a finite relational structure [18, 16]; knowledge bases and deductive databases can also be based on predicate logic [1, 41, 53]. Shape analysis. Shape analysis techniques =-=[65, 29, 33, 26, 27, 25, 17, 40, 39, 43, 37, 55]-=- can verify and derive precise properties of objects in the heap. Shape analysis is therefore important for reasoning about programs written in modern imperative programming languages. Shape analysis ... |

79 |
Cousot and Radhia Cousot. Systematic design of program analysis frameworks
- Patrick
- 1979
(Show Context)
Citation Context ...ammer, they can be inferred using fixpoint computation. An algorithm for fixpoint computation can be derived from the fixpoint semantics of mutually recursive procedures using abstract interpretation =-=[19, 21, 20, 70]-=-. A special case of this approach is to select a F ::= {C} | {{C # 1 # C2 # R}} | F1 # F2 | F C ::= A | C1 # C2 | C R ::= f | f | R1 # R2 A - atomic unary predicate f - atomic binary predicate Figure ... |

79 | Putting static analysis to work for verification: A case study
- Lev-Ami, Reps, et al.
- 2000
(Show Context)
Citation Context ...constraints using formulas [46]. Parametric analysis based on three-valued logic was introduced in [64, 65] with interprocedural analysis in [61] and application to abstract data type verification in =-=[52]-=-. A characterization of dataflow facts used for shape analysis was presented in [71, 48]. A decidable logic for expressing connectivity properties of the heap was presented in [7]. Specifying the sema... |

77 |
Jerzy Tiuryn. Dynamic Logic
- Harel, Kozen
- 2000
(Show Context)
Citation Context ...n be used for shape analysis as well. It would be particularly interesting to consider description logics with transitive operators, whose decidability is related to the decidability of dynamic logic =-=[31]-=-. Reasoning about the satisfiability of expressive description logics over all structures and over finite structures is presented in [13, 14]. Reasoning about entity-relationship diagrams [16] is pres... |

74 | Shape types
- Fradet, Métayer
- 1997
(Show Context)
Citation Context ...]; a relational database is a finite relational structure [18, 16]; knowledge bases and deductive databases can also be based on predicate logic [1, 41, 53]. Shape analysis. Shape analysis techniques =-=[65, 29, 33, 26, 27, 25, 17, 40, 39, 43, 37, 55]-=- can verify and derive precise properties of objects in the heap. Shape analysis is therefore important for reasoning about programs written in modern imperative programming languages. Shape analysis ... |

71 | A general data dependence test for dynamic, pointer-based data structures
- Hummel, Hendren, et al.
- 1994
(Show Context)
Citation Context |

66 | F.;Nipkow, T.: Proving Pointer Programs in Higher-Order Logic
- Mehta
- 2005
(Show Context)
Citation Context ...ng some aspects of spatial logic to support more flexible notation for records in role logic. Interactive theorem provers have also been used for reasoning about dynamically allocated data structures =-=[54, 2]-=-; it may be interesting to incorporate a decision procedure for RL 2 into these general tools. 7 Conclusions We believe that role logic notation is a convenient way of expressing properties of first-o... |

58 | Two-variable logic with counting is decidable
- Grädel, Otto, et al.
- 1997
(Show Context)
Citation Context ... interesting subset of role logic is decidable. We show the decidability of the fragment RL 2 of role logic in Section 4 by establishing a correspondence with the two-variable logic with counting C 2 =-=[30, 57]-=-. While many description logics are known to be representable in C 2 but are potentially weaker than C 2 , the fragment RL 2 of role logic matches precisely the expressive power of C 2 . Contributions... |

56 | Automatic verification of pointer programs using monadic second-order logic
- Jensen, Jorgensen, et al.
- 1997
(Show Context)
Citation Context |

52 | Deciding Validity in a Spatial Logic for Trees
- Calcagno, Cardelli, et al.
- 2005
(Show Context)
Citation Context |

50 | A Logic for Abstract State Machines
- Stärk
(Show Context)
Citation Context ...ny areas of Computer Science can be naturally represented as relational structures. The state of an imperative program can be specified using sets and relations denoted by unary and binary predicates =-=[24, 32, 66, 8]-=-, especially for object-oriented programs [36, 63]; a relational database is a finite relational structure [18, 16]; knowledge bases and deductive databases can also be based on predicate logic [1, 41... |

46 | An automatic technique for selection of data representations in SETL programs - Schonberg, Schwartz, et al. - 1981 |

37 | Is it a tree, a DAG, or a cyclic graph
- Ghiya, Hendren
- 1996
(Show Context)
Citation Context |

36 | Finite model reasoning in description logics, in
- Calvanese
- 1996
(Show Context)
Citation Context ...e decidability is related to the decidability of dynamic logic [31]. Reasoning about the satisfiability of expressive description logics over all structures and over finite structures is presented in =-=[13, 14]-=-. Reasoning about entity-relationship diagrams [16] is presented in [51]. Some connections between object models and heap invariants are presented in [45, 35]. Like the Alloy modelling language [36], ... |

32 |
On the satisfiability of dependency constraints in entity-relationship schemata
- Lenzerini, Nobili
- 1990
(Show Context)
Citation Context ...ng about the satisfiability of expressive description logics over all structures and over finite structures is presented in [13, 14]. Reasoning about entity-relationship diagrams [16] is presented in =-=[51]-=-. Some connections between object models and heap invariants are presented in [45, 35]. Like the Alloy modelling language [36], role logic combines the notation of predicate calculus with the notation... |

30 | Logical characterizations of heap abstractions
- Yorsh
- 2003
(Show Context)
Citation Context ... i=1 Card (#F i ) # 1] Figure 8: Transitive Closure Construct and Shorthands Formulas of form (1) are useful for describing properties of first order structures that arise in shape analysis, see e.g. =-=[48, 47, 71]-=-. # For additional expressive power we introduce the reflexive-transitive closure operator #, with the semantics in Figure 8. We also introduce a shorthand for relation composition. The relation compo... |

28 | Complexity results for first-order two-variable logic with counting
- Pacholski, Szwast, et al.
- 2000
(Show Context)
Citation Context ... interesting subset of role logic is decidable. We show the decidability of the fragment RL 2 of role logic in Section 4 by establishing a correspondence with the two-variable logic with counting C 2 =-=[30, 57]-=-. While many description logics are known to be representable in C 2 but are potentially weaker than C 2 , the fragment RL 2 of role logic matches precisely the expressive power of C 2 . Contributions... |

27 | Unrestricted and Finite Model Reasoning in Class-Based Representation Formalisms. PhD thesis, Dipartimento di Informatica e Sistemistica, Università di Roma ”La Sapienza
- Calvanese
- 1996
(Show Context)
Citation Context ...e decidability is related to the decidability of dynamic logic [31]. Reasoning about the satisfiability of expressive description logics over all structures and over finite structures is presented in =-=[13, 14]-=-. Reasoning about entity-relationship diagrams [16] is presented in [51]. Some connections between object models and heap invariants are presented in [45, 35]. Like the Alloy modelling language [36], ... |

27 | Graphs and decidable transductions based on edge constraints
- Klarlund, Schwartzbach
- 1994
(Show Context)
Citation Context |

25 | Static detection of pointer errors: an axiomatisation and a checking algorithm
- Gaugne, Fradet, et al.
- 1996
(Show Context)
Citation Context |

24 |
Cousot and Radhia Cousot. Static Determination of Dynamic Properties of Programs
- Patrick
- 1976
(Show Context)
Citation Context ...ammer, they can be inferred using fixpoint computation. An algorithm for fixpoint computation can be derived from the fixpoint semantics of mutually recursive procedures using abstract interpretation =-=[19, 21, 20, 70]-=-. A special case of this approach is to select a F ::= {C} | {{C # 1 # C2 # R}} | F1 # F2 | F C ::= A | C1 # C2 | C R ::= f | f | R1 # R2 A - atomic unary predicate f - atomic binary predicate Figure ... |

23 |
Untersuchung über die Axiome des Klassenkalküls und über Produktations– und Summationsprobleme, welche gewisse Klassen von Aussagen betreffen. Videnskabsakademiet i Kristiania
- Skolem
- 1919
(Show Context)
Citation Context ... [[B i ]]e[v # o]}| We can therefore replace counting quantifier on B with a propositional combination of counting quantifiers on B i for 1 # i # n (as in quantifier elimination for boolean algebras, =-=[67]-=-, [49, Section 3.2]). Specifically, # #k 1 x. B # = _ P n j=1 l j =k 1 n ^ i=1 # #l i x. B i (3) It is therefore su#cient to eliminate the successive quantification over x in # #k 1 x. B i (# #k 2 x. ... |

19 | Verifiable properties of database transactions
- Benedikt, Griffin, et al.
- 1998
(Show Context)
Citation Context ...onstructs that make it possible to directly express higher-level state transformations, which is the idea related to the chemical reaction model of [26, 27], the verification of database transactions =-=[6]-=-, the simultaneous assignments of [55], and in widespectrum languages [56, 3]. Verification of a form of modifies clauses using a theorem prover was presented [50, 44]. Further approaches to pointer a... |

19 | Static analysis of accessed regions in recursive data structures
- Chong, Rugina
- 2003
(Show Context)
Citation Context |

19 | Arnd Poetzsch-Heffter, and Yunhong Zhou. Using data groups to specify and check side effects - Leino - 2002 |