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.
- 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 ScholarCross Ref
- 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 ScholarCross Ref
- 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 Scholar
- 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 Scholar
- 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 ScholarCross Ref
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- Rafael Caballero, Adrián Riesco, and Josep Silva. 2017. A survey of algorithmic debugging. ACM Computing Surveys (CSUR) 50, 4 (2017), 1–35.Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarCross Ref
- Steve Harris and Andy Seaborne. 2013. SPARQL 1.1 Query Language. https://www.w3.org/TR/sparql11-query/. W3C Recommendation.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarCross Ref
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Josep Silva. 2011. A survey on algorithmic debugging strategies. Advances in engineering software 42, 11 (2011), 976–991.Google Scholar
- Debugging of Wrong and Missing Answers in SPARQL✱
Recommendations
Towards Reconciling SPARQL and Certain Answers
WWW '15: Proceedings of the 24th International Conference on World Wide WebSPARQL entailment regimes are strongly influenced by the big body of works on ontology-based query answering, notably in the area of Description Logics (DLs). However, the semantics of query answering under SPARQL entailment regimes is defined in a more ...
Debugging Debugging
COMPSACW '11: Proceedings of the 2011 IEEE 35th Annual Computer Software and Applications Conference WorkshopsWhen a program fails to accomplish its intended task, debugging is conducted to identify and remove any bugs. The debugging operation itself is not immune to flaws. Empirical evidence suggests many bugs are found after shipping, which calls into ...
What constitutes debugging? An exploratory study of debugging episodes
AbstractWhen debugging, developers engage in activities such as navigating, editing, testing, and inspecting code. Despite being the building blocks of debugging, little is known about how they constitute debugging. To address this gap, we introduce the ...
Comments