Program Analysis, Debugging, and Optimization Using the Ciao System Preprocessor

Saved in:
Bibliographic Details
Title: Program Analysis, Debugging, and Optimization Using the Ciao System Preprocessor
Authors: Manuel Hermenegildo, Francisco Bueno
Contributors: The Pennsylvania State University CiteSeerX Archives
Source: http://clip.dia.fi.upm.es/papers/ciaopp-iclp99-tut.ps.gz.
Publisher Information: MIT Press
Publication Year: 1999
Collection: CiteSeerX
Subject Terms: Global Analysis, Debugging, Verication, Parallelization, Optimization, Partial Evaluation, Multiple Specialization, Abstract Interpretation. 1
Description: We present a tutorial overview of Ciaopp, the Ciao system preprocessor. Ciao is a public-domain, next-generation logic programming system, which subsumes ISO-Prolog and is specifically designed to a) be highly extensible via libraries and b) support modular program analysis, debugging, and optimization. The latter tasks are performed in an integrated fashion by Ciaopp. Ciaopp uses modular, incremental abstract interpretation to infer properties of program predicates and literals, including types, variable instantiation properties (including modes), non-failure, determinacy, bounds on computational cost, bounds on sizes of terms in the program, etc. Using such analysis information, Ciaopp can find errors at compile-time in programs and/or perform partial verification. Ciaopp checks how programs call system libraries and also any assertions present in the program or in other modules used by the program. These assertions are also used to generate documentation automatically. Ciaopp also uses.
Document Type: text
File Description: application/postscript
Language: English
Relation: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.44.241
Availability: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.44.241
http://clip.dia.fi.upm.es/papers/ciaopp-iclp99-tut.ps.gz
Rights: Metadata may be used without restrictions as long as the oai identifier remains attached to it.
Accession Number: edsbas.4A4AC441
Database: BASE
Description
Abstract:We present a tutorial overview of Ciaopp, the Ciao system preprocessor. Ciao is a public-domain, next-generation logic programming system, which subsumes ISO-Prolog and is specifically designed to a) be highly extensible via libraries and b) support modular program analysis, debugging, and optimization. The latter tasks are performed in an integrated fashion by Ciaopp. Ciaopp uses modular, incremental abstract interpretation to infer properties of program predicates and literals, including types, variable instantiation properties (including modes), non-failure, determinacy, bounds on computational cost, bounds on sizes of terms in the program, etc. Using such analysis information, Ciaopp can find errors at compile-time in programs and/or perform partial verification. Ciaopp checks how programs call system libraries and also any assertions present in the program or in other modules used by the program. These assertions are also used to generate documentation automatically. Ciaopp also uses.