Static Analysis

interpretation serves as a powerful theoretical tool for developing and justifying program-analysis algorithms. It provides a way to establish that information extracted from a program by a program-analysis algorithm is a meaningful characterization of what can occur when the program is executed. Typically, however, it is not an easy task to obtain the appropriate abstract statetransformation functions and to show that they are correct. On the contrary, papers on program analysis often contain exhaustive (and exhausting) proofs to demonstrate that a given abstract semantics provides answers that are safe with respect to a given concrete semantics. In contrast, the parametric framework for program analysis proposed by Sagiv, Reps, and Wilhelm [POPL ’99, TOPLAS (in press)] holds out the promise of allowing different program-analysis tools to be generated automatically from high-level descriptions of what an analysis designer desires. Analyses generated in this fashion would be correct by construction. This framework has two parts: – A language (3-valued logic) for specifying various properties that an entity may or may not possess, and how these properties are affected by the execution of the different kinds of statements in the programming language. – A method for generating a static-analysis algorithm from such a description. The talk will review the principles behind the paradigm of “abstract interpretation via 3-valued logic,” discuss recent work to extend the approach, and summarize on-going research aimed at overcoming remaining limitations on the ability to create program-analysis algorithms fully automatically. (Joint work with M. Sagiv, R. Wilhelm, F. DiMaio, N. Dor, T. Lev-Ami, A. Loginov, A. Mulhern, N. Rinetzky, and E. Yahav.) M. Hermenegildo and G. Puebla (Eds.): SAS 2002, LNCS 2477, p. 1, 2002. c © Springer-Verlag Berlin Heidelberg 2002 Open Modeling in Multi-stakeholder Distributed Systems: Research and Tool Challenges

[1]  Matthieu Martel,et al.  Propagation of Roundoff Errors in Finite Precision Computations: A Semantics Approach , 2002, ESOP.

[2]  Alan F. Beardon,et al.  Iteration of Rational Functions , 1991 .

[3]  Michael F. Barnsley,et al.  Fractals everywhere, 2nd Edition , 1993 .

[4]  Gene H. Golub,et al.  Matrix computations , 1983 .

[5]  H. Wong-Toi,et al.  Some lessons from the HYTECH experience , 2001, Proceedings of the 40th IEEE Conference on Decision and Control (Cat. No.01CH37228).

[6]  William Pugh,et al.  A practical algorithm for exact array dependence analysis , 1992, CACM.

[7]  Vincent Loechner PolyLib: A Library for Manipulating Parameterized Polyhedra , 1999 .

[8]  Eran Yahav,et al.  Verifying safety properties of concurrent Java programs using 3-valued logic , 2001, POPL '01.

[9]  Olivier Coudert,et al.  A Performance Study of BDD-Based Model Checking , 1998, FMCAD.

[10]  F. Chatelin Valeurs propres de matrices , 1988 .

[11]  Nicolas Halbwachs,et al.  Verification of Linear Hybrid Systems by Means of Convex Approximations , 1994, SAS.

[12]  J. Stoer,et al.  Convexity and Optimization in Finite Dimensions I , 1970 .

[13]  William H. Press,et al.  Numerical recipes in C , 2002 .

[14]  Patrick Cousot,et al.  Abstract Interpretation Frameworks , 1992, J. Log. Comput..

[15]  Thomas A. Henzinger,et al.  HYTECH: a model checker for hybrid systems , 1997, International Journal on Software Tools for Technology Transfer.

[16]  J. Yorke,et al.  Chaos: An Introduction to Dynamical Systems , 1997 .

[17]  Bernd Finkbeiner,et al.  An Update on STeP: Deductive-Algorithmic Verification of Reactive Systems , 1998, Tool Support for System Specification, Development and Verification.

[18]  Nicolas Halbwachs,et al.  Verification of Real-Time Systems using Linear Relation Analysis , 1997, Formal Methods Syst. Des..

[19]  H. L. Verge A Note on Chernikova's algorithm , 1992 .

[20]  Eric Goubault,et al.  Static Analyses of the Precision of Floating-Point Operations , 2001, SAS.

[21]  Eric Goubault,et al.  Asserting the Precision of Floating-Point Computations: A Simple Abstract Interpreter , 2002, ESOP.

[22]  H. Raiffa,et al.  3. The Double Description Method , 1953 .