Results 1 -
2 of
2
Logic Programs as Compact Denotations
- Proc. of Practical Applications of Declarative Programming
, 2003
"... This paper shows how logic programs can be used to implement the transition functions of denotational abstract interpretation. The logic variables express regularity in the abstract behaviour of commands. The technique has been applied to sign, class and escape analysis for object-oriented progra ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
This paper shows how logic programs can be used to implement the transition functions of denotational abstract interpretation. The logic variables express regularity in the abstract behaviour of commands. The technique has been applied to sign, class and escape analysis for object-oriented programs. We show that the time and space costs using logic programs for these analyses are smaller than those using a ground relational representation.
PRIVATE STATE IN OBJECT-ORIENTED PROGRAMMING LANGUAGES
"... We develop a core object-oriented programming language named SimpleJ that implements private state for all private fields in objects. We lay out a type system and operational semantics for the data typing and accessibility (assurance of private state) information. The type system statically analyzes ..."
Abstract
- Add to MetaCart
We develop a core object-oriented programming language named SimpleJ that implements private state for all private fields in objects. We lay out a type system and operational semantics for the data typing and accessibility (assurance of private state) information. The type system statically analyzes the code to produce type and accessibility information, which describes the behavior of the runtime system as laid out in the operational semantics. We provide arguments for type correctness in SimpleJ, and that the static information produced by the type system does indeed accurately describes runtime qualities of the runtime system. The primary purpose of the accessibility requirements are to ensure that references to private fields in objects

