Results 1 
7 of
7
Abstract interpretation using typed decision graphs
 Science of Computer Programming
, 1998
"... Abstract. This article presents a way of implementing abstract interpretations that can be very efficient. The improvement lies in the use of a symbolic representation of boolean functions called Typed Decision Graphs (TDGs), a refinement of Binary Decision Diagrams. A general procedure for using th ..."
Abstract

Cited by 12 (5 self)
 Add to MetaCart
Abstract. This article presents a way of implementing abstract interpretations that can be very efficient. The improvement lies in the use of a symbolic representation of boolean functions called Typed Decision Graphs (TDGs), a refinement of Binary Decision Diagrams. A general procedure for using this representation in abstract interpretation is given; we examine in particular the possibility of encoding higher order functions into TDGs. Moreover, this representation is used to design a widening operator based on the size of the objects represented, so that abstract interpretations will not fail due to insufficient memory. This approach is illustrated on strictness analysis of higherorder functions, showing a great increase in efficiency. 1
Three Nondeterminism Analyses in a ParallelFunctional Language
, 2001
"... This paper is an extension of a previous work where two nondeterminism analyses were presented. The first of them was efficient (linear) but not very powerful and the second one was more powerful but very expensive (exponential). Here, we develop an intermediate analysis in both aspects, efficiency ..."
Abstract

Cited by 5 (4 self)
 Add to MetaCart
This paper is an extension of a previous work where two nondeterminism analyses were presented. The first of them was efficient (linear) but not very powerful and the second one was more powerful but very expensive (exponential). Here, we develop an intermediate analysis in both aspects, efficiency and power. The improvement in efficiency is obtained by speeding up the fixpoint calculation by means of a widening operator, and the representation of functions through easily comparable signatures. Also details about the implementation and its cost are given. Additionally: (1) the second and third analyses are completed with polymorphism, (2) we prove that the domains in the second and third analyses form a category in which the morphisms are embeddingclosure pairs of functions; respectively called abstraction and concretisation functions; and (3) we formally relate the analyses and prove that the first analysis is a safe approximation to the third one and that the third one is a safe approximation to the second one. In this way the three analyses become totally ordered by increasing cost and precision. 1
Higher Order Demand Propagation
 Lecture Notes in Computer Science
, 1998
"... . A new denotational semantics is introduced for realistic nonstrict functional languages, which have a polymorphic type system and support higher order functions and user definable algebraic data types. It maps each function definition to a demand propagator, which is a higher order function, t ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
. A new denotational semantics is introduced for realistic nonstrict functional languages, which have a polymorphic type system and support higher order functions and user definable algebraic data types. It maps each function definition to a demand propagator, which is a higher order function, that propagates context demands to function arguments. The relation of this "higher order demand propagation semantics" to the standard semantics is explained and it is used to define a backward strictness analysis. The strictness information deduced by this analysis is very accurate, because demands can actually be constructed during the analysis. These demands conform better to the analysed functions than abstract values, which are constructed alone with respect to types like in other existing strictness analyses. The richness of the semantic domains of higher order demand propagation makes it possible to express generalised strictness information for higher order functions even ac...
Two NonDeterminism Analyses in Eden
, 2000
"... Nondeterminism may affect the referential transparency of the programs written in Eden: If a nondeterministic expression is evaluated in different processes, the variable it is bound to it will denote possibly different values. It would be desirable to warn the programmer about this situation, or t ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
Nondeterminism may affect the referential transparency of the programs written in Eden: If a nondeterministic expression is evaluated in different processes, the variable it is bound to it will denote possibly different values. It would be desirable to warn the programmer about this situation, or to force the evaluation of such an expression so that all the occurrences of the variable have the same value. Additionally there exist sequential transformations that are incorrect when nondeterminism is involved. Such transformations should be applied only to those parts of the program that are sure to be deterministic. In this paper several analyses of different efficiency and power are presented. Several techniques are used: A types annotation system and abstract interpretation. 1 Introduction The parallelfunctional language Eden extends the lazy functional language Haskell by syntactic constructs to explicitly define and communicate processes. The three main new concepts are process a...
PERs from Projections for BindingTime Analysis
 Journal of Lisp and Symbolic Computation
, 1994
"... Firstorder projectionbased bindingtime analysis has proven genuinely useful in partial evaluation [Lau91a, Lau91c]. There have been three notable generalisations of projectionbased analysis to higher order. The first lacked a formal basis [Mog89]; the second used structures strictly more general ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Firstorder projectionbased bindingtime analysis has proven genuinely useful in partial evaluation [Lau91a, Lau91c]. There have been three notable generalisations of projectionbased analysis to higher order. The first lacked a formal basis [Mog89]; the second used structures strictly more general that projections, namely partial equivalence relations (PERs) [HS91]; the third involved a complex construction that gave rise to impractically large abstract domains [Dav93]. This paper presents a technique free of these shortcomings: it is simple, entirely projectionbased, satisfies a formal correctness condition, and gives rise to reasonably small abstract domains. Though the technique is cast in terms of projections, there is also an interpretation in terms of PERs. The principal limitation of the technique is the restriction to monomorphic typing. 1 Introduction and Background We take as given that bindingtime analysis is essential for good partial evaluation, and we do not address...
A Comparison between three Nondeterminism Analyses in ParallelFunctional Language
 IN PRIMERAS JORNADAS SOBRE PROGRAMACION Y LENGUAJES, PROLE'01
, 2001
"... The paper compares three analyses to determine when an Eden expression is sure to be deterministic, and when it may be nondeterministic. This work extends ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
The paper compares three analyses to determine when an Eden expression is sure to be deterministic, and when it may be nondeterministic. This work extends
A PolynomialCost Nondeterminism Analysis
, 2002
"... This paper is an extension of a previous work where two nondeterminism analyses were presented. One of them was ecient but not very powerful and the other one was more powerful but very expensive. Here, we develop an intermediate analysis in both aspects, eciency and power. The improvement in ecienc ..."
Abstract
 Add to MetaCart
This paper is an extension of a previous work where two nondeterminism analyses were presented. One of them was ecient but not very powerful and the other one was more powerful but very expensive. Here, we develop an intermediate analysis in both aspects, eciency and power. The improvement in eciency is obtained by speeding up the xpoint calculation by means of a widening operator, and the representation of functions through easily comparable signatures. Also details about the implementation and its cost are given. 1