Integrated program debugging, verification, and optimization using abstract interpretation (and the Ciao system preprocessor)

Bueno Carrillo, Francisco; Hermenegildo, Manuel V.; López García, Pedro y Puebla Sánchez, Alvaro Germán (2005). Integrated program debugging, verification, and optimization using abstract interpretation (and the Ciao system preprocessor). "Science of computer programming", v. 58 (n. 1-2); pp. 115-140. ISSN 0167-6423. https://doi.org/10.1016/j.scico.2005.02.006.

Descripción

Título: Integrated program debugging, verification, and optimization using abstract interpretation (and the Ciao system preprocessor)
Autor/es:
  • Bueno Carrillo, Francisco
  • Hermenegildo, Manuel V.
  • López García, Pedro
  • Puebla Sánchez, Alvaro Germán
Tipo de Documento: Artículo
Título de Revista/Publicación: Science of computer programming
Fecha: 2005
Volumen: 58
Materias:
Palabras Clave Informales: Program development, Global analysis, Abstract interpretation, Debugging, Verification, Partial evaluation,Program transformation, Optimization, Parallelization, Resource control, Programming environments, Multi-Paradigm programming, (Constraint) Logic programming, Desarrollo de programas, Depuración de programas, Verificación de programas, Evaluación parcial, Transformación de programas, Paralelización automática, Entornos de programas, Paradigma múltiple de programación, Programación lógica
Escuela: Facultad de Informática (UPM) [antigua denominación]
Departamento: Inteligencia Artificial
Licencias Creative Commons: Reconocimiento - Sin obra derivada - No comercial

Texto completo

[img]
Vista Previa
PDF (Document Portable Format) - Se necesita un visor de ficheros PDF, como GSview, Xpdf o Adobe Acrobat Reader
Descargar (1MB) | Vista Previa

Resumen

The technique of Abstract Interpretation has allowed the development of very sophisticated global program analyses which are at the same time provably correct and practical. We present in a tutorial fashion a novel program development framework which uses abstract interpretation as a fundamental tool. The framework uses modular, incremental abstract interpretation to obtain information about the program. This information is used to validate programs, to detect bugs with respect to partial specifications written using assertions (in the program itself and/or in system libraries), to generate and simplify run-time tests, and to perform high-level program transformations such as multiple abstract specialization, parallelization, and resource usage control, all in a provably correct way. In the case of validation and debugging, the assertions can refer to a variety of program points such as procedure entry, procedure exit, points within procedures, or global computations. The system can reason with much richer information than, for example, traditional types. This includes data structure shape (including pointer sharing), bounds on data structure sizes, and other operational variable instantiation properties, as well as procedure-level properties such as determinacy, termination, nonfailure, and bounds on resource consumption (time or space cost). CiaoPP, the preprocessor of the Ciao multi-paradigm programming system, which implements the described functionality, will be used to illustrate the fundamental ideas.

Más información

ID de Registro: 11151
Identificador DC: http://oa.upm.es/11151/
Identificador OAI: oai:oa.upm.es:11151
Identificador DOI: 10.1016/j.scico.2005.02.006
URL Oficial: http://www.journals.elsevier.com/science-of-computer-programming/#description
Depositado por: Biblioteca Facultad de Informatica
Depositado el: 25 Sep 2012 06:48
Ultima Modificación: 20 Abr 2016 19:19
  • Open Access
  • Open Access
  • Sherpa-Romeo
    Compruebe si la revista anglosajona en la que ha publicado un artículo permite también su publicación en abierto.
  • Dulcinea
    Compruebe si la revista española en la que ha publicado un artículo permite también su publicación en abierto.
  • Recolecta
  • e-ciencia
  • Observatorio I+D+i UPM
  • OpenCourseWare UPM