Using global analysis, partial specifications, and an extensible assertion language for program validation and debugging

Hermenegildo, Manuel V. and Puebla Sánchez, Alvaro Germán and Bueno Carrillo, Francisco (1998). Using global analysis, partial specifications, and an extensible assertion language for program validation and debugging. Monografía (Technical Report). Facultad de Informática (UPM), Madrid, Spain.

Description

Title: Using global analysis, partial specifications, and an extensible assertion language for program validation and debugging
Author/s:
  • Hermenegildo, Manuel V.
  • Puebla Sánchez, Alvaro Germán
  • Bueno Carrillo, Francisco
Item Type: Monograph (Technical Report)
Date: October 1998
Subjects:
Faculty: Facultad de Informática (UPM)
Department: Inteligencia Artificial
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[thumbnail of HERME_TCREP_ANDMANS_1998-1.pdf]
Preview
PDF - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (1MB) | Preview

Abstract

We present a framework for the application of abstract interpretation as an aid during program development, rather than in the more traditional application of program optimization. Program validation and detection of errors is first performed statically by comparing (partial) specifications written in terms of assertions against information obtained from static analysis of the program. The results of this process are expressed in the user assertion language. Assertions (or parts of assertions) which cannot be verified statically are translated into run-time tests. The framework allows the use of assertions to be optional. It also allows using very general properties in assertions, beyond the predefined set understandable by the static analyzer and including properties defined by means of user programs. We also report briefly on an implementation of the framework. The resulting tool generates and checks assertions for Prolog, CLP(R), and CHIP/CLP(fd) programs, and integrates compile-time and run-time checking in a uniform way. The tool allows using properties such as types, modes, non-failure, determinacy, and computational cost, and can treat modules separately, performing incremental analysis. In practice, this modularity allows detecting statically bugs in user programs even if they do not contain any assertions.

More information

Item ID: 14766
DC Identifier: https://oa.upm.es/14766/
OAI Identifier: oai:oa.upm.es:14766
Official URL: http://clip.dia.fi.upm.es/papers/prog-glob-an_bitm...
Deposited by: Biblioteca Facultad de Informatica
Deposited on: 06 Apr 2013 06:53
Last Modified: 21 Apr 2016 14:35
  • 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