Integrity constraint management based on abstract interpretation

Saved in:
Bibliographic Details
Title: Integrity constraint management based on abstract interpretation
Authors: Véronique Benzaken, Xavier Schaefer
Contributors: The Pennsylvania State University CiteSeerX Archives
Source: ftp://ftp.lri.fr/LRI/articles/benzaken/model.ps.Z
Publication Year: 1996
Collection: CiteSeerX
Subject Terms: abstract interpretation, database programming languages, integrity constraints, program semantics and analysis, predicate transformers, theorem proving techniques
Description: In this paper, we propose an efficient method to manage integrity constraints in database systems. Our basic assumption is that the run-time checking of constraints is too costly to be undertaken systematically. Run-time errors (and subsequent roll-backs) that are caused by integrity violations should be avoided. Therefore, transactions should be proven safe with respect to integrity constraints at compile time. To that purpose, we propose a new approach, based on abstract interpretation, to prove the invariance of integrity constraints under complex transactions. Abstract interpretation is a semantics-based tool that yields some reliable information about the possible run-time behaviour of programs, with fully automatic algorithms. We proceed in two main steps. First, we adapt that tool to define a predicate transformer that, given a transaction and a property describing its input data, returns a property describing its output data. When applied to a transaction and an integrity constraint, it produces some useful information about whether the consistency of the database with respect to that integrity constraint will be preserved by that transaction. We develop our method for a kernel database programming language. We show how to map high level database programming languages such as O2 into this language. The abstract interpretation will be undertaken on this kernel language. The second step consists in using some well known (complete) theorem proving techniques, namely the tableaux method, to prove the safety of transactions.
Document Type: text
File Description: application/postscript
Language: English
Relation: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.48.9093
Availability: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.48.9093
Rights: Metadata may be used without restrictions as long as the oai identifier remains attached to it.
Accession Number: edsbas.350D0F7
Database: BASE
Description
Abstract:In this paper, we propose an efficient method to manage integrity constraints in database systems. Our basic assumption is that the run-time checking of constraints is too costly to be undertaken systematically. Run-time errors (and subsequent roll-backs) that are caused by integrity violations should be avoided. Therefore, transactions should be proven safe with respect to integrity constraints at compile time. To that purpose, we propose a new approach, based on abstract interpretation, to prove the invariance of integrity constraints under complex transactions. Abstract interpretation is a semantics-based tool that yields some reliable information about the possible run-time behaviour of programs, with fully automatic algorithms. We proceed in two main steps. First, we adapt that tool to define a predicate transformer that, given a transaction and a property describing its input data, returns a property describing its output data. When applied to a transaction and an integrity constraint, it produces some useful information about whether the consistency of the database with respect to that integrity constraint will be preserved by that transaction. We develop our method for a kernel database programming language. We show how to map high level database programming languages such as O2 into this language. The abstract interpretation will be undertaken on this kernel language. The second step consists in using some well known (complete) theorem proving techniques, namely the tableaux method, to prove the safety of transactions.