# Exact flow analysis

@article{Mossin1997ExactFA, title={Exact flow analysis}, author={Christian Mossin}, journal={Mathematical Structures in Computer Science}, year={1997}, volume={13}, pages={125 - 156} }

We present a type-based flow analysis for simply typed lambda calculus with booleans, data-structures and recursion. The analysis is exact in the following sense: if the analysis predicts a redex, there exists a reduction sequence (using standard reduction plus context propagation rules) such that this redex will be reduced. The precision is accomplished using intersection typing. It follows that the analysis is non-elementary recursive – more surprisingly, the analysis is decidable. We argue…

## 30 Citations

### Exact Flow Analysis by Higher-Order Model Checking

- Computer Science, MathematicsFLOPS
- 2012

It is shown that, unlike most of the control flow analyses like k -CFA, it is exact for simply-typed (λ )-calculus with recursion and finite base types, and that it is indeed runnable in practice, at least for small programs.

### The Complexity of Flow Analysis in Higher-Order Languages

- Computer ScienceArXiv
- 2013

This dissertation proves lower bounds on the inherent difficulty of deciding flow analysis problems in higher-order programming languages. We give exact characterizations of the computational…

### Abstract Interpretation Based Formal Methods and Future Challenges

- Computer ScienceInformatics
- 2001

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.

### Model Checking Higher-Order Programs 1

- Computer Science
- 2011

A novel verification method for higher-order functional programs based on higherorder model checking, which is sound, complete, and automatic for the simply-typed λ-calculus with recursion and finite base types, and for various program verification problems such as reachability, flow analysis, and resource usage verification.

### Types in Program Analysis

- Computer ScienceThe Essence of Computation
- 2002

This paper surveys type-based program analysis with an emphasis on the polyvariant program analyses that can be obtained using conjunctive types and parametric polymorphism, and shows how binding-time analysis and strictness analysis are variations of a common framework based on conj unctive types.

### Intersection types and higer-order model checking

- Computer Science
- 2014

A generalisation of the intersection type approach is presented in which higher-order model checking is seen as an instance of exact abstract interpretation, by giving a natural treatment of higher-type properties, which are sets of functions.

### Model Checking Higher-Order Programs

- Computer ScienceJACM
- 2013

A variety of program verification problems can be reduced to model checking problems for recursion schemes, by transforming a program into a recursion scheme that generates a tree representing all the interesting possible event sequences of the program.

### A Type- and Control-Flow Analysis for System F

- Computer ScienceIFL
- 2012

A monovariant flow analysis for System F (with recursion) yields both control-flow information, approximating the λand Λ-expressions that may be bound to variables, and type-flow Information, approximates the type expressions that may instantiate type variables.

### Polyvariant flow analysis with higher-ranked polymorphic types and higher-order effect operators

- MathematicsICFP '10
- 2010

It is shown that, for higher-order functions, the expressiveness of higher-ranked types enables us to improve on the precision of conventional let-polymorphic analyses, which are guaranteed by making the analysis of each program parametric in the analyses of its inputs.

### Program Verification with Flow-Effect Types

- Computer Science
- 2005

A sound and decidable closure algorithm for flow-effect types is developed, which achieves a high level of precision by cutting very close to the operational behavior of programs.

## References

SHOWING 1-10 OF 39 REFERENCES

### A modular, polyvariant and type-based closure analysis

- MathematicsICFP '97
- 1997

This work uses the principal typing property of a type system to formulate a modular and polyvariant closure analysis, based on the rank 2 intersection types annotated with control-flow information, which can be used in the separate compilation of programs.

### Automatic Binding Time Analysis for a Typed lambda-Calculus

- Computer ScienceSci. Comput. Program.
- 1988

### Higher-Order Value Flow Graphs

- Computer ScienceNord. J. Comput.
- 1998

A method for constructing value flow graphs for typed higher-order functional languages and it is a reasonable assumption that typed programs are only bigger than their untyped equivalent by a constant factor, hence this is an asymptotic improvement over previous algorithms.

### A New Technique for Strictness Analysis

- Computer ScienceTAPSOFT, Vol.2
- 1991

Results from Unification Theory and type inference with coercions are combined to produce a new method for performing strictness analysis of functional programs, in which extended types are derivable for terms of the λ-calculus.

### A filter lambda model and the completeness of type assignment

- PhilosophyJournal of Symbolic Logic
- 1983

In [6, p. 317] Curry described a formal system assigning types to terms of the type-free λ-calculus. In [11] Scott gave a natural semantics for this type assignment and asked whether a completeness…

### On strictness and its analysis

- Mathematics, Computer SciencePOPL '87
- 1987

The discovery that the problem of strictness analysis is a particular case of type inference is found, which provides a sound basis for reasoning about strictness properties of terms by considering only their principal type.

### Infinitary control flow analysis: a collecting semantics for closure analysis

- Computer SciencePOPL '97
- 1997

This paper shows how to define a collecting semantics for control flow analysis and proves the semantic soundness of the collecting semantics and that all totally deterministic instantiations have a least solution.

### The typed λ-calculus is not elementary recursive

- Mathematics18th Annual Symposium on Foundations of Computer Science (sfcs 1977)
- 1977

It is shown that in general this question cannot be answered by a Turing machine in elementary time, and the computational complexity of related questions concerning the typed λ-calculus (for example, the question of whether a given type contains a closed term).