論文の概要: Testing Database Engines via Query Plan Guidance
- arxiv url: http://arxiv.org/abs/2312.17510v1
- Date: Fri, 29 Dec 2023 08:09:47 GMT
- ステータス: 処理完了
- システム内更新日: 2024-01-02 12:50:07.585218
- Title: Testing Database Engines via Query Plan Guidance
- Title(参考訳): クエリ計画ガイダンスによるデータベースエンジンのテスト
- Authors: Jinsheng Ba, Manuel Rigger
- Abstract要約: 本稿では,自動テストの"興味深い"テストケースへの誘導を目的としたクエリプランガイダンス(QPG)の概念を提案する。
我々は,成熟した,広く使用されている,多様なデータベースシステム –DBite,TiDB,Cockroach – に適用した。
- 参考スコア(独自算出の注目度): 6.789710498230718
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Database systems are widely used to store and query data. Test oracles have
been proposed to find logic bugs in such systems, that is, bugs that cause the
database system to compute an incorrect result. To realize a fully automated
testing approach, such test oracles are paired with a test case generation
technique; a test case refers to a database state and a query on which the test
oracle can be applied. In this work, we propose the concept of Query Plan
Guidance (QPG) for guiding automated testing towards "interesting" test cases.
SQL and other query languages are declarative. Thus, to execute a query, the
database system translates every operator in the source language to one of
potentially many so-called physical operators that can be executed; the tree of
physical operators is referred to as the query plan. Our intuition is that by
steering testing towards exploring diverse query plans, we also explore more
interesting behaviors-some of which are potentially incorrect. To this end, we
propose a mutation technique that gradually applies promising mutations to the
database state, causing the DBMS to create diverse query plans for subsequent
queries. We applied our method to three mature, widely-used, and
extensively-tested database systems-SQLite, TiDB, and CockroachDB-and found 53
unique, previously unknown bugs. Our method exercises 4.85-408.48X more unique
query plans than a naive random generation method and 7.46X more than a code
coverage guidance method. Since most database systems-including commercial
ones-expose query plans to the user, we consider QPG a generally applicable,
black-box approach and believe that the core idea could also be applied in
other contexts (e.g., to measure the quality of a test suite).
- Abstract(参考訳): データベースシステムはデータの保存とクエリに広く使われている。
テストオラクルは、そのようなシステム、すなわちデータベースシステムが誤った結果を計算する原因となるバグを見つけるために提案されている。
完全自動化されたテストアプローチを実現するために、テストオラクルをテストケース生成技術と組み合わせ、テストケースは、データベースの状態とテストオラクルを適用可能なクエリを参照する。
本研究では,自動テストの"興味深い"テストケースへの誘導を目的としたクエリプランガイダンス(QPG)の概念を提案する。
SQLや他のクエリ言語は宣言的です。
したがって、クエリを実行するために、データベースシステムは、ソース言語内のすべての演算子を、実行可能な、いわゆる物理演算子の1つに翻訳する。
私たちの直感は、さまざまなクエリ計画の探索に向けてテストを行うことによって、より興味深い振る舞いも探求する、ということです。
そこで本研究では,データベースの状態に有望な変異を徐々に適用し,dbmsがその後のクエリに対して多様なクエリプランを作成する変異手法を提案する。
我々はこの手法を,SQLite,TiDB,CockroachDBの3つの成熟した,広く使用されている,広範囲にテストされたデータベースシステムに適用した。
提案手法は, 単純乱数生成法より4.85-408.48倍, コードカバレッジガイダンス法より7.46倍, クエリプランを設計する。
商用のクエリプランを含むほとんどのデータベースシステムでは、qpgは一般的に適用可能なブラックボックスアプローチであると考えており、コアアイデアは他のコンテキスト(例えばテストスイートの品質を測定するために)にも適用できると考えています。
関連論文リスト
- Enhanced Differential Testing in Emerging Database Systems [11.164715689334912]
本稿では,新たなデータベースシステムのバグを明らかにするために,改良された差分テストを提案する。
多くの新しいデータベースシステムは、概念的にはリレーショナルデータベースシステムの拡張である。
57の未知のバグがあり、うち17はロジックのバグで、40は内部エラーでした。
論文 参考訳(メタデータ) (2025-01-02T12:52:58Z) - Text2SQL is Not Enough: Unifying AI and Databases with TAG [47.45480855418987]
Table-Augmented Generation (TAG) は、データベース上の自然言語の質問に答えるパラダイムである。
我々は、TAG問題を研究するためのベンチマークを開発し、標準手法がクエリの20%以上を正しく答えることを発見した。
論文 参考訳(メタデータ) (2024-08-27T00:50:14Z) - An Exploratory Case Study of Query Plan Representations [5.747331236875253]
データベースシステムでは、クエリプランはクエリを実行するための一連の具体的な内部ステップである。
複数のテストアプローチでは、クエリプランを使用してバグを見つける。
統合されたクエリプラン表現により,これらの手法の実装が容易になることが期待できる。
論文 参考訳(メタデータ) (2024-08-14T23:56:37Z) - UQE: A Query Engine for Unstructured Databases [71.49289088592842]
構造化されていないデータ分析を可能にするために,大規模言語モデルの可能性を検討する。
本稿では,非構造化データ収集からの洞察を直接問合せ,抽出するUniversal Query Engine (UQE)を提案する。
論文 参考訳(メタデータ) (2024-06-23T06:58:55Z) - Detecting DBMS Bugs with Context-Sensitive Instantiation and Multi-Plan Execution [11.18715154222032]
本稿では、テストケースで意味論的に正しいsqlクエリを生成する方法と、論理的バグをキャプチャする効果的なオーラクルを提案する方法を含む、この2つの課題を解決することを目的とする。
我々はKangarooと呼ばれるプロトタイプシステムを実装し、広く使われている3つのセマンティックコードを適用した。
我々のシステムと最先端システムを比較すると、生成した意味論的に有効なクエリの数、テスト中の探索されたコードパス、検出されたバグなどにおいて、システムの性能が優れていることが分かる。
論文 参考訳(メタデータ) (2023-12-08T10:15:56Z) - UNITE: A Unified Benchmark for Text-to-SQL Evaluation [72.72040379293718]
テキスト・ツー・ドメイン・システムのためのUNIfiedベンチマークを導入する。
公開されているテキストからドメインへのデータセットと29Kデータベースで構成されている。
広く使われているSpiderベンチマークと比較すると、SQLパターンの3倍の増加が紹介されている。
論文 参考訳(メタデータ) (2023-05-25T17:19:52Z) - QUADRo: Dataset and Models for QUestion-Answer Database Retrieval [97.84448420852854]
質問/回答(q/a)ペアのデータベース(DB)が与えられた場合、同じ質問に対してDBをスキャンすることで、対象の質問に答えることができる。
我々は6.3Mのq/aペアからなる大規模DBを構築し、公開質問を用いて、ニューラルIRとq/aペアリランカに基づく新しいシステムを設計する。
我々は、Bing検索エンジン上に構築されたQAシステムという、Webベースの手法とDBベースのアプローチが競合することを示す。
論文 参考訳(メタデータ) (2023-03-30T00:42:07Z) - Searching for Better Database Queries in the Outputs of Semantic Parsers [16.221439565760058]
本稿では,テスト時に生成したクエリを評価する外部基準にアクセスできる場合を考える。
クエリがエラーなしに実行されることをチェックすることから、一連のテストでクエリを検証することまで、その基準は様々である。
我々は、最先端のセマンティクスにアプローチを適用し、異なるデータセットですべてのテストを通過する多くのクエリを見つけることができると報告します。
論文 参考訳(メタデータ) (2022-10-13T17:20:45Z) - "What makes my queries slow?": Subgroup Discovery for SQL Workload
Analysis [1.3124513975412255]
サブグループディスカバリーに根ざした独自のアプローチを導入する。
この汎用データマイニングフレームワークのインスタンス化と開発方法を示す。
インタラクティブな知識発見のための可視化ツールも提供しています。
論文 参考訳(メタデータ) (2021-08-09T09:44:13Z) - Dual Reader-Parser on Hybrid Textual and Tabular Evidence for Open
Domain Question Answering [78.9863753810787]
世界の知識は構造化データベースに保存されている。
クエリ言語は、複雑な推論を必要とする質問に答えるだけでなく、完全な説明可能性を提供することができる。
論文 参考訳(メタデータ) (2021-08-05T22:04:13Z) - Photon: A Robust Cross-Domain Text-to-SQL System [189.1405317853752]
私たちは、マッピングを即座に決定できない自然言語入力にフラグを付けることができる、堅牢でモジュール化されたクロスドメインなNLIDBPhotonを紹介します。
提案手法は,翻訳不能なユーザ入力に対して,テキストからネイティブシステムへのロバストさを効果的に向上させる。
論文 参考訳(メタデータ) (2020-07-30T07:44:48Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。