skip to main content
research-article

Equipping IDEs with XML-Path Reasoning Capabilities

Published:01 July 2014Publication History
Skip Abstract Section

Abstract

One of the challenges in Web development is to achieve a good level of quality in terms of code size and runtime performance for popular domain-specific languages such as XQuery, XSLT, and XML Schema. We present the first IDE augmented with static detection of inconsistent XPath expressions that assists the programmer with simplifying development and debugging of any application involving XPath expressions. The tool is based on newly developed formal verification techniques based on expressive modal logics, which are now mature enough to be introduced in the process of software development. We further develop this idea in the context of XQuery for which we introduce an analysis for identifying and eliminating dead code automatically. This proof of concept aims at illustrating the benefits of equipping modern IDEs with reasoning capabilities.

References

  1. Amer-Yahia, S., Cho, S., Lakshmanan, L. V. S., and Srivastava, D. 2001. Minimization of tree pattern queries. SIGMOD Record 30, 2, 497--508. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Barcenas, E., Genevès, P., Layaïda, N., and Schmitt, A. 2011. Query reasoning on trees with types, interleaving and counting. In Proceedings of the 22nd International Joint Conference on Artificial Intelligence (IJCAI’11). 718--723. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Benedikt, M., Fan, W., and Geerts, F. 2008. XPath satisfiability in the presence of DTDs. J. ACM 55, 2, 8:1--8:79. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Benzaken, V., Castagna, G., Colazzo, D., and Nguyên, K. 2006. Type-based XML projection. In Proceedings of the 32nd International Conference on Very Large Data Bases (VLDB’06). VLDB Endowment, 271--282. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Berglund, A., Boag, S., Chamberlin, D., Fernández, M. F., Kay, M., Robie, J., and Siméon, J. 2006. XML path language (XPath) 2.0, W3C candidate recommendation. http://www.w3.org/TR/xpath20/.Google ScholarGoogle Scholar
  6. Boag, S., Chamberlin, D., Fernández, M. F., Florescu, D., Robie, J., and Siméon, J. 2007. XQuery 1.0: An XML query language, W3C recommendation. http://www.w3.org/TR/xquery.Google ScholarGoogle Scholar
  7. Chekol, M. W., Euzenat, J., Genevès, P., and Layaïda, N. 2012a. SPARQL query containment under RDFS entailment regime. In Proceedings of the 6th International Joint Conference on Automated Reasoning (IJCAR). 134--148. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Chekol, M. W., Euzenat, J., Genevès, P., and Layaïda, N. 2012b. SPARQL query containment under SHI axioms. In Proceedings of the 26th AAAI Conference on Artificial Intelligence (AAAI).Google ScholarGoogle Scholar
  9. Clark, J. and DeRose, S. 1999. XML path language (XPath) version 1.0, W3C recommendation. http://www.w3.org/TR/1999/REC-xpath-19991116.Google ScholarGoogle Scholar
  10. Curino, C., Moon, H. J., Deutsch, A., and Zaniolo, C. 2013. Automating the database schema evolution process. VLDB J. 22, 1, 73--98. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Curino, C. A., Moon, H. J., and Zaniolo, C. 2008. Graceful database schema evolution: The prism workbench. Proc. VLDB Endow. 1, 1, 761--772. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Fallside, D. C. and Walmsley, P. 2004. XML Schema part 0: Primer second edition, W3C recommendation. http://www.w3.org/TR/xmlschema-0/.Google ScholarGoogle Scholar
  13. Fourny, G., Kossmann, D., Kraska, T., Pilman, M., and Florescu, D. 2008. XQuery in the browser. In Proceedings of the ACM SIGMOD International Conference on Management of Data (SIGMOD’08). ACM, New York, NY, 1337--1340. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Genevès, P. and Layaïda, N. 2006. A system for the static analysis of XPath. ACM Trans. Inform. Syst. 24, 4, 475--502. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Genevès, P. and Layaïda, N. 2010a. Eliminating dead-code from XQuery programs. In Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering (ICSE’10), vol. 2. ACM, New York, NY, 305--306. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Genevès, P. and Layaïda, N. 2010b. XML reasoning made practical. In Proceedings of the 26th International Conference on Data Engineering (ICDE’10). IEEE, 1169--1172.Google ScholarGoogle Scholar
  17. Genevès, P. and Layaïda, N. 2011a. Inconsistent path detection for XML IDEs. In Proceeding of the 33rd International Conference on Software Engineering (ICSE’11). ACM, New York, NY, 983--985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Genevès, P. and Layaïda, N. 2011b. Video demo. http://www.youtube.com/watch?v=uCFpxTEjj7g.Google ScholarGoogle Scholar
  19. Genevès, P., Layaïda, N., and Quint, V. 2009. Identifying query incompatibilities with evolving XML schemas. In Proceedings of the 14th ACM SIGPLAN International Conference on Functional Programming (ICFP’09). ACM, New York, NY, 221--230. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Genevès, P., Layaïda, N., and Quint, V. 2011. Impact of XML schema evolution. ACM Trans. Internet Technol. 11, 4:1--4:27. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Genevès, P., Layaïda, N., and Quint, V. 2012. On the analysis of cascading style sheets. In Proceedings of the 21st World Wide Web Conference (WWW’12). 809--818. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Genevès, P., Layaïda, N., and Schmitt, A. 2007. Efficient static analysis of XML paths and types. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI’07). ACM, New York, NY, 342--351. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Genevès, P., Layaïda, N., and Schmitt, A. 2008. Efficient static analysis of XML paths and types (extended version). Res. rep. 6590, INRIA. July.Google ScholarGoogle Scholar
  24. Genevès, P. and Vion-Dury, J.-Y. 2004. Logic-based XPath optimization. In Proceedings of the ACM Symposium on Document Engineering (DocEng’04). ACM Press, NY, 211--219. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Gesbert, N., Genevès, P., and Layaïda, N. 2011. Parametric polymorphism and semantic subtyping: The logical connection. In Proceedings of the 16th ACM SIGPLAN International Conference on Functional Programming (ICFP’11). 107--116. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Hopcroft, J. E., Motwani, R., Rotwani, and Ullman, J. D. 2000. Introduction to Automata Theory, Languages and Computability. Addison-Wesley Longman Publishing Co., Inc., Boston, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Hoschka, P. 1998. Synchronized multimedia integration language (SMIL) 1.0 specification, W3C recommendation. http://www.w3.org/TR/REC-smil/.Google ScholarGoogle Scholar
  28. Marian, A. and Siméon, J. 2003. Projecting XML documents. In Proceedings of the 29th International Conference on Very Large Data Bases (VLDB’03), vol 29. VLDB Endowment, 213--224. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Marx, M. 2004. Conditional XPath, the first order complete XPath dialect. In Proceedings of the 23rd ACM SIGMOD-SIGACT-SIGART Symposium on Principles of Database Systems (PODS’04). ACM, New York, NY, 13--22. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Miklau, G. and Suciu, D. 2004. Containment and equivalence for a fragment of XPath. J. ACM 51, 1, 2--45. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Murata, M., Lee, D., Mani, M., and Kawaguchi, K. 2005. Taxonomy of XML schema languages using formal language theory. ACM Trans. Internet Technol. 5, 4, 660--704. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Termehchy, A., Winslett, M., Chodpathumwan, Y., and Gibbons, A. 2012. Design independent query interfaces. IEEE Trans. Knowl. Data Eng. 24, 10, 1819--1832. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Truong, B. Q., Bhowmick, S. S., and Dyreson, C. 2012. Sinbad: Towards structure-independent querying of common neighbors in XML databases. In Proceedings of the 17th International Conference on Database Systems for Advanced Applications (DASFAA’12). Springer-Verlag, Berlin, Heidelberg, 156--171. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Veillard, D. 2013. Libxml2. http://www.xmlsoft.org/.Google ScholarGoogle Scholar
  35. Wadler, P. 2000. Two semantics for XPath. Internal Technical Note of the W3C XSL Working Group, http://homepages.inf.ed.ac.uk/wadler/papers/xpath-semantics/xpath-semantics.pdf.Google ScholarGoogle Scholar
  36. Xalan. 2013. Apache foundation Xalan-C++. http://xml.apache.org/xalan-c/.Google ScholarGoogle Scholar
  37. XQDT. 2011. XQDT: XQuery development tools. http://wiki.eclipse.org/XQDT.Google ScholarGoogle Scholar

Index Terms

  1. Equipping IDEs with XML-Path Reasoning Capabilities

              Recommendations

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in

              Full Access

              • Published in

                cover image ACM Transactions on Internet Technology
                ACM Transactions on Internet Technology  Volume 13, Issue 4
                July 2014
                89 pages
                ISSN:1533-5399
                EISSN:1557-6051
                DOI:10.1145/2656491
                • Editor:
                • Munindar P. Singh
                Issue’s Table of Contents

                Copyright © 2014 ACM

                Publisher

                Association for Computing Machinery

                New York, NY, United States

                Publication History

                • Published: 1 July 2014
                • Accepted: 1 November 2013
                • Revised: 1 September 2013
                • Received: 1 November 2011
                Published in toit Volume 13, Issue 4

                Permissions

                Request permissions about this article.

                Request Permissions

                Check for updates

                Qualifiers

                • research-article
                • Research
                • Refereed
              • Article Metrics

                • Downloads (Last 12 months)1
                • Downloads (Last 6 weeks)0

                Other Metrics

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader
              About Cookies On This Site

              We use cookies to ensure that we give you the best experience on our website.

              Learn more

              Got it!