This thesis provides mathematical techniques for the static analysis of numerical operations in programs. Specifically, we design efficient algorithms for the automatic discovery of invariant linear and non-linear interrelationships among the variables of the input program.

We shall consider imperative programs over numerical quantities. These programs arise naturally in many domains: scientific programs, process controllers, network protocols, timed and hybrid process models, models of manufacturing systems, and models of biochemical reaction mechanisms are all examples of such programs.

The thesis is divided into two parts. In the first part, we provide efficient algorithms for the discovery of linear relations for linear programs, i.e. programs where the guards and assignments are linear. The second part of the thesis provides techniques for discovering invariant nonlinear relations for nonlinear programs.

Linear relation analysis is performed by forward propagation,
wherein a set of states is approximated by a
convex polyhedron. These techniques have been widely used in the
analysis of timed and linear hybrid systems. Analysis techniques based
on polyhedra do not scale to large systems owing to the exponential
space polyhedral operations involved. Common solutions consider
*weakly relational domains*, wherein the analysis is carried out
over polyhedra with a pre-defined fixed shape such as
*intervals*, *octagons*, and *octahedra*. In this
thesis, we define an
alternative simple polynomial time analysis on arbitrary user-defined
polyhedra by means of repeated linear optimization queries that can be
solved efficiently.

Traditional linear relation analysis algorithms use heuristic guesses
in the form of *widening* to guarantee termination. We define an
alternative constraint-based approach that casts the search for a
candidate invariant relationship into a non-linear constraint solving
problem. We demonstrate efficient techniques for solving these
constraints both exactly and approximately.

The second part of the thesis addresses nonlinear relations for nonlinear programs. We provide a technique that discovers nonlinear equality invariants using computational tools such as Groebner bases. We demonstrate applications to the verification of nonlinear control systems, and automatically prove the correctness of some simple numerical algorithms using our technique.

Postscript, PDF. © 2005, Sriram Sankaranarayanan.

© Henny Sipma / sipma@cs.stanford.edu Last modified: Tue Sep 13 10:19:02 PST 2005