Results 11  20
of
53
Trust in the λCalculus
 JOURNAL OF FUNCTIONAL PROGRAMMING
, 1995
"... This paper introduces trust analysis for higherorder languages. Trust analysis encourages the programmer to make explicit the trustworthiness of data, and in return it can guarantee that no mistakes with respect to trust will be made at runtime. We present a confluent λcalculus with explicit tru ..."
Abstract

Cited by 48 (0 self)
 Add to MetaCart
This paper introduces trust analysis for higherorder languages. Trust analysis encourages the programmer to make explicit the trustworthiness of data, and in return it can guarantee that no mistakes with respect to trust will be made at runtime. We present a confluent λcalculus with explicit trust operations, and we equip it with a trusttype system which has the subject reduction property. Trust information in presented as two annotations of each function type constructor, and type inference is computable in O(n³) time.
Negative Set Constraints With Equality
 In Ninth Annual IEEE Symposium on Logic in Computer Science
, 1994
"... Systems of set constraints describe relations between sets of ground terms. They have been successfully used in program analysis and type inference. So far two proofs of decidability of mixed set constraints have been given: by R. Gilleron, S. Tison and M. Tommasi [12] and A. Aiken, D. Kozen, and E. ..."
Abstract

Cited by 35 (10 self)
 Add to MetaCart
Systems of set constraints describe relations between sets of ground terms. They have been successfully used in program analysis and type inference. So far two proofs of decidability of mixed set constraints have been given: by R. Gilleron, S. Tison and M. Tommasi [12] and A. Aiken, D. Kozen, and E.L. Wimmers [3]. However, both these proofs are long, involved and do not seem to extend to more general set constraints. Our approach is based on a reduction of set constraints to the monadic class given in a recent paper by L. Bachmair, H. Ganzinger, and U. Waldmann [7]. We first give a new proof of decidability of systems of mixed positive and negative set constraints. We explicitely describe a very simple algorithm working in NEXPTIME and we give in all detail a relatively easy proof of its correctness. Then, we sketch how our technique can be applied to get various extensions of this result. In particular we prove that the problem of consistency of mixed set constraints with restricted p...
Solving Systems of Set Constraints (Extended Abstract)
 In Seventh Annual IEEE Symposium on Logic in Computer Science
, 1992
"... ) Alexander Aiken Edward L. Wimmers IBM Almaden Research Center 650 Harry Rd. San Jose, CA 95120 phone: 408/9271876 or 9271882 email: lastname@almaden.ibm.com fax: 408/9272100 Abstract Systems of set constraints are a natural formalism for many problems in program analysis. Set constraints ar ..."
Abstract

Cited by 31 (0 self)
 Add to MetaCart
) Alexander Aiken Edward L. Wimmers IBM Almaden Research Center 650 Harry Rd. San Jose, CA 95120 phone: 408/9271876 or 9271882 email: lastname@almaden.ibm.com fax: 408/9272100 Abstract Systems of set constraints are a natural formalism for many problems in program analysis. Set constraints are also a generalization of tree automata. We present an algorithm for solving systems of set constraints built from free variables, constructors, and the set operations of intersection, union, and complement. Furthermore, we show that all solutions of such systems can be finitely represented. 1 1 Introduction Set constraints are a natural formalism for describing relationships between sets of terms of a free algebra. A set constraint has the form X ` Y , where X and Y are set expressions. Examples of set expressions are 0 (the empty set), 1 (the set of all terms), ff (a setvalued variable), c(X; Y ) (a constructor application) , and the union, intersection, or complement of set expressi...
Set constraints with projections are in NEXPTIME
, 1994
"... Systems of set constraints describe relations between sets of ground terms. They have been successfully used in program analysis and type inference. In this paper we prove that the problem of existence of a solution of a system of set constraints with projections is in NEXPTIME, and thus that it is ..."
Abstract

Cited by 31 (10 self)
 Add to MetaCart
Systems of set constraints describe relations between sets of ground terms. They have been successfully used in program analysis and type inference. In this paper we prove that the problem of existence of a solution of a system of set constraints with projections is in NEXPTIME, and thus that it is NEXPTIMEcomplete. This extends the result of A. Aiken, D. Kozen, and E.L. Wimmers [3] and R. Gilleron, S. Tison, and M. Tommasi [10] on decidability of negated set constraints and solves a problem that was open for several years. 1 Introduction Set constraints have a form of inclusions between set expressions built over a set of setvalued variables, constants and function symbols. They have been used in program analysis and type inference algorithms for functional, imperative and logic programming languages [4], [5], [12], [13], [15], [16], [18]. Solving a system of set constraints is the main part of these algorithms, however until now the satisfiability problem for such constraints was...
Setbased Analysis of Reactive Infinitestate Systems
, 1997
"... We present an automated abstract verification method for infinitestate systems specified by logic programs (which are a uniform and intermediate layer to which diverse formalisms such as transition systems, pushdown processes and while programs can be mapped). We establish connections between: logi ..."
Abstract

Cited by 27 (8 self)
 Add to MetaCart
We present an automated abstract verification method for infinitestate systems specified by logic programs (which are a uniform and intermediate layer to which diverse formalisms such as transition systems, pushdown processes and while programs can be mapped). We establish connections between: logic program semantics and CTL properties, setbased program analysis and pushdown processes, and also between model checking and constraint solving, viz. theorem proving. We show that setbased analysis can be used to compute supersets of the values of program variables in the states that satisfy a given CTL property.
Interconvertibility of a Class of Set Constraints and ContextFreeLanguage Reachability
 TCS
, 1998
"... We show the interconvertibility of contextfreelanguage reachability problems and a class of setconstraint problems: given a contextfreelanguage reachability problem, we show how to construct a setconstraint problem whose answer gives a solution to the reachability problem; given a setconstra ..."
Abstract

Cited by 27 (2 self)
 Add to MetaCart
We show the interconvertibility of contextfreelanguage reachability problems and a class of setconstraint problems: given a contextfreelanguage reachability problem, we show how to construct a setconstraint problem whose answer gives a solution to the reachability problem; given a setconstraint problem, we show how to construct a contextfreelanguage reachability problem whose answer gives a solution to the setconstraint problem. The interconvertibility of these two formalisms offers an conceptual advantage akin to the advantage gained from the interconvertibility of finitestate automata and regular expressions in formal language theory, namely, a problem can be formulated in whichever formalism is most natural. It also offers some insight into the "O(n ) bottleneck" for different types of programanalysis problems and allows results previously obtained for contextfreelanguage reachability problems to be applied to setconstraint problems and vice versa.
Set constraints and logic programming
, 1994
"... Set constraints are inclusion relations between expressions denoting sets of ground terms over a ranked alphabet. They are the main ingredient insetbased program analysis [4,5,15,16,19,23,24,26]. In this paper we describe a constraint logic programming language clp(sc) over set constraints in the st ..."
Abstract

Cited by 16 (1 self)
 Add to MetaCart
Set constraints are inclusion relations between expressions denoting sets of ground terms over a ranked alphabet. They are the main ingredient insetbased program analysis [4,5,15,16,19,23,24,26]. In this paper we describe a constraint logic programming language clp(sc) over set constraints in the style of Ja ar and Lassez [17]. The language subsumes ordinary logic programs over an Herbrand domain. We givean e cient uni cation algorithm and operational, declarative, and xpoint semantics. We show how the language can be applied in setbased program analysis by deriving explicitly the monadic approximation of the collecting semantics of Heintze and Ja ar [15,16]. 1
Eliminating dead code on recursive data
 Science of Computer Programming
, 1999
"... Abstract. This paper describes a general and powerful method for dead code analysis and elimination in the presence of recursive data constructions. We represent partially dead recursive data using liveness patterns based on general regular tree grammars extended with the notion of live and dead, an ..."
Abstract

Cited by 14 (4 self)
 Add to MetaCart
Abstract. This paper describes a general and powerful method for dead code analysis and elimination in the presence of recursive data constructions. We represent partially dead recursive data using liveness patterns based on general regular tree grammars extended with the notion of live and dead, and we formulate the analysis as computing liveness patterns at all program points based on program semantics. This analysis yields a most precise liveness pattern for the data at each program point, which is signi cantly more precise than results from previous methods. The analysis algorithm takes cubic time in terms of the size of the program in the worst case but is very e cient in practice, as shown by our prototype implementation. The analysis results are used to identify and eliminate dead code. The general framework for representing and analyzing properties of recursive data structures using general regular tree grammars applies to other analyses as well. 1
Undecidability of Contextsensitive Datadependence Analysis
 Transactions on Programming Languages and Systems
, 1999
"... Anumber of programanalysis problems can be tackled by transforming them into certain kinds of graphreachability problems in labeled directed graphs. The edge labels can be used to filter out paths that are not of interest: A path P from vertex s to vertex t only counts as a “valid connection ” bet ..."
Abstract

Cited by 14 (2 self)
 Add to MetaCart
Anumber of programanalysis problems can be tackled by transforming them into certain kinds of graphreachability problems in labeled directed graphs. The edge labels can be used to filter out paths that are not of interest: A path P from vertex s to vertex t only counts as a “valid connection ” between s and t if the word spelled out by P is in a certain language. Often the languages used for such filtering purposes are languages of matching parentheses: • Insome cases, the matchedparenthesis condition is used to filter out paths with mismatched calls and returns. This leads to socalled “contextsensitive ” program analyses, such as contextsensitive interprocedural slicing and contextsensitive interprocedural dataflow analysis. • Inother cases, the matchedparenthesis condition is used to capture a graphtheoretic analog of McCarthy’s rules: “car(cons(x,y))=x ” and “cdr(cons(x,y))=y”. That is, in the code fragment c=cons(a,b); d=car(c); the fact that there is a “structuretransmitted data dependence ” from a to d, but not from b to d, iscaptured in a graph by using (i) avertex for each variable, (ii) an edge from vertex i to vertex j when i is used on the righthand side of an assignment to j, (iii) parentheses that match as the labels on the edges that run fromatocandctod, and (iv) parentheses that do not match as the labels on the edges that run frombtocandctod.