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...
Saved in:
Published in | 2024 IEEE/ACM International Conference on Automation of Software Test (AST) pp. 66 - 75 |
---|---|
Main Authors | , |
Format | Conference Proceeding |
Language | English |
Published |
ACM
15.04.2024
|
Subjects | |
Online Access | Get full text |
Cover
Loading…
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 |