Optimistic Data Generation for JSON Schema

Lyes Attouche, Mohamed Amine Baazizi, Dario Colazzo

Research output: Chapter in Book/Report/Conference proceedingChapterpeer-review

Abstract

JSON Schema is an expressive schema language for describing JSON documents which combines structural assertions with Boolean operators, including negation, and is able to express recursion. In typical situations, JSON Schema is used to validate JSON documents to ensure safety of operations processing these JSONdata. In many other situations, it is important to generate JSONdocuments starting from a JSON Schema schema as it allows for testing applications and for assessing interesting properties like scalability of processing engines. While existing work [6, 8] addressed the witness generation problem, by discarding the uniqueItems operator, our goal lifts this restriction and addresses the problem of generating multiple instances from a given schema. Since the witness generation problem, which is equivalent to checking the satisfiability in JSON Schema, is known to be EXPTIME-complete even when uniqueItems is absent [10], our solution adopts an optimistic approach which trades completeness for soundness and efficiency. From a practical point of view, our approach is very satisfactory since, on most real-life scenarios, it is very efficient and highly precise, as testified by our experiments.

Original languageEnglish
Title of host publicationLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
PublisherSpringer Science and Business Media Deutschland GmbH
Pages119-152
Number of pages34
DOIs
Publication statusPublished - 1 Jan 2024
Externally publishedYes

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
VolumeLNCS 14790
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Keywords

  • Data Generation
  • JSON
  • JSON Schema

Fingerprint

Dive into the research topics of 'Optimistic Data Generation for JSON Schema'. Together they form a unique fingerprint.

Cite this