Issue No. 02 - March/April (2003 vol. 15)
Elisa Bertino , IEEE
<p><b>Abstract</b>—Static analysis of declarative languages deals with the detection, at compile time, of program properties that can be used to better understand the program semantics and to improve the efficiency of program evaluation. In logical update languages, an interesting problem is the detection of conflicting updates, inserting and deleting the same fact, for transactions based on set-oriented updates and active rules. In this paper, we investigate this topic in the context of the U-Datalog language, a set-oriented update language for deductive databases [<ref rid="bibK038612" type="bib">12</ref>], based on a deferred semantics. We first formally define relevant properties of U-Datalog programs, mainly related to update conflicts. Then, we prove that the defined properties are decidable and we propose an algorithm to detect such conditions. Finally, we show how the proposed techniques can be applied to other logical update languages. Our results are based on the concept of <it>labeling</it> and <it>query-tree</it>, first used in [<ref rid="bibK038630" type="bib">30</ref>], [<ref rid="bibK038631" type="bib">31</ref>], [<ref rid="bibK038632" type="bib">32</ref>].</p>
Database system, update, logical language, static analysis.
B. Catania and E. Bertino, "Static Analysis of Logical Languages with Deferred Update Semantics," in IEEE Transactions on Knowledge & Data Engineering, vol. 15, no. , pp. 386-404, 2003.