Full text
![]() |
PDF
- Users in campus UPM only
- Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (2MB) |
Puebla Sánchez, Alvaro Germán and Bueno Carrillo, Francisco and Hermenegildo, Manuel V. (2000). A generic preprocessor for program validation and debugging. In: "Analysis and Visualization Tools for Constraint Programming". Lecture Notes in Computer Science (1870). Springer Berlin Heidelberg, pp. 63-107. ISBN 9783540411376. https://doi.org/10.1007/10722311_3.
Title: | A generic preprocessor for program validation and debugging |
---|---|
Author/s: |
|
Editor/s: |
|
Item Type: | Book Section |
Title of Book: | Analysis and Visualization Tools for Constraint Programming |
Date: | September 2000 |
ISBN: | 9783540411376 |
Subjects: | |
Faculty: | Facultad de Informática (UPM) |
Department: | Inteligencia Artificial |
Creative Commons Licenses: | Recognition - No derivative works - Non commercial |
![]() |
PDF
- Users in campus UPM only
- Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (2MB) |
We present a generic preprocessor for combined static/dynamic validation and debugging of constraint logic programs. Passing programs through the preprocessor prior to execution allows detecting many bugs automatically. This is achieved by performing a repertoire of tests which range from simple syntactic checks to much more advanced checks based on static analysis of the program. Together with the program, the user may provide a series of assertions which trigger further automatic checking of the program. Such assertions are written using the assertion language presented in Chapter 2, which allows expressing a wide variety of properties. These properties extend beyond the predefined set which may be understandable by the available static analyzers and include properties defined by means of user programs. In addition to user-provided assertions, in each particular CLP system assertions may be available for predefined system predicates. Checking of both user-provided assertions and assertions for system predicates is attempted first at compile-time by comparing them with the results of static analysis. This may allow statically proving that the assertions hold (Le., they are validated) or that they are violated (and thus bugs detected). User-provided assertions (or parts of assertions) which cannot be statically proved ñor disproved are optionally translated into run-time tests. The implementation of the preprocessor is generic in that it can be easily customized to different CLP systems and dialects and in that it is designed to allow the integration of additional analyses in a simple way. We also report on two tools which are instances of the generic preprocessor: CiaoPP (for the Ciao Prolog system) and CHIPRE (for the CHIP CLP(FL>) system). The currently existing analyses include types, modes, non-failure, determinacy, and computational cost, and can treat modules separately, performing incremental analysis.
Item ID: | 14565 |
---|---|
DC Identifier: | https://oa.upm.es/14565/ |
OAI Identifier: | oai:oa.upm.es:14565 |
DOI: | 10.1007/10722311_3 |
Official URL: | http://link.springer.com/chapter/10.1007%2F10722311_3 |
Deposited by: | Biblioteca Facultad de Informatica |
Deposited on: | 28 Feb 2013 09:19 |
Last Modified: | 22 Sep 2014 11:04 |