Skip to main content
QUICK REVIEW

[論文レビュー] Not Elimination and Witness Generation for JSON Schema

Mohamed Amine Baazizi, Dario Colazzo|arXiv (Cornell University)|Apr 30, 2021
Adversarial Robustness in Machine Learning参考文献 3被引用数 5
ひとこと要約

本稿では、JSON Schemaの代数的枠組みを提示し、否定の除去とワーニング生成——スキーマ推論における重要な問題——を可能にする。最小限のコア代数を導入し、否定および再帰を扱うための演算子を拡張することで、著者らは、否定の除去と非空スキーマの有効なJSONインスタンスの生成を可能にする初めての形式的アルゴリズムを提供する。唯一、uniqueItemsキーワードを除き、全言語の充足可能性および包含問題を解決する。

ABSTRACT

JSON Schema is an evolving standard for the description of families of JSON documents. JSON Schema is a logical language, based on a set of assertions that describe features of the JSON value under analysis and on logical or structural combinators for these assertions. As for any logical language, problems like satisfaction, not-elimination, schema satisfiability, schema inclusion and equivalence, as well as witness generation, have both theoretical and practical interest. While satisfaction is trivial, all other problems are quite difficult, due to the combined presence of negation, recursion, and complex assertions in JSON Schema. To make things even more complex and interesting, JSON Schema is not algebraic, since we have both syntactic and semantic interactions between different keywords in the same schema object. With such motivations, we present in this paper an algebraic characterization of JSON Schema, obtained by adding opportune operators, and by mirroring existing ones. We present then algebra-based approaches for dealing with not-elimination and witness generation problems, which play a central role as they lead to solutions for the other mentioned complex problems.

研究の動機と目的

  • JSON Schemaに形式的な代数的基盤が欠如していること、特に構文的および意味的キーワードの相互作用によって非代数的であるという問題に対処すること。
  • 否定の除去問題を解決すること——否定を表現の豊かさを損なわずに除去できるかどうかを特定すること。
  • 非空スキーマに対して有効なJSONインスタンスを生成するワーニング生成アルゴリズムを開発することにより、スキーマの充足可能性および包含関係の検査を可能にすること。
  • 否定、再帰、複雑なアサーションを扱える形式的で実装可能な解決策を形式化・実装すること。これらは、推論を複雑にする要因として知られている。
  • 実用的なデータ指向の応用におけるスキーマの同値性、包含関係、整合性の推論の基盤を提供すること。

提案手法

  • 最小限のJSON Schemaアサーションと合成子のセットに基づくコア代数を導入し、各演算子が他のものから定義可能でないことを保証する。
  • 否定なしでは表現できないアサーションの補集合を表現するための原始的演算子をコア代数に追加する。
  • 否定を含まない同等の形式にスキーマを再書き換えるための否定除去アルゴリズムを設計する。
  • スキーマグループの各パスを走査しながら変数の状態(空、開放中、入力済み)を追跡する再帰的ワーニング生成アルゴリズムを開発する。これにより、最小不動点収束を用いて終了性を保証する。
  • 単調性と有限状態追跡を用いて、特にオブジェクト型および配列型においてワーニング生成の終了性を証明する。
  • 型付きグループと変数状態に基づくワーニング生成プロセスを設計し、再帰的およびネストされた構造の詳細な処理を実施する。

実験結果

リサーチクエスチョン

  • RQ1すべてのJSON Schema式から否定を除去できるか。もし不可能であれば、どの構成要素が否定を必要とするか?
  • RQ2uniqueItemsを除き、全JSON Schema言語に対して形式的でアルゴリズム的なワーニング生成プロセスを定義する方法は何か?
  • RQ3キーワードの相互作用や構文的制約といった、JSON Schemaの非代数的特徴を捉えることができる代数的構造は何か?
  • RQ4スキーマの充足可能性および包含関係を、ワーニング生成および否定の除去に還元する方法は何か?
  • RQ5再帰的スキーマ推論におけるJSON Schemaで、どのような形式的保証(例:終了性、正しさ)を提供できるか?

主な発見

  • 本稿では、否定がすべてのJSON Schema構成要素から除去できないことを証明し、補集合を表現するために否定が必要となる特定のアサーションを同定した。
  • 不足する補集合を表現できる原始的演算子を備えた拡張代数が提案され、完全な否定除去アルゴリズムの実現を可能にした。
  • ワーニング生成が最小不動点の議論に基づき形式的に定義され、終了性が保証されており、uniqueItemsを含む非空スキーマを除き、すべてのスキーマに対して正しさが保証される。
  • 本アプローチにより、スキーマの充足可能性および包含関係の問題が、ワーニング生成および否定の除去に還元され、一元的な推論基盤が提供された。
  • 本手法は形式的に根拠付けられており、実装を想定した設計がなされており、現在Javaプロトタイプが開発中である。
  • 本手法は、再帰および否定をサポートしない既存の手法に比べ、スキーマ正規化の面で優れている。23,480件の実世界スキーマのうち21,859件で失敗していた既存手法に対し、本手法は正常に処理できた。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。