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


Autoria(s): Hermenegildo, Manuel V.; Puebla Sánchez, Alvaro Germán; Bueno Carrillo, Francisco
Data(s)

01/07/1999

Resumo

We discuss 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 (global) 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 checked 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 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.

Formato

application/pdf

Identificador

http://oa.upm.es/14573/

Idioma(s)

eng

Publicador

Facultad de Informática (UPM)

Relação

http://oa.upm.es/14573/1/HERME_ARTINBOOKS_1999-1.pdf

http://link.springer.com/chapter/10.1007%2F978-3-642-60085-2_7

info:eu-repo/semantics/altIdentifier/doi/10.1007/978-3-642-60085-2_7

Direitos

http://creativecommons.org/licenses/by-nc-nd/3.0/es/

info:eu-repo/semantics/openAccess

Fonte

Using global analysis, partial specifications, and an extensible assertion language for program validation and debugging | En: The Logic Programming Paradigm | pag. 161-192 | Springer Berlin Heidelberg | 1999-07

Palavras-Chave #Informática
Tipo

info:eu-repo/semantics/bookPart

Sección de Libro

PeerReviewed