## The Deductive Synthesis of Database Transactions (1993)

Venue: | ACM Transactions on Database Systems |

Citations: | 21 - 3 self |

### BibTeX

@ARTICLE{Qian93thedeductive,

author = {Xiaolei Qian},

title = {The Deductive Synthesis of Database Transactions},

journal = {ACM Transactions on Database Systems},

year = {1993},

volume = {18},

pages = {626--677}

}

### Years of Citing Articles

### OpenURL

### Abstract

Database programming requires knowledge of database semantics both to maintain database integrity and to explore more optimization opportunities. Automated programming of database transactions is desirable and feasible. In general, transactions use simple constructs and algorithms; specifications of database semantics are available; and transactions perform small incremental updates to database contents. Automated programming in such a restricted but well-understood and important domain is promising. We approach the synthesis of database transactions that preserve the validity of integrity constraints using deductive techniques. A transaction logic for a fairly expressive class of transactions is developed as the formalism within which the synthesis is conducted. Transactions are generated as the by-product of proving specifications in the logic. The Manna-Waldinger deductive-tableau system is extended with inference rules for the extraction of transactions from proofs, which require t...

### Citations

836 |
A relational model of data for large shared data banks
- Codd
- 1970
(Show Context)
Citation Context .... 1 Introduction Databases are partial models of the real world that provide a means to record knowledge and facts about certain aspects of the real world. We use an extension of the relational model =-=[3]-=- as the underlying modeling mechanism, where facts become tabular data and knowledge consists of logical statements about the data called integrity constraints. A database schema describes the semanti... |

222 | Application of theorem proving to problem solving
- Green
- 1969
(Show Context)
Citation Context ...acted. Specifications often have to be generalized first in order for the induction to be carried through. A related area of study is robot planning in AI [9]. Situational logic was first used in qa3 =-=[11]-=- to synthesize robot plans, which are straight line programs of basic actions. Hoare logic was used in plan synthesis methods based on goal reduction [30], which has the difficulty in generating plans... |

157 |
An intuitionistic theory of types: Predicative part
- Martin-Löf
- 1975
(Show Context)
Citation Context ...ss-preserving transformation rules. Research in deductive program synthesis has concentrated primarily on the generation of applicative programs in classical logic [17] or various constructive logics =-=[4, 24]-=-, where specifications are theorems and programs are constructive proofs. Although classical logic can always be embedded into constructive logics [10], classical proofs cannot always be translated in... |

154 |
A deductive approach to program synthesis
- Manna, Waldinger
- 1980
(Show Context)
Citation Context ...oach with proven lemmas or correctness-preserving transformation rules. Research in deductive program synthesis has concentrated primarily on the generation of applicative programs in classical logic =-=[17]-=- or various constructive logics [4, 24], where specifications are theorems and programs are constructive proofs. Although classical logic can always be embedded into constructive logics [10], classica... |

121 | Automated Deduction by Theory Resolution
- Stickel
- 1985
(Show Context)
Citation Context ...tive synthesis of database transactions. There have been numerous proposals on improving the effectiveness of theorem proving systems. In particular, equational unification [23] and theory resolution =-=[37]-=- have been widely used by researchers. The strategic aspect of resolution with equality matching has also been investigated [19]. These strategies all share the common objective to build axioms into d... |

113 |
Logic for Improving Integrity Checking in Relational Data Bases
- Nicolas
- 1982
(Show Context)
Citation Context ...que, which replaces repeated, costly, and global computations by efficient, local, and incremental modifications [16, 29]. Constraint compilation methods based on finite differencing were proposed in =-=[12, 13, 28]-=-, which, when given a constraint-transaction pair, derive an incremental formula whose validity in an input state guarantees the correctness of the transaction execution in the input state with respec... |

65 |
Exploiting constraints in design synthesis
- Finger
- 1986
(Show Context)
Citation Context ...rallel execution, such as abort/commit and guarded command, can be added to the language such that reasoning about concurrency control [2] and the synthesis of transactions for parallel architectures =-=[6]-=- are possible. Richer data modeling concepts can be incorporated into our language by adding more data types and operations, such as arithmetic and set-theoretic operations. By identifying the classes... |

60 | Horn clauses and database dependencies
- Fagin
- 1982
(Show Context)
Citation Context ...tions in ff occur negatively (Theorem 6.7 in Section 6.4.1 in [31]). A large number of commonly-seen integrity constraints belong to this class, such as the extended, equality-generating dependencies =-=[5] and in -=-particular functional dependencies. Definition 10 A set of static constraints of the form (8s)(8��x)(ff ! (9��y)fi), where ff; fi are quantifier-free and ff is a nonempty conjunction of atomic... |

58 |
Automatic verification of database transaction safety
- Sheard, Stemple
- 1989
(Show Context)
Citation Context ...proached by either program verification or program synthesis. Program verification techniques are applied to transaction programming based on Hoare Logic [8], Dynamic Logic [2], and Boyer-Moore Logic =-=[35]-=-. Program synthesis techniques are typically classified into two broad classes: deductive versus transformational approaches [34]. It is reasonable to view the transformational approach as extending t... |

54 |
Top-down synthesis of divide-and-conquer algorithms
- Smith
- 1985
(Show Context)
Citation Context ...s boils down to control in theorem proving. Algorithm design has attracted a lot of attention recently. Smith represented various classes of algorithms as design tactics to assist program derivations =-=[36]-=-. Finite differencing is a very effective program optimization technique, which replaces repeated, costly, and global computations by efficient, local, and incremental modifications [16, 29]. Constrai... |

41 |
Query Optimization by Semantic Reasoning
- King
- 1981
(Show Context)
Citation Context ... to planning, where imprecise inference is often necessary. Transformational synthesis has been used intensively in database programming, such as query processing [38] and semantic query optimization =-=[15]-=-, where declarative query specifications are transformed into executable and efficient query plans. Freytag and Goodman applied program transformation techniques to the synthesis of iterative programs... |

39 |
Toward a Mathematical Theory of Plan Synthesis
- Pednault
- 1986
(Show Context)
Citation Context ... [9]. Situational logic was first used in qa3 [11] to synthesize robot plans, which are straight line programs of basic actions. Hoare logic was used in plan synthesis methods based on goal reduction =-=[30]-=-, which has the difficulty in generating plans with control structures more powerful than sequential composition. Manna and Waldinger recently adapted program synthesis techniques to the automated gen... |

35 |
Compiling constraint checking programs from first order formulas
- Henschen, Nagui
- 1984
(Show Context)
Citation Context ...que, which replaces repeated, costly, and global computations by efficient, local, and incremental modifications [16, 29]. Constraint compilation methods based on finite differencing were proposed in =-=[12, 13, 28]-=-, which, when given a constraint-transaction pair, derive an incremental formula whose validity in an input state guarantees the correctness of the transaction execution in the input state with respec... |

35 |
Integrity Checking for Multiple Updates
- Hsu, Imielinski
- 1985
(Show Context)
Citation Context ...que, which replaces repeated, costly, and global computations by efficient, local, and incremental modifications [16, 29]. Constraint compilation methods based on finite differencing were proposed in =-=[12, 13, 28]-=-, which, when given a constraint-transaction pair, derive an incremental formula whose validity in an input state guarantees the correctness of the transaction execution in the input state with respec... |

32 |
How to clear a block: A theory of plans
- Manna, Waldinger
- 1987
(Show Context)
Citation Context ...mplies ff, or equivalently fi ! ff is valid. 4 Most general equational unifiers are in general not unique. The equational unification algorithm might yield an infinite stream of most general unifiers =-=[21]-=-. Split Rules 1. If an assertion is of the form ffsfi then add ff and fi to the assertion list. 2. If a goal is of the form flsffi then add fl and ffi to the goal list. 3. If a goal is of the form ff ... |

29 |
PROW: A Step Towards Automatic Program Writing
- Waldinger, Lee
- 1977
(Show Context)
Citation Context ... convenient formalism for describing situations, actions, and causality [25]. Burstall used the formalism to reason about programs that manipulate the states of a computation [1]. It was used in prow =-=[39]-=- to synthesize imperative programs. Manna and Waldinger took situational logic as a framework to formalize algol-like language constructs [18], such as pointers and procedure invocation. They also pro... |

29 |
Database Design
- WIEDERHOLD
- 1983
(Show Context)
Citation Context ...t (8s)(8��x)(ff[R] ! (9��y)fi[S]), ff contains no constants, and hence �� x as a sequence of variables is nonempty. Acyclic constraints are intended to model acyclic referential integrity =-=constraints [40]-=-. Relation R can be viewed as referring to S: the presence of a tuple in R demands the existence of a certain tuple in S. Acyclicity requires that this referential relationship is not cyclic. The clas... |

28 |
A transformational framework for the automatic control of derived data
- Koenig, Paige
- 1981
(Show Context)
Citation Context ...m derivations [36]. Finite differencing is a very effective program optimization technique, which replaces repeated, costly, and global computations by efficient, local, and incremental modifications =-=[16, 29]-=-. Constraint compilation methods based on finite differencing were proposed in [12, 13, 28], which, when given a constraint-transaction pair, derive an incremental formula whose validity in an input s... |

25 |
Applications of finite differencing to database integrity control and query]transaction optimization
- Paige
- 1984
(Show Context)
Citation Context ...m derivations [36]. Finite differencing is a very effective program optimization technique, which replaces repeated, costly, and global computations by efficient, local, and incremental modifications =-=[16, 29]-=-. Constraint compilation methods based on finite differencing were proposed in [12, 13, 28], which, when given a constraint-transaction pair, derive an incremental formula whose validity in an input s... |

21 |
On the translation of relational queries into iterative programs
- JC, Goodman
- 1989
(Show Context)
Citation Context ...ns are transformed into executable and efficient query plans. Freytag and Goodman applied program transformation techniques to the synthesis of iterative programs from relational query specifications =-=[7]-=-. There has been essentially no work in the deductive synthesis of database transactions. There have been numerous proposals on improving the effectiveness of theorem proving systems. In particular, e... |

18 |
N.: Proving Consistency of Database Transactions
- Gardarin, Melkanoff
- 1979
(Show Context)
Citation Context ...1 Related Work Program correctness has been approached by either program verification or program synthesis. Program verification techniques are applied to transaction programming based on Hoare Logic =-=[8]-=-, Dynamic Logic [2], and Boyer-Moore Logic [35]. Program synthesis techniques are typically classified into two broad classes: deductive versus transformational approaches [34]. It is reasonable to vi... |

17 |
Special relations in automated deduction
- Manna, Waldinger
- 1986
(Show Context)
Citation Context ...stems. In particular, equational unification [23] and theory resolution [37] have been widely used by researchers. The strategic aspect of resolution with equality matching has also been investigated =-=[19]-=-. These strategies all share the common objective to build axioms into deduction rules. The benefit is to invoke these axioms only when needed, while their representation as assertions in the tableaux... |

13 |
An algorithm for unification in equational theories
- Martelli, Moiso, et al.
- 1986
(Show Context)
Citation Context ...introduce the basic forms of deduction rules in the deductive-tableau synthesis system without the transaction entries. The unification algorithm used in the system is based on equational unification =-=[23]-=-. Two expressions p and q unify under a most general unifier ` with respect to an equation s = r, if s = r implies that p` = q`. There are six groups of deduction rules in the system. The propositiona... |

12 |
A formal system for reasoning about programs accessing a relational database
- Casanova, Bernstein
- 1980
(Show Context)
Citation Context ...ram correctness has been approached by either program verification or program synthesis. Program verification techniques are applied to transaction programming based on Hoare Logic [8], Dynamic Logic =-=[2]-=-, and Boyer-Moore Logic [35]. Program synthesis techniques are typically classified into two broad classes: deductive versus transformational approaches [34]. It is reasonable to view the transformati... |

10 | An axiom system for database transactions
- Qian
- 1990
(Show Context)
Citation Context ... or inventing well-founded relations. We have shown elsewhere that our transaction language has exactly first-order expressive power [33], and our axiomatization of the language is sound and complete =-=[32]-=-. First-order expressiveness implies that specification is first-order: every property of transactions can be specified in first-order logic. The sound and complete axiomatization of our transaction l... |

8 |
On the Efficient Synthesis of Efficient Programs
- Kant
- 1983
(Show Context)
Citation Context ...s and data structures from declarative specifications. Within the transformational paradigm, Kant presented a framework for using analysis and searching knowledge to guide stepwise program refinement =-=[14]-=-. Control in deductive program synthesis boils down to control in theorem proving. Algorithm design has attracted a lot of attention recently. Smith represented various classes of algorithms as design... |

8 |
The Logical Basis for
- Manna, Waldinger
- 1985
(Show Context)
Citation Context ...proof system is necessary in order to carry out the deductive transaction synthesis outlined above. We extend the deductive-tableau proof system for first-order logic developed by Manna and Waldinger =-=[22]-=- to fulfill our need. Proofs in the system are represented as tables or deductive tableaux . A deductive tableau consists of two lists of s-formulas: the assertion list ff 1 ; : : : ; ff m and the goa... |

8 | The expressive power of the bounded-iteration construct
- Qian
- 1991
(Show Context)
Citation Context ...ynthesizing recursive programs, such as generalizing specifications or inventing well-founded relations. We have shown elsewhere that our transaction language has exactly first-order expressive power =-=[33]-=-, and our axiomatization of the language is sound and complete [32]. First-order expressiveness implies that specification is first-order: every property of transactions can be specified in first-orde... |

7 |
Formal description of program structure and semantics in firstorder logic
- Burstall
- 1969
(Show Context)
Citation Context ...ced by McCarthy as a very convenient formalism for describing situations, actions, and causality [25]. Burstall used the formalism to reason about programs that manipulate the states of a computation =-=[1]-=-. It was used in prow [39] to synthesize imperative programs. Manna and Waldinger took situational logic as a framework to formalize algol-like language constructs [18], such as pointers and procedure... |

5 |
Problematic features of programming languages: A situational-calculus approach
- Manna, Waldinger
- 1981
(Show Context)
Citation Context ... procedures, and recursive data structures. In order to perform program synthesis, the semantics of these constructs must be completely specified first, which is again a very large and difficult task =-=[18]-=-. For the same reasons, however, a small number of simple language constructs---insert, delete, modify, test, and iterate for example---constitutes a reasonable transaction language. Our task to hire ... |

5 |
The deductive synthesis of imperative LISP programs
- Manna, Waldinger
- 1987
(Show Context)
Citation Context ...sed a restricted variant, which we used to build our transaction theory, to avoid synthesizing non-executable programs. This variant was applied to the deductive synthesis of imperative lisp programs =-=[20]-=-. Mathematical induction was used as a proof construct from which recursive programs can be extracted. Specifications often have to be generalized first in order for the induction to be carried throug... |

4 |
Classical proofs as programs: How, what and why
- Murthy
- 1991
(Show Context)
Citation Context ...are theorems and programs are constructive proofs. Although classical logic can always be embedded into constructive logics [10], classical proofs cannot always be translated into constructive proofs =-=[26]-=-. Hence, either constructive logics have to be used or proofs in classical logic have to be disciplined in order to synthesize programs from proofs. For a proof of a specification theorem in classical... |

3 |
Data Base: Theory vs. Interpretation"; Logic and
- Nicolas, Gallaire
- 1978
(Show Context)
Citation Context ...in the database by specifying the structure of relations and the relationships between data in different relations. We might view a database schema as a theory and a database as a model of the theory =-=[27]-=-. Integrity constraints represent the time-independent semantics of data in the database and serve as the validity criteria of data in the database. In order to be a model of the evolving world, a dat... |

1 |
A New Constructive Logic: Classical Logic"; Logic and Computation
- Girard
- 1991
(Show Context)
Citation Context ...cal logic [17] or various constructive logics [4, 24], where specifications are theorems and programs are constructive proofs. Although classical logic can always be embedded into constructive logics =-=[10]-=-, classical proofs cannot always be translated into constructive proofs [26]. Hence, either constructive logics have to be used or proofs in classical logic have to be disciplined in order to synthesi... |