Abstract interpretation of active rules and its use in termination analysis
- First Online:
The behaviour of rules in an active database system can be difficult to predict, and much work has been devoted to the development of automatic support for reasoning about properties such as confluence and termination. We show how abstract interpretation can provide a generic framework for analysis of active rules. Abstract interpretation is a well-understood, semantics-based method for static analysis. Its advantage, apart from generality, lies in the separation of concerns: Once the underlying semantics has been captured formally, a variety of analyses can be derived, almost for free, as approximations to the semantics. Powerful general theorems enable simple proofs of global correctness and uniform termination of specific analyses. We outline these ideas and show, as an example application, a new method for termination analysis. In terms of precision, the method compares favourably with previous solutions to the problem. This is because the method investigates the flow of data rather than just the syntax of conditions and actions.
Unable to display preview. Download preview PDF.
- 1.S. Abramsky and C. Hankin, editors. Abstract Interpretation of Declarative Languages. Ellis Horwood, 1987.Google Scholar
- 2.A. Aiken, J. Widom, and J. M. Hellerstein. Behavior of database production rules: Termination, confluence and observable determinism. In Proceedings of the ACM SIGMOD International Conference on Management of Data, pages 59–68. ACM Press, 1992.Google Scholar
- 3.E. Baralis, S. Ceri, and S. Paraboschi. Improved rule analysis by means of triggering and activation graphs. In T. Sellis, editor, Rules in Database Systems, Lecture Notes in Computer Science 985, pages 165–181. Springer-Verlag, 1995.Google Scholar
- 4.E. Baralis, S. Ceri, and S. Paraboschi. Run-time detection of non terminating active rule systems. In Proceedings of the Fourth International Conference on Deductive and Object Oriented Databases, pages 38–54, Singapore, 1995.Google Scholar
- 5.E. Baralis and J. Widom. An algebraic approach to rule analysis in expert database systems. In Proceedings of the 20th International Conference on Very Large Databases, pages 475–486, Santiago, Chile, 1994.Google Scholar
- 6.T. Coupaye and C. Collet. Denotational semantics for an active rule execution model. In Proceedings of the Second International Workshop on Rules in Database Systems, pages 36–50, Athens, Greece, 1995.Google Scholar
- 8.A. Karadimce and S. Urban. Conditional term rewriting as a formal basis for analysis of active database rules. In Proceedings of the Fourth International Workshop on Research Issues in Data Engineering, pages 156–162, Houston, Texas, 1994.Google Scholar
- 9.A. Karadimce and S. Urban. Refined triggering graphs: A logic based approach to termination analysis in an active object-oriented database. In Proceedings of the 12th International Conference on Data Engineering, New Orleans, Louisiana, 1996.Google Scholar
- 10.K. Marriott, H. Søndergaard, and N. D. Jones. Denotational abstract interpretation of logic programs. ACM Transactions on Programming Languages and Systems, 16(3):607–648, 1994.Google Scholar
- 11.L. Van der Voort and A. Siebes. Termination and confluence of rule execution. In Proceedings of the Second International Conference on Information and Knowledge Management, Washington DC, 1993.Google Scholar
- 12.J. Widom. A denotational semantics for Starburst production rule language. ACM SIGMOD Record, 21:4–9, 1992.Google Scholar