Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Gilberto Filé is active.

Publication


Featured researches published by Gilberto Filé.


logic in computer science | 1991

Prop revisited: propositional formula as abstract domain for groundness analysis

Agostino Cortesi; Gilberto Filé; William H. Winsborough

The abstract domain Prop for analyzing variable groundness in logic programs is considered. This domain consists of (equivalence classes of) propositional formulas whose propositional variables correspond to program variables with truth assignments indicating which program variables are ground. Some ambiguity remains about precisely which formula should be included in Prop so that all interesting sets of program execution states (substitutions) have a unique representation. This ambiguity is clarified by characterizing, both semantically and syntactically, the appropriate definition of Prop. The use of propositional formulas for representing properties of substitutions of a different type than groundness, such as freeness and independence of variables, is discussed.<<ETX>>


ACM Transactions on Programming Languages and Systems | 1997

Complementation in abstract interpretation

Agostino Cortesi; Gilberto Filé; Francesco Ranzato; Roberto Giacobazzi; Catuscia Palamidessi

Reduced product of abstract domains is a rather well-known operation for domain composition in abstract interpretation. In this article, we study its inverse operation, introducing a notion of domain complementation in abstract interpretation. Complementation provides as systematic way to design new abstract domains, and it allows to systematically decompose domains. Also, such an operation allows to simplify domain verification problems, and it yields space-saving representations for complex domains. We show that the complement exists in most coses, and we apply complementation to three well-know abstract domains, notably to Cousot and Cousots interval domain for integer variable analysis, to Cousot and Cousots domain for comportment analysis of functional languages, and to the domain Sharing for aliasing analysis of logic languages.


ACM Computing Surveys | 1996

A unifying view of abstract domain design

Gilberto Filé; Roberto Giacobazzi; Francesco Ranzato

Introduction. The concept of abstract interpretation has been introduced by Patrick and Radhia Cousot in [4, 5], in order to formalize static program analyses. Within this framework, our goal is to offer a unifying view on operators for enhancing and simplifying abstract domains. Enhancing and simplifying operators are viewed, respectively, as domain refinements and inverses of domain refinements. This new unifying viewpoint makes both the understanding and the design of operators on abstract domains much simpler. Enhancing operators increase the expressiveness of an abstract domain: they comprise the Cousot and Cousot reduced product , disjunctive completion and reduced cardinal power ([5]), the Nielson tensor product ([9]), the open product and the pattern completion by Cortesi et al. ([3]), and the functional dependencies by Giacobazzi and Ranzato ([7]). Simplifying operators are used to reduce complex abstract domains into simpler ones with respect to the efficiency of the corresponding analysis as well as with respect to the proof of their correctness. Simplifying operators comprise the complementation of Cortesi et al. ([2]) and the Giacobazzi and Ranzato least disjunctive basis ([8]).


Journal of Logic Programming | 1996

Optimal groundness analysis using propositional logic

Agostino Cortesi; Gilberto Filé; William H. Winsborough

It is well known that propositional formulas form a useful and computationally efficient abstract interpretation for different data-flow analyses of logic programs and, in particular, for groundness analysis. This article gives a complete and precise description of an abstract interpretation, called Prop, composed of a domain of positive, propositional formulas and three operations: abstract unification, least upper bound, and abstract projection. All three abstract operations are known to be correct. They are shown to be optimal in the classical sense. Two alternative stronger notions of optimality of abstract operations are introduced, which characterize very precise analyses. We determine whether the operations of Prop also satisfy these stronger forms of optimality.


Journal of Computer and System Sciences | 1982

Simple multi-visit attribute grammars

Joost Engelfriet; Gilberto Filé

An attribute grammar is simple multi-visit if each attribute of a nonterminal has a fixed visit-number associated with it such that, during attribute evaluation, the attributes of a node which have visit-number j are computed at the jth visit to the node. An attribute grammar is l-ordered if for each nonterminal a linear order of its attributes exists such that the attributes of a node can always be evaluated in that order (cf. the work of Kastens). An attribute grammar is simple multi-visit if and only if it is l-ordered. Every noncircular attribute grammar can be transformed into an equivalent simple multi-visit attribute grammar which uses the same semantic operations. For a given distribution of visit-numbers over the attributes, it can be decided in polynomial time whether the attributes can be evaluated according to these visit-numbers. The problem whether an attribute grammar is simple multi-visit is NP-complete.


Theoretical Computer Science | 1998

The quotient of an abstract interpretation

Agostino Cortesi; Gilberto Filé; William H. Winsborough

Abstract Within the abstract interpretation framework, abstract domains are used to represent interesting properties of the concrete domain. For instance, properties that enhance the optimization of the analyzed programs. An abstract domain D expresses, in general, several properties of the concrete domain. We describe a method for identifying, for any abstract domain D and for each property P expressed by D, the subset of D that is useful for computing P-information. We call it the quotient of D with respect to P. We also give a necessary and sufficient condition for having that the quotient is an abstraction of D. This property seems essential for applications such as that described below. As an illustration of the usefulness of the notion of quotient, we show that rather sophisticated comparisons between domains, can be carried out using it. Assume to have two abstract domains that both compute some property P, but that also express distinct properties and thus are incomparable as a whole. Such domains can be compared with respect to the precision with which they compute P-information, by comparing their quotients with respect to P. Using this method, two well-known abstract domains for Prolog programs, Prop and Sharing, are compared with respect to the precision with which they compute groundness information.


international colloquium on automata languages and programming | 1992

Comparison of Abstract Interpretations

Agostino Cortesi; Gilberto Filé; William H. Winsborough

The central idea of the technique of Abstract Interpretation is that the analysis of a program consists of executing it on a special (abstract) domain D of values in which each operation μ, used during the normal execution, is interpreted as a corresponding operation μ D on D. More formally, an (abstract) domain is a complete lattice that enjoys a Galois insertion into the concrete domain. An interpretation consists of a domain and a collection of monotone operations over that domain. Due to the success of the technique, several interpretations with similar purposes have been proposed. In the classical theory of abstract interpretation, the only way we have to compare two interpretations is to show that one abstracts the other. The weakness of this type of comparison is that it does not allow us to compare various interpretations with respect to some, but not all, of the information they express. This paper presents new notions that enable us to make such precise comparisons. These notions are applicable to the comparison of abstract interpretations for all kinds of programming languages and with all sorts of analysis frameworks. We show that our new notions form a natural extension to the existing notion of one interpretation abstracting another. We demonstrate the utility of our technique by using it to compare abstract interpretations for analysis of logic programs with respect to their ability to infer variable groundness.


Journal of Logic Programming | 1999

Sharing is optimal

Agostino Cortesi; Gilberto Filé

Abstract One of the most popular abstract domains used for the analysis of logic programs is the domain Sharing which expresses the fact that computed substitutions bind variables to terms containing common variables. Despite the fact that this domain is widely used and studied, it is not yet known whether its abstract operations are complete or at least optimal. We solve this open question showing that the operations of lub and projection of Sharing are complete (and thus optimal), whereas that of unification is optimal, but not complete.


Theoretical Computer Science | 1999

The powerset operator on abstract interpretations

Gilberto Filé; Francesco Ranzato

Abstract In the context of the standard Cousot and Cousot framework, refinement operators that systematically produce more precise abstract interpretations from simpler ones are useful. We present a theoretical study of one such operator: the powerset. For any given abstract interpretation, i.e. an abstract domain equipped with corresponding abstract operations, the powerset operator yields a new abstract interpretation, where the abstract domain is (very close to) the powerset of the original one and the operations are accordingly extended. It turns out that the refined powerset domain is able to represent in the best possible way the concrete disjunction. Conditions that guarantee the correctness of the powerset operator are given, and the relationship, with respect to the precision, between any abstract interpretation and its powerset is studied. The general theory is applied to the well-known abstract interpretation POS , typically used for ground-dependency analysis of logic languages. We show that the powerset P(POS) is strictly more precise than POS both at the domain and operations level. Furthermore, the standard bottom-up abstract semantics of logic programs based on POS and P(POS) are compared by exhibiting a completeness relationship between them, i.e. the first semantics can be obtained by abstracting back the second one.


Journal of Logic Programming | 1996

On the design of a correct freeness analysis for logic programs

Michael Codish; Dennis Dams; Gilberto Filé; Maurice Bruynooghe

Several proposals for computing freeness information for logic programs have been put forward in recent literature. The availability of such information has proven useful in a variety of applications, including parallelization of Prolog programs, optimizations in Prolog compilers, as well as for improving the precision of other analyses. While these proposals have illustrated the importance of such analyses, they lack formal justification. Moreover, several have been found incorrect. This paper introduces a novel domain of abstract equation systems describing possible sharing and definite freeness of terms in a system of equations. A simple and intuitive abstract unification algorithm is presented, providing the core of a correct and precise sharing and freeness analysis for logic programs. Our contribution is not only a correct algorithm, but perhaps primarily, the application of a systematic approach in which it is derived by mimicking each step in a suitable concrete unification algorithm. Consequently, the abstract algorithm is intuitive - as it resembles the concrete algorithm. It is amenable to formal justification - as the proof of correctness boils down to showing that each step in the concrete algorithm is mimicked by a corresponding step in the abstract algorithm. Finally, it is precise - as each step mimics only those situations which can arise in the concrete algorithm.

Collaboration


Dive into the Gilberto Filé's collaboration.

Top Co-Authors

Avatar

Agostino Cortesi

Ca' Foscari University of Venice

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

William H. Winsborough

University of Texas at San Antonio

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Dennis Dams

Eindhoven University of Technology

View shared research outputs
Top Co-Authors

Avatar

Michael Codish

Ben-Gurion University of the Negev

View shared research outputs
Top Co-Authors

Avatar

Maurice Bruynooghe

Katholieke Universiteit Leuven

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge