Open AccessJournal Article
Logics for XML
TL;DR: A new class of static analyzers for programs manipulating XML data allow to ensure at compile-time valuable properties such as type-safety and optimizations, for safer and more efficient XML processing.
read more
Abstract: This work describes the theoretical and practical foundations of a system for the static analysis of XML processing languages. The system relies on a fixpoint modal logic with converse where models are finite trees. This calculus is expressive enough to capture regular tree types along with multi-directional navigation in trees. The decidability of the logic is proved in time 2^O(n) where n is the size of the input formula. XPath expressions and XML schemas are linearly translated into the logic. Based on these embeddings, several problems of major importance in XML applications are reduced to logical satisfiability. The focus is then given to a sound and complete algorithm for deciding the logic, along with crucial implementation techniques for building an effective solver. Practical experiments using a full system implementation are presented. The system appears efficient in practice for several realistic scenarios. The main application of this work is a new class of static analyzers for programs manipulating XML data. Such analyzers allow to ensure at compile-time valuable properties such as type-safety and optimizations, for safer and more efficient XML processing.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
On the analysis of cascading style sheets
Pierre Genevès,Nabil Layaïda,Vincent Quint +2 more
- 16 Apr 2012
TL;DR: An original tool capable of statically detecting a wide range of errors, as well as proving properties related to sets of documents, in the presence or absence of schema information is presented.
41
Identifying query incompatibilities with evolving XML schemas
Pierre Genevès,Nabil Layaïda,Vincent Quint +2 more
- 31 Aug 2009
TL;DR: A predicate language within a logical framework that can be used to distinguish information related to the evolution from information corresponding to bugs is proposed, which allows a fine-grained analysis for a wide range of forward and backward compatibility issues.
Impact of XML Schema Evolution
TL;DR: This work proposes a unifying framework for determining the effects of XML Schema evolution both on the validity of documents and on queries, and precisely identifies compatibility relations between document formats.
Programming errors in traversal programs over structured data
TL;DR: Based on an inventory of possible programming errors, options of static typing and static analysis are explored so that some categories of errors can be avoided and suggest suggestions for improvements to strategy libraries as well as their underlying programming languages.
Eliminating dead-code from XQuery programs
Pierre Genevès,Nabil Layaïda +1 more
- 01 May 2010
TL;DR: An IDE equipped with static analysis features for assisting the programmer that is capable of identifying and eliminating dead code automatically, based on new formal programming language verification techniques.
12
References
•Book
Introduction to Automata Theory, Languages, and Computation
John E. Hopcroft,Rajeev Motwani,Rotwani,Jeffrey D. Ullman +3 more
- 01 Jan 1979
TL;DR: This book is a rigorous exposition of formal languages and models of computation, with an introduction to computational complexity, appropriate for upper-level computer science undergraduates who are comfortable with mathematical arguments.
14.5K
Graph-Based Algorithms for Boolean Function Manipulation
TL;DR: In this paper, the authors present a data structure for representing Boolean functions and an associated set of manipulation algorithms, which have time complexity proportional to the sizes of the graphs being operated on, and hence are quite efficient as long as the graphs do not grow too large.
Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic
Edmund M. Clarke,E. Allen Emerson +1 more
- 01 May 1981
TL;DR: It is shown that it is possible to automatically synthesize the synchronization skeleton of a concurrent program from a Temporal Logic specification and it is believed that this approach may in the long run turn out to be quite practical.
2.6K
•Book
Tree Automata Techniques and Applications
Hubert Comon,Max Dauchet,Rémi Gilleron,Florent Jacquemard,Denis Lugiez,Christof Löding,Sophie Tison,Marc Tommasi +7 more
- 01 Jan 1997
TL;DR: The goal of this book is to provide a textbook which presents the basics ofTree automata and several variants of tree automata which have been devised for applications in the aforementioned domains.
Design and synthesis of synchronization skeletons using branching time temporal logic
Edmund M. Clarke,E. Allen Emerson +1 more
- 01 Jan 2008
TL;DR: In this article, the synchronization skeleton of a program is synthesized from a high-level Temporal Logic specification, which is an abstraction of the actual program where detail irrelevant to synchronization is suppressed.
1.4K
Related Papers (5)
Pierre Genevès,Nabil Layaïda,Vincent Quint +2 more
- 31 Aug 2009
Michael Benedikt,Wenfei Fan,Floris Geerts +2 more
- 13 Jun 2005
Mirella M. Moro,Susan Malaika,Lipyeow Lim +2 more
- 08 May 2007