• Documents
  • Authors
  • Tables
  • Other Seers ▼
    RefSeer AckSeer CollabSeer SeerSeer
  • Log in
  • Sign up
  • MetaCart

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations | Disambiguate

Compositional and inductive semantic definitions in fixpoint, equational, constraint, closure-condition, rule-based and game-theoretic form, invited paper (1995)

by P Cousot, R Cousot
Venue:Proc. 7 th Int. Conf. CAV ’95, Liège, BE, LNCS 939
Add To MetaCart

Tools

Sorted by:
Results 1 - 10 of 17
Next 10 →

Verification by abstract interpretation

by Patrick Cousot - In Verification: Theory and Practice , 2003
"... Dedicated to Zohar Manna, for his 2 6 th birthday. Abstract. Abstract interpretation theory formalizes the idea of abstraction of mathematical structures, in particular those involved in the specification of properties and proof methods of computer systems. Verification by abstract interpretation is ..."
Abstract - Cited by 169 (15 self) - Add to MetaCart
Dedicated to Zohar Manna, for his 2 6 th birthday. Abstract. Abstract interpretation theory formalizes the idea of abstraction of mathematical structures, in particular those involved in the specification of properties and proof methods of computer systems. Verification by abstract interpretation is illustrated on the particular cases of predicate abstraction, which is revisited to handle infinitary abstractions, and on the new parametric predicate abstraction. 1

Constructive Design of a Hierarchy of Semantics of a Transition System by Abstract Interpretation

by Patrick Cousot , 2002
"... We construct a hierarchy of semantics by successive abstract interpretations. Starting from the maximal trace semantics of a transition system, we derive the big-step semantics, termination and nontermination semantics, Plotkin’s natural, Smyth’s demoniac and Hoare’s angelic relational semantics and ..."
Abstract - Cited by 86 (15 self) - Add to MetaCart
We construct a hierarchy of semantics by successive abstract interpretations. Starting from the maximal trace semantics of a transition system, we derive the big-step semantics, termination and nontermination semantics, Plotkin’s natural, Smyth’s demoniac and Hoare’s angelic relational semantics and equivalent nondeterministic denotational semantics (with alternative powerdomains to the Egli-Milner and Smyth constructions), D. Scott’s deterministic denotational semantics, the generalized and Dijkstra’s conservative/liberal predicate transformer semantics, the generalized/total and Hoare’s partial correctness axiomatic semantics and the corresponding proof methods. All the semantics are presented in a uniform fixpoint form and the correspondences between these semantics are established through composable Galois connections, each semantics being formally calculated by abstract interpretation of a more concrete one using Kleene and/or Tarski

Formal Language, Grammar and Set-Constraint-Based Program Analysis by Abstract Interpretation

by Patrick Cousot, Radhia Cousot , 1995
"... Grammar-based program analysis à la Jones and Muchnick and set-constraint-based program analysis à la Aiken and Heintze are static analysis techniques that have traditionally been seen as quite different from abstract-interpretation-based analyses, in particular because of their apparent non-iterati ..."
Abstract - Cited by 66 (9 self) - Add to MetaCart
Grammar-based program analysis à la Jones and Muchnick and set-constraint-based program analysis à la Aiken and Heintze are static analysis techniques that have traditionally been seen as quite different from abstract-interpretation-based analyses, in particular because of their apparent non-iterative nature. For example, on page 18 of N. Heintze thesis, it is alleged that ``The finitary nature of abstract interpretation implies that there is a fundamental limitation on the accuracy of this approach to program analysis. There are decidable kinds of analysis that cannot be computed using abstract interpretation (even with widening and narrowing). The set-based analysis considered in this thesis is one example''. On the contrary, we show that grammar and set-constraint-based program analyses are similar abstract interpretations with iterative fixpoint computation using either a widening or a finitary grammar/set-constraints transformer or even a finite domain for each particular program. The understanding of grammar-based and set-constraint-based program analysis as a particular instance of abstract interpretation of a semantics has several advantages. First, the approximation process is formalized and not only explained using examples. Second, a domain of abstract properties is exhibited which is of general scope. Third, these analyses can be easily combined with other abstract-interpretation-based analyses, in particular for the analysis of numerical values. Fourth, they can be generalized to very powerful attribute-dependent and context-dependent analyses. Finally, a few misunderstandings may be removed.

Modular Static Program Analysis

by Patrick Cousot, Radhia Cousot - Proceedings of Compiler Construction , 2002
"... Abstract. The purpose of this paper is to present four basic methods for interpretation: – simplification-based separate analysis; – worst-case separate analysis; – separate analysis with (user-provided) interfaces; – symbolic relational separate analysis; as well as a fifth category which is essent ..."
Abstract - Cited by 18 (1 self) - Add to MetaCart
Abstract. The purpose of this paper is to present four basic methods for interpretation: – simplification-based separate analysis; – worst-case separate analysis; – separate analysis with (user-provided) interfaces; – symbolic relational separate analysis; as well as a fifth category which is essentially obtained by composition of the above separate local analyses together with global analysis methods. 1

Automatic Analysis of Pointer Aliasing for Untyped Programs

by A. Venet - Science of Computer Programming , 1999
"... Interpretation that discovers potential sharing relationships among the data structures created by an imperative program. The analysis is able to distinguish between elements in inductively defined structures and does not require any explicit data type declaration by the programmer. In order to ..."
Abstract - Cited by 14 (5 self) - Add to MetaCart
Interpretation that discovers potential sharing relationships among the data structures created by an imperative program. The analysis is able to distinguish between elements in inductively defined structures and does not require any explicit data type declaration by the programmer. In order to construct the abstract interpretation we introduce a new class of abstract domains: the cofibered domains.

Configurable software verification: Concretizing the convergence of model checking and program analysis

by Dirk Beyer, Thomas A. Henzinger, Grégory Théoduloz - In Conf. on Computer Aided Verification (CAV , 2007
"... Abstract. In automatic software verification, we have observed a theoretical convergence of model checking and program analysis. In practice, however, model checkers are still mostly concerned with precision, e.g., the removal of spurious counterexamples; for this purpose they build and refine reach ..."
Abstract - Cited by 12 (7 self) - Add to MetaCart
Abstract. In automatic software verification, we have observed a theoretical convergence of model checking and program analysis. In practice, however, model checkers are still mostly concerned with precision, e.g., the removal of spurious counterexamples; for this purpose they build and refine reachability trees. Lattice-based program analyzers, on the other hand, are primarily concerned with efficiency. We designed an algorithm and built a tool that can be configured to perform not only a purely tree-based or a purely lattice-based analysis, but offers many intermediate settings that have not been evaluated before. The algorithm and tool take one or more abstract interpreters, such as a predicate abstraction and a shape analysis, and configure their execution and interaction using several parameters. Our experiments show that such customization may lead to dramatic improvements in the precision-efficiency spectrum. 1

Uniform Closures: Order-Theoretically Reconstructing Logic Program Semantics and Abstract Domain Refinement

by Roberto Giacobazzi, Francesco Ranzato - Inform. and Comput , 1998
"... Domain Refinements Roberto Giacobazzi Dipartimento di Informatica Universit`a di Pisa Corso Italia 40, 56125 Pisa, Italy giaco@di.unipi.it Francesco Ranzato Dipartimento di Matematica Pura ed Applicata Universit`a di Padova Via Belzoni 7, 35131 Padova, Italy franz@math.unipd.it Abstract The no ..."
Abstract - Cited by 7 (4 self) - Add to MetaCart
Domain Refinements Roberto Giacobazzi Dipartimento di Informatica Universit`a di Pisa Corso Italia 40, 56125 Pisa, Italy giaco@di.unipi.it Francesco Ranzato Dipartimento di Matematica Pura ed Applicata Universit`a di Padova Via Belzoni 7, 35131 Padova, Italy franz@math.unipd.it Abstract The notion of uniform closure operator is introduced, and it is shown how this concept surfaces in two different areas of application of abstract interpretation, notably in semantics design for logic programs and in the theory of abstract domain refinements. In logic programming, uniform closures permit to generalize, from an order-theoretic perspective, the standard hierarchy of declarative semantics. In particular, we show how to reconstruct the modeltheoretic characterization of the well-known s-semantics using pure order-theoretic concepts only. As far as the systematic refinement operators on abstract domains are concerned, we show that uniform closures capture precisely the property of a ref...

Comparing completeness properties of static analyses and their logics

by David A. Schmidt - Proc. 2006 Asian Programming Languages and Systems Symposium (APLAS’06), volume 4279 of Lecture Notes in Computer Science , 2006
"... Abstract. Static analyses calculate abstract states, and their logics validate properties of the abstract states. We place into perspective the variety of forwards, backwards, functional, and logical completeness used in abstract-interpretation-based static analysis by giving examples and by proving ..."
Abstract - Cited by 7 (4 self) - Add to MetaCart
Abstract. Static analyses calculate abstract states, and their logics validate properties of the abstract states. We place into perspective the variety of forwards, backwards, functional, and logical completeness used in abstract-interpretation-based static analysis by giving examples and by proving equivalences, implications, and independences. We expose two fundamental Galois connections that underlie the logics for static analyses and reveal a new completeness variant, O-completeness. We also show that the key concept underlying logical completeness is covering, which we use to relate the various forms of completeness. When we use a static analysis, like data-flow analysis or model checking, to validate a program for correctness or code improvement, we must carefully define the domain of properties the analysis can calculate so that it includes both the goal properties we seek to validate as well as intermediate properties that lead to the goals. Say we try to validate {?}y: = −y;x: = y +1{isPositive(x)}; our analysis requires properties like isNegative to calculate a sound precondition:

Points-to analysis for JavaScript

by Dongseok Jang, Kwang-moo Choe - In Proc. of ACSAC , 1930
"... JavaScript is widely used by web developers and the complexity of JavaScript programs has increased over the last year. Therefore, the need for program analysis for Java-Script is evident. Points-to analysis for JavaScript is to determine the set of objects to which a reference variable or an object ..."
Abstract - Cited by 5 (0 self) - Add to MetaCart
JavaScript is widely used by web developers and the complexity of JavaScript programs has increased over the last year. Therefore, the need for program analysis for Java-Script is evident. Points-to analysis for JavaScript is to determine the set of objects to which a reference variable or an object property may point. Points-to analysis for Java-Script is a basis for further program analyses for JavaScript. It has a wide range of applications in code optimization and software engineering tools. However, points-to analysis for JavaScript has not yet been developed. JavaScript has dynamic features such as the runtime modification of objects through addition of properties or updating of methods. We propose a points-to analysis for Java-Script which precisely handles the dynamic features of Java-Script. Our work is the first attempt to analyze the points-to behavior of JavaScript. We evaluate the analysis on a set of JavaScript programs. We also apply the analysis to a code optimization technique to show that the analysis can be practically useful. Categories and Subject Descriptors D.3.2 [Programming Languages]: Language Classifications—Specialized application languages; F.3.2 [Logics and

Visualization of Exception Propagation for Java using Static Analysis

by Byeong-mo Chang - In Proceedings of the Second IEEE International Workshop on Source Code Analysis and Manipulation (SCAM’02 , 2002
"... In this paper, we first present a static analysis based on set-based framework, which estimates exception propagation paths of Java programs. We construct an exception propagation graph from the static analysis information, which includes the origin of exceptions, handler of exceptions, and propagat ..."
Abstract - Cited by 4 (1 self) - Add to MetaCart
In this paper, we first present a static analysis based on set-based framework, which estimates exception propagation paths of Java programs. We construct an exception propagation graph from the static analysis information, which includes the origin of exceptions, handler of exceptions, and propagation paths of exceptions. We have implemented the exception propagation analysis and a visualization tool which visualizes propagation paths of exceptions using the exception propagation graph. This propagation information can guide programmers to detect uncaught exceptions, handle exceptions more specifically, and put exception handlers at appropriate places by tracing exception propagation.
The National Science Foundation
  • About CiteSeerX
  • Submit Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2010 The Pennsylvania State University