Results 1 -
6 of
6
Types as abstract interpretations, invited paper
- In 24 th POPL
, 1997
"... Starting from a denotational semantics of the eager untyped lambda-calculus with explicit runtime errors, the standard collecting semantics is defined as specifying the strongest program properties. By a first abstraction, a new sound type collecting semantics is derived in compositional fixpoint fo ..."
Abstract
-
Cited by 35 (10 self)
- Add to MetaCart
Starting from a denotational semantics of the eager untyped lambda-calculus with explicit runtime errors, the standard collecting semantics is defined as specifying the strongest program properties. By a first abstraction, a new sound type collecting semantics is derived in compositional fixpoint form. Then by successive (semi-dual) Galois connection based abstractions, type systems and/or type inference algorithms are designed as abstract semantics or abstract interpreters approximating the type collecting semantics. This leads to a hierarchy of type systems, which is part of the lattice of abstract interpretations of the untyped lambda-calculus. This hierarchy includes two new à la Church/Curry polytype systems. Abstractions of this polytype semantics lead to classical Milner/Mycroft and Damas/Milner polymorphic type schemes, Church/Curry monotypes and Hindley principal typing algorithm. This shows that types are abstract interpretations. 1
Abstract interpretation based formal methods and future challenges, invited paper
- Informatics — 10 Years Back, 10 Years Ahead, volume 2000 of Lecture Notes in Computer Science
, 2001
"... Abstract. In order to contribute to the solution of the software reliability problem, tools have been designed to analyze statically the run-time behavior of programs. Because the correctness problem is undecidable, some form of approximation is needed. The purpose of abstract interpretation is to f ..."
Abstract
-
Cited by 22 (6 self)
- Add to MetaCart
Abstract. In order to contribute to the solution of the software reliability problem, tools have been designed to analyze statically the run-time behavior of programs. Because the correctness problem is undecidable, some form of approximation is needed. The purpose of abstract interpretation is to formalize this idea of approximation. We illustrate informally the application of abstraction to the semantics of programming languages as well as to static program analysis. The main point is that in order to reason or compute about a complex system, some information must be lost, that is the observation of executions must be either partial or at a high level of abstraction. In the second part of the paper, we compare static program analysis with deductive methods, model-checking and type inference. Their foundational ideas are briefly reviewed, and the shortcomings of these four methods are discussed, including when they should be combined. Alternatively, since program debugging is still the main program verification
Program Analysis Position Statement: The Abstract Interpretation Perspective
, 1996
"... Interpretation Perspective Patrick Cousot Program Analysis Position Statement: ffl Semantic analysis (of programs, systems, etc.) should become a mature discipline to be included in educational curricula in computer science; ffl This requires the discipline to evolve from an illassorted collecti ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
Interpretation Perspective Patrick Cousot Program Analysis Position Statement: ffl Semantic analysis (of programs, systems, etc.) should become a mature discipline to be included in educational curricula in computer science; ffl This requires the discipline to evolve from an illassorted collection of methods and algorithms to a large scope formal reasoning and design methodology; ffl In particular, program analysis methods should be explained in language, program encoding, semantics, property, property encoding, and approximation independent way, to be of very broad scope and wide usefulness; ffl This might be possible by reasoning on the approximation of the structures involved in semantical specifications; ffl This effort would culminate in a general theory of semantical approximation leading to a tractable composable parameterized semantical analysis design methodology; ffl From a more practical point of view, the methodology would be applied to the uniform design of: --...
A Generalized Approach to Equational Unification
- MIT LABORATORY FOR COMPUTER SCIENCE
, 1985
"... ..."
Incremental Polymorphic Type Checking With Update
, 1992
"... We describe a variant of Milner's ML type inference algorithm which can be used to perform incremental type checking of programs with partially unspecied functions (or predicates in Prolog). This supports modication (e.g. for correction) of procedures dened previously and provides for a convenient t ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
We describe a variant of Milner's ML type inference algorithm which can be used to perform incremental type checking of programs with partially unspecied functions (or predicates in Prolog). This supports modication (e.g. for correction) of procedures dened previously and provides for a convenient treatment of top-level mutual recursion including Prolog-style incremental clausal denition. The system allows us to: dene a function of, say, type ! , use it in suceeding functions and then modify its denition to a type instance, such as list( int) ! list( int), provided that, in the meantime, it has not been used by other functions at an incompatible instance. Undened procedures can be treated as having type (or ! corresponding to the function x:fail ). This is useful for the case of languages (like HOPE, Miranda, Haskell and Prolog) which require that all top-level procedures are dened mutually recursively | forward references can then be treated as if dened by x...
ACM Workshop on Strategic Directions in Computing Research
"... Interpretation Perspective Patrick Cousot Program Analysis Position Statement: ffl Semantic analysis (of programs, systems, etc.) should become a mature discipline to be included in educational curricula in computer science; ffl This requires the discipline to evolve from an illassorted collecti ..."
Abstract
- Add to MetaCart
Interpretation Perspective Patrick Cousot Program Analysis Position Statement: ffl Semantic analysis (of programs, systems, etc.) should become a mature discipline to be included in educational curricula in computer science; ffl This requires the discipline to evolve from an illassorted collection of methods and algorithms to a large scope formal reasoning and design methodology; ffl In particular, program analysis methods should be explained in language, program encoding, semantics, property, property encoding, and approximation independent way, to be of very broad scope and wide usefulness; ffl This might be possible by reasoning on the approximation of the structures involved in semantical specifications; ffl This effort would culminate in a general theory of semantical approximation leading to a tractable composable parameterized semantical analysis design methodology; ffl From a more practical point of view, the methodology would be applied to the uniform design of: --...

