Static extensivity analysis for λ-definable functions over lattices

We employ a static analysis to examine the extensivity (∀x:x≤f(x)) of functions defined over lattices in a λ-calculus augmented with lattice operations. The need for such a verification procedure has arisen in our work on a generator system (called Zoo) of static program-analyzers. The input to Zoo is a static analysis specification that consists of lattice definitions and function definitions over the lattices. Once the extensivity of the functions is ascertained, the generated analyzer is guaranteed to terminate when the lattices have finite-heights. The extensivity analysis consists of a sound syntax-driven deductive rules whose satisfiability check is done by a constraint solving procedure.

[1]  D. E. Rutherford Introduction to Lattice Theory , 1966 .

[2]  B. Balkay,et al.  Introduction to lattice theory , 1965 .

[3]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[4]  Patrick Cousot,et al.  Systematic design of program analysis frameworks , 1979, POPL.

[5]  Patrick Cousot,et al.  Comparing the Galois Connection and Widening/Narrowing Approaches to Abstract Interpretation , 1992, PLILP.

[6]  Pascal Van Hentenryck,et al.  A Universal Top-Down Fixpoint Algorithm , 1992 .

[7]  Alexander Aiken,et al.  Type inclusion constraints and type inference , 1993, FPCA '93.

[8]  Pascal Van Hentenryck,et al.  Experimental Evaluation of a Generic Abstract Interpretation Algorithm for PROLOG , 1992, ACM Trans. Program. Lang. Syst..

[9]  Patrick Cousot,et al.  Compositional and Inductive Semantic Definitions in Fixpoint, Equational, Constraint, Closure-condition, Rule-based and Game-Theoretic Form , 1995, CAV.

[10]  Winfrid G. Schneeweiss A Necessary and Sufficient Criterion for the Monotonicity of Boolean Functions with Deterministic and Stochastic , 1996, IEEE Trans. Computers.

[11]  Kwangkeun Yi,et al.  Towards a Cost-Effective Estimation of Uncaught Exceptions in SML Programs , 1997, SAS.

[12]  Florian Martin,et al.  PAG – an efficient program analyzer generator , 1998, International Journal on Software Tools for Technology Transfer.

[13]  Dana Ron,et al.  Improved Testing Algorithms for Monotonicity , 1999, Electron. Colloquium Comput. Complex..

[14]  Andrei A. Voronenko On the complexity of the monotonicity verification , 2000, Proceedings 15th Annual IEEE Conference on Computational Complexity.

[15]  Dana Ron,et al.  Testing Monotonicity , 2000, Comb..

[16]  Andrzej S. Murawski,et al.  Static Monotonicity Analysis for lambda-Definable Functions. over Lattices , 2001, APLAS.

[17]  K. Yi Program Analysis System Zoo , 2001 .

[18]  Kwangkeun Yi,et al.  A cost-effective estimation of uncaught exceptions in Standard ML programs , 2002, Theor. Comput. Sci..