skip to main content
10.1145/3475726.3475727acmotherconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

Debugging of Wrong and Missing Answers in SPARQL✱

Published:03 October 2021Publication History

ABSTRACT

The debugging of database queries is a research topic of increasing interest in recent years. The Semantic Web query language SPARQL should be equipped with a debugger for helping users to detect bugs which usually cause empty results as well as wrong and missing answers. Declarative debugging is a well-known debugging method successfully used in other database query languages. In this paper we present the elements of a declarative debugger for SPARQL in which debugging is based on the construction of a debugging tree for a given answer, and the detection of buggy and failure nodes in the debugging tree causing empty results as well as wrong and missing answers. The debugger has been implemented and it is available as web tool.

References

  1. Jesús M Almendros-Jiménez and Antonio Becerra-Terón. 2017. A Web Tool for Type Checking and Testing of SPARQL Queries. In 17th International Conference on Web Engineering. Springer, Berlin, 535–538.Google ScholarGoogle ScholarCross RefCross Ref
  2. Jesús M Almendros-Jiménez and Antonio Becerra-Terón. 2017. Automatic Property-based Testing and Path Validation of XQuery programs. Software Testing, Verification and Reliability 27, 1-2(2017), e1625.Google ScholarGoogle ScholarCross RefCross Ref
  3. Jesús M Almendros-Jiménez and Antonio Becerra-Terón. 2017. Property-based Testing of SPARQL Queries. In 16th International Symposium on Database Programming Languages. ACM, New York, NY, USA, 1–8.Google ScholarGoogle Scholar
  4. Jesús M Almendros-Jiménez and Antonio Becerra-Terón. 2021. Declarative Debugging of XML Queries. In International Symposium on Practical Aspects of Declarative Languages. Springer, Berlin, 161–177.Google ScholarGoogle Scholar
  5. Jesús Manuel Almendros-Jiménez and Antonio Becerra-Terón. 2021. Discovery and Diagnosis of Wrong SPARQL Queries with Ontology and Constraint Reasoning. Expert Syst. Appl. 165(2021), 113772.Google ScholarGoogle ScholarCross RefCross Ref
  6. Jesús Manuel Almendros-Jiménez and Antonio Becerra-Terón. 2021. A Web Tool for XQuery Debugging. In Web Engineering - 21st International Conference, ICWE 2021, Proceedings(Lecture Notes in Computer Science, Vol. 12706). Springer, Berlin, Germany, 509–512.Google ScholarGoogle Scholar
  7. Stefan Brass and Christian Goldberg. 2006. Semantic errors in SQL queries: A quite complete list. Journal of Systems and Software 79, 5 (2006), 630–644.Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Rafael Caballero, Yolanda García-Ruiz, and Fernando Sáenz-Pérez. 2008. A theoretical framework for the declarative debugging of Datalog programs. In International Workshop on Semantics in Data and Knowledge Bases. Springer, Berlin, Germany, 143–159.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Rafael Caballero, Yolanda García-Ruiz, and Fernando Sáenz-Pérez. 2010. Applying constraint logic programming to SQL test case generation. In International Symposium on Functional and Logic Programming. Springer, Berlin, Germany, 191–206.Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Rafael Caballero, Yolanda García-Ruiz, and Fernando Sáenz-Pérez. 2011. Algorithmic debugging of SQL views. In International Andrei Ershov Memorial Conference on Perspectives of System Informatics. Springer, Berlin, Germany, 77–85.Google ScholarGoogle Scholar
  11. Rafael Caballero, Yolanda García-Ruiz, and Fernando Sáenz-Pérez. 2012. Declarative debugging of wrong and missing answers for SQL views. In International Symposium on Functional and Logic Programming. Springer, Berlin, Germany, 73–87.Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Rafael Caballero, Enrique Martin-Martin, Adrián Riesco, and Salvador Tamarit. 2021. A Unified Framework for Declarative Debugging and Testing. Information and Software Technology 129 (2021), 106427.Google ScholarGoogle ScholarCross RefCross Ref
  13. Rafael Caballero, Adrián Riesco, and Josep Silva. 2017. A survey of algorithmic debugging. ACM Computing Surveys (CSUR) 50, 4 (2017), 1–35.Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Benjamin Dietrich and Torsten Grust. 2015. A SQL Debugger Built from Spare Parts: Turning a SQL: 1999 Database System into Its Own Debugger. In Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data. ACM, New York, USA, 865–870.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Maarten Faddegon and Olaf Chitil. 2015. Algorithmic Debugging of Real-World Haskell Programs: Deriving Dependencies from the Cost Centre Stack. In Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation (Portland, OR, USA) (PLDI ’15). ACM, New York, NY, USA, 33–42.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Sneha Gathani, Peter Lim, and Leilani Battle. 2020. Debugging database queries: A survey of tools, techniques, and users. In Proceedings of the 2020 CHI Conference on Human Factors in Computing Systems. ACM, New York, USA, 1–16.Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Torsten Grust, Fabian Kliebhan, Jan Rittinger, and Tom Schreiber. 2011. True language-level SQL debugging. In Proceedings of the 14th International Conference on Extending Database Technology. ACM, New York, USA, 562–565.Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Yun Guo, Nan Li, Jeff Offutt, and Amihai Motro. 2018. Automatically Repairing SQL Faults. In 2018 IEEE International Conference on Software Quality, Reliability and Security (QRS). IEEE, New York, USA, 500–511.Google ScholarGoogle Scholar
  19. Yun Guo, Nan Li, Jeff Offutt, and Amihai Motro. 2019. Exoneration-based fault localization for SQL predicates. Journal of Systems and Software 147 (2019), 230–245.Google ScholarGoogle ScholarCross RefCross Ref
  20. Steve Harris and Andy Seaborne. 2013. SPARQL 1.1 Query Language. https://www.w3.org/TR/sparql11-query/. W3C Recommendation.Google ScholarGoogle Scholar
  21. David Insa and Josep Silva. 2010. An algorithmic debugger for Java. In 2010 IEEE International Conference on Software Maintenance. IEEE, New York, USA, 1–6.Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Muhammad Akhter Javid and Suzanne M. Embury. 2012. Diagnosing faults in embedded queries in database applications. In Proceedings of the 2012 Joint EDBT/ICDT Workshops. ACM, New York, USA, 239–244.Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Mark Kaminski, Egor V Kostylev, and Bernardo Cuenca Grau. 2016. Semantics and expressive power of subqueries and aggregates in SPARQL 1.1. In Proceedings of the 25th International Conference on World Wide Web. ACM, New York, USA, 227–238.Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Seokki Lee, Sven Köhler, Bertram Ludäscher, and Boris Glavic. 2017. A SQL-middleware unifying why and why-not provenance for first-order queries. In 2017 IEEE 33rd International Conference on Data Engineering (ICDE). IEEE, New York, USA, 485–496.Google ScholarGoogle ScholarCross RefCross Ref
  25. Zhengjie Miao, Sudeepa Roy, and Jun Yang. 2019. Explaining wrong queries using small examples. In Proceedings of the 2019 International Conference on Management of Data. ACM, New York, USA, 503–520.Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Davide Mottin, Alice Marascu, Senjuti Basu Roy, Gautam Das, Themis Palpanas, and Yannis Velegrakis. 2014. IQR: an interactive query relaxation system for the empty-answer problem. In Proceedings of the 2014 ACM SIGMOD International Conference on Management of Data. ACM, New York, USA, 1095–1098.Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Jorge Pérez, Marcelo Arenas, and Claudio Gutierrez. 2009. Semantics and complexity of SPARQL. ACM Transactions on Database Systems (TODS) 34, 3 (2009), 1–45.Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Patrick Rodler, Dietmar Jannach, Konstantin Schekotihin, and Philipp Fleiss. 2019. Are query-based ontology debuggers really helping knowledge engineers?Knowledge-Based Systems 179 (2019), 92–107.Google ScholarGoogle Scholar
  29. Patrick Rodler and Wolfgang Schmid. 2018. On the impact and proper use of heuristics in test-driven ontology debugging. In International Joint Conference on Rules and Reasoning. Springer, Berlin, Germany, 164–184.Google ScholarGoogle ScholarCross RefCross Ref
  30. Konstantin Schekotihin, Patrick Rodler, and Wolfgang Schmid. 2018. Ontodebug: Interactive ontology debugging plug-in for Protégé. In International Symposium on Foundations of Information and Knowledge Systems. Springer, Berlin, Germany, 340–359.Google ScholarGoogle ScholarCross RefCross Ref
  31. Shetal Shah, S Sudarshan, Suhas Kajbaje, Sandeep Patidar, Bhanu Pratap Gupta, and Devang Vira. 2011. Generating test data for killing SQL mutants: A constraint-based approach. In 2011 IEEE 27th International Conference on Data Engineering. IEEE, New York, USA, 1175–1186.Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Ehud Y Shapiro. 1982. Algorithmic program diagnosis. In Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages. ACM, New York, USA, 299–308.Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Josep Silva. 2011. A survey on algorithmic debugging strategies. Advances in engineering software 42, 11 (2011), 976–991.Google ScholarGoogle Scholar
  1. Debugging of Wrong and Missing Answers in SPARQL✱

      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
      • Published in

        cover image ACM Other conferences
        DBPL '21: The 18th International Symposium on Database Programming Languages
        August 2021
        27 pages
        ISBN:9781450386463
        DOI:10.1145/3475726

        Copyright © 2021 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 3 October 2021

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Research
        • Refereed limited

        Acceptance Rates

        Overall Acceptance Rate10of15submissions,67%
      • Article Metrics

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

        Other Metrics

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      HTML Format

      View this article in HTML Format .

      View HTML Format