M. Ducassé and J. Noyé.
Logic Programming Environments: Dynamic program analysis and debugging.
The Journal of Logic Programming,
19/20:351-384,
May/July 1994.
Note: Anniversary issue: Ten years of Logic Programming.
[WWW]
Abstract:
Programming environments are essential for the acceptance of programming languages. This survey emphasizes that program analysis, both static and dynamic, is the central issue of programming environments. Because their clean semantics makes powerful analysis possible, logic programming languages have an indisputable asset in the long term. This survey is focused on logic program analysis and debugging. The large number of references provided show that the field, though maybe scattered, is active. A unifying framework is given which separates environment tools into extraction, analysis, and visualization. It facilitates the analysis of existing tools and should give some guide lines to develop new ones. Achievements in logic programming are listed; some techniques developed for other languages are pointed out, and some trends for further research are drawn. Among the main achievements are algorithmic debugging, tracing for sequential Prolog, and abstract interpretation. The main missing techniques are slicing, test case generation, and program mutation. The perspectives we see are integration, evaluation and, above all, automated static and dynamic analysis. |
@Article{dn94,
author = {M. Ducassé and J. Noyé},
url = {http://www.irisa.fr/EXTERNE/bibli/pi/pi910.html},
title = {Logic Programming Environments: Dynamic program analysis and debugging},
journal = {The Journal of Logic Programming},
year = {1994},
volume = {19/20},
pages = {351-384 },
month = {May/July},
notes = {Anniversary issue: Ten years of Logic Programming},
abstract = {Programming environments are essential for the acceptance of programming languages. This survey emphasizes that program analysis, both static and dynamic, is the central issue of programming environments. Because their clean semantics makes powerful analysis possible, logic programming languages have an indisputable asset in the long term. This survey is focused on logic program analysis and debugging. The large number of references provided show that the field, though maybe scattered, is active. A unifying framework is given which separates environment tools into extraction, analysis, and visualization. It facilitates the analysis of existing tools and should give some guide lines to develop new ones. Achievements in logic programming are listed; some techniques developed for other languages are pointed out, and some trends for further research are drawn. Among the main achievements are algorithmic debugging, tracing for sequential Prolog, and abstract interpretation. The main missing techniques are slicing, test case generation, and program mutation. The perspectives we see are integration, evaluation and, above all, automated static and dynamic analysis. }
}