Program Analysis: A Hierarchy
Andreas Zeller

Software Engineering Chair (Prof. Zeller)
Saarland University – Computer Science
Saarland Informatics Campus
Campus E9 1 (CISPA)
66123 Saarbrücken, Germany
E-mail: zeller @
Phone: +49 681 302-70970

Deutschsprachige Startseite Page d'acceuil en franšais English home page
   Andreas Zeller. Program Analysis: A Hierarchy. Proc. Workshop on Dynamic Analysis (WODA 2003), Portland, Oregon, May 2003.
"Program analysis tools can be classified into a hierarchy along the used reasoning techniques - deduction, observation, induction, and experimentation. Each class is defined by the used knowledge sources which impose capabilities and limits. This allows for a finer distinction of dynamic analysis techniques; names like observation, induction, or experimentation link directly to the techniques that programmers use in program comprehension." (Conclusion)

Get the paper in PDF format (46k, 4 pages).


Program analysis tools are based on four reasoning techniques: (1) deduction from code to concrete runs, (2) observation of concrete runs, (3) induction from observations into abstractions, and (4) experimentation to find causes for specific effects. These techniques form a hierarchy, where each technique can make use of lower levels, and where each technique induces capabilities and limits of the associated tools.


  1. Introduction
  2. Deduction
  3. Observation
  4. Induction
  5. Experimentation
  6. A Hierarchy of Program Analysis
  7. Conclusion and Future Work
  8. References


See Also...

Imprint Privacy Policy

<> · · Updated: 2018-04-05 13:41