Program analysis, debugging and optimization using the ciao system preprocessor

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.

Description

Title: Program analysis, debugging and optimization using the ciao system preprocessor
Author/s:
  • Hermenegildo, Manuel V.
  • Bueno Carrillo, Francisco
  • Puebla Sánchez, Alvaro Germán
  • López García, Pedro
Item Type: Presentation at Congress or Conference (Article)
Event Title: The 1999 international conference on Logic programming
Event Dates: November 29 - December 4, 1999
Event Location: Las Cruces, New Mexico, USA
Title of Book: Logic Programming:Proceedings of the 1999 International Conference on Logic Programming
Date: November 1999
ISBN: 0262541041
Subjects:
Freetext 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.
Faculty: Facultad de Informática (UPM)
Department: Inteligencia Artificial
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[img]
Preview
PDF - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (958kB) | Preview

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.

More information

Item ID: 14553
DC Identifier: http://oa.upm.es/14553/
OAI Identifier: oai:oa.upm.es:14553
Deposited by: Biblioteca Facultad de Informatica
Deposited on: 25 Feb 2013 15:09
Last Modified: 21 Apr 2016 14:16
  • Logo InvestigaM (UPM)
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo Sherpa/Romeo
    Check whether the anglo-saxon journal in which you have published an article allows you to also publish it under open access.
  • Logo Dulcinea
    Check whether the spanish journal in which you have published an article allows you to also publish it under open access.
  • Logo de Recolecta
  • Logo del Observatorio I+D+i UPM
  • Logo de OpenCourseWare UPM