Directions for Research in Approximate System Analysis Patrick Cousot ´ Ecole Normale Sup´rieure, DMI e 45, rue d Ulm, 75230 Paris cedex 05, France E-mail: cousot@dmi.ens.fr Program analysis is mainly concerned with the design of program analyzers to automatically determine semantic properties of programs written in some programming language. Such analyzers take programs as input and output some useful information about their runtime behavior. This information is useful for optimizing compilers [15], partial evaluators [11], abstract debuggers [1], models-checkers [2], formal veri ers [13], etc. The di culty of the task comes from the fact that programs are in nite states so that all interesting questions about program executions are undecidable. Hence the automatically produced information, although sound, must be incomplete. With the appearance of new computing paradigms, the scope of program analysis has been constantly broadening these last two decades. The term program static analysis is therefore too restricted since the analysis problem appears as soon as one considers computer systems with states which evolve continuously or discretely over time, from term rewriting to communication protocols, critical embedded realtime systems and image compression. Three approaches have been considered: Formal methods based on general or dedicated theorem
/lp/association-for-computing-machinery/directions-for-research-in-approximate-system-analysis-0uRduZ0DSX