eprintid: 14553 rev_number: 16 eprint_status: archive userid: 2047 dir: disk0/00/01/45/53 datestamp: 2013-02-25 15:09:27 lastmod: 2016-04-21 14:16:41 status_changed: 2013-02-25 15:09:27 type: conference_item metadata_visibility: show item_issues_count: 0 creators_name: Hermenegildo, Manuel V. creators_name: Bueno Carrillo, Francisco creators_name: Puebla Sánchez, Alvaro Germán creators_name: López García, Pedro title: Program analysis, debugging and optimization using the ciao system preprocessor ispublished: pub subjects: informatica keywords: Global Analysis, Debugging, Verification, Parallelization, Optimization, Partial Evaluation, Múltiple Specialization, Abstract Interpretation, Análisis global, Depuración, Verificación, Paralelización, Optimización, Evaluación parcial, Especialización múltiple, Interpretación de resúmenes. 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 librarles 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 cali system librarles and also any assertions present in the program or in other modules used by the program. These assertions are also used to genérate documentation automatically. Ciaopp also uses analysis information to perform program transformations and optimizations such as múltiple abstract specialization, parallelization (including granularity control), and optimization of run-time tests for properties which cannot be checked completely at compile-time. We illustrate "hands-on" the use of Ciaopp in all these tasks. By design, Ciaopp is a generic tool, which can be easily tailored to perform these and other tasks for different LP and CLP dialects. date: 1999-11 date_type: published publisher: MIT Press full_text_status: public pres_type: paper pages: 618 event_title: The 1999 international conference on Logic programming event_location: Las Cruces, New Mexico, USA event_dates: November 29 - December 4, 1999 event_type: conference institution: Informatica department: Inteligencia_Artificial refereed: TRUE isbn: 0262541041 book_title: Logic Programming:Proceedings of the 1999 International Conference on Logic Programming rights: by-nc-nd citation: Hermenegildo, Manuel V. and Bueno Carrillo, Francisco and Puebla Sánchez, Alvaro Germán and López García, Pedro (1999). Program analysis, debugging and optimization using the ciao system preprocessor. In: "The 1999 international conference on Logic programming", November 29 - December 4, 1999, Las Cruces, New Mexico, USA. ISBN 0262541041. document_url: https://oa.upm.es/14553/1/HERMENE_IPT_1999-1.pdf