Fences: Systematic Sample Generation for JSON Schemas using Boolean Algebra and Flow Graphs

In this work, we present Fences, a tool to generate sample data for arbitrary JSON Schemas. Fences generates these samples in three basic steps: First, the schema is simplified and normalized using boolean algebra. Second, the schema is mapped to a flow graph. And third, the flow graph is analyzed t...

Full description

Saved in:
Bibliographic Details
Published in2024 IEEE/ACM International Conference on Automation of Software Test (AST) pp. 66 - 75
Main Authors Otto, Bjorn, Kleinert, Tobias
Format Conference Proceeding
LanguageEnglish
Published ACM 15.04.2024
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:In this work, we present Fences, a tool to generate sample data for arbitrary JSON Schemas. Fences generates these samples in three basic steps: First, the schema is simplified and normalized using boolean algebra. Second, the schema is mapped to a flow graph. And third, the flow graph is analyzed to obtain the final sets of JSON data. Besides valid samples, Fences also generates invalid samples it knows to be rejected by the schema. By combining these sets, all degrees of freedom offered by the schema are covered systematically. We assess the feasibility and correctness of our approach using synthetic schemas from the official JSON Schema test suite and a real-world use case from the Industry 4.0 domain. Additionally, we introduce schema coverage as metric to assess the completeness of our approach.
ISSN:2833-9061