From ea20da50093cf90065cc1c233b0188c280f4e39a Mon Sep 17 00:00:00 2001 From: Fabien Coelho Date: Wed, 6 Sep 2023 13:58:59 +0200 Subject: [PATCH 1/9] add a small blog --- .../posts/analysis-of-json-schema-defects.md | 113 ++++++++++++++++++ public/img/avatars/claire.jpg | Bin 0 -> 22614 bytes public/img/avatars/fabien.jpg | Bin 0 -> 27322 bytes .../cover.webp | Bin 0 -> 141742 bytes 4 files changed, 113 insertions(+) create mode 100644 pages/posts/analysis-of-json-schema-defects.md create mode 100644 public/img/avatars/claire.jpg create mode 100644 public/img/avatars/fabien.jpg create mode 100644 public/img/posts/2023/analysis-of-json-schema-defects/cover.webp diff --git a/pages/posts/analysis-of-json-schema-defects.md b/pages/posts/analysis-of-json-schema-defects.md new file mode 100644 index 00000000..3011a139 --- /dev/null +++ b/pages/posts/analysis-of-json-schema-defects.md @@ -0,0 +1,113 @@ +--- +title: "An Analysis of JSON Schema Defects" +date: 2023-09-10 +tags: + - Specification +type: Opinion +cover: /img/posts/2023/analysis-of-json-schema-defects/cover.webp +authors: + - name: Fabien Coelho + photo: /img/avatars/fabien.jpg + link: https://www.linkedin.com/in/fabien-coelho-65433a18/ + byline: Professor in Computer Science + - name: Claire Medrala + photo: /img/avatars/claire.jpg + link: https://www.linkedin.com/in/claire-medrala/ + byline: Research Engineer +excerpt: Evidences show that schemas are hard to write, and suggest changes in the spec +--- + +We have studied the quality of available public schemas +(see [paper](https://www.cri.minesparis.psl.eu/classement/doc/A-794.pdf)) through static analysis. +Over **60%** of schemas are shown to have some type of defects, resulting in +unintended data to be validated, risking system breakage or even cybersecurity issues. +These findings suggest key changes in JSON Schema specification which would block most +of encountered defects. +The recommended changes go beyond [Last Breaking Change](/blog/posts/the-last-breaking-change). + +## Common Defects + +Defects come mostly from JSON Schema lax independent keywords and loose defaults. +Mistyping, misnaming, misspelling or misplacing a keyword simply results in the +keyword being silently ignored. + +Consider the following schema extract (line 614 of +[.NET Template](https://json.schemastore.org/template.json)), where `uniqueItems` +applies to a string, thus is ignored: + +```json +{ + "type": "array", + "items": { + "type": "string", + "uniqueItems": true + } +} +``` + +Or this extract (line 55 of +[Azure Device Update Manifest](https://json.schemastore.org/azure-deviceupdate-manifest-definitions-4.0.json)), +where `propertyNames` applies to a string and is also ignored. + +```json +{ + "type": "object", + "additionalProperties": { + "type": "string", + "propertyNames": { + "minLength": 1, + "maxLength": 32 + } + } +} +``` + +Or this extract (line 443 of [Fly](https://json.schemastore.org/fly.json)), where +the misplaced `additionalProperties` is taken as a forbidden property name. + +```json +{ + "type": "object", + "properties": { + "image": { "type": "string" }, + "additionalProperties": false + } +} +``` + +We have found many other issues in our corpus of *57,800* distinct schemas. +Users have a hard time remembering the 60 keywords and writing schemas. +We think that this can be significantly improved with limited changes to +the spec. + +## Recommendations + +Based on these evidences, we recommend to tighten the JSON Schema specification +by adding restrictions to keyword occurences: + +- type declarations, either explicit (`type`), implicit (`enum`, `const`, `$ref`), + or through combinators (`allOf`, `anyOf`, `oneOf`) should be mandatory and appear + only **once**, i.e. these keywords should be exclusive. +- type declarations should be simple scalars, i.e. union can only be achieved with combinators. +- type-specific keywords must appear only with their type, at the same level. +- unknown keywords must be rejected, although there should be some place for extensions, + eg with prefixed property names such as `x-*`. +- about 20 seldom-used keywords could be removed. + +With these rules, the first two examples above become illegal. +These changes result in schema descriptions which are easier to understand and +maintain. +Although some description tricks are not possible anymore with these +restrictions, we believe that they bring a dignificant software engineering benefit. + +Moreover, many existing schemas already conform to these restrictive rules and +would not need to be changed at all. + +## References + +- [Research Paper](https://www.cri.minesparis.psl.eu/classement/doc/A-794.pdf) +- [Corpus](https://github.com/clairey-zx81/yac) +- [Tools](https://github.com/clairey-zx81/json-schema-stats) +- [JSON Model](https://github.com/clairey-zx81/json-model) + +_Cover photo by [Arnold Francisca](https://unsplash.com/@clark_fransa) on [Unsplash](https://unsplash.com/photos/f77Bh3inUpE)_ diff --git a/public/img/avatars/claire.jpg b/public/img/avatars/claire.jpg new file mode 100644 index 0000000000000000000000000000000000000000..02de705e4d3bbe5bafce7d4de730c34b435701a9 GIT binary patch literal 22614 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 literal 0 HcmV?d00001 diff --git a/public/img/posts/2023/analysis-of-json-schema-defects/cover.webp b/public/img/posts/2023/analysis-of-json-schema-defects/cover.webp new file mode 100644 index 0000000000000000000000000000000000000000..65dc3419eab732a0f1e61d5022a0e3e363d2cb9d GIT binary patch literal 141742 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

Iy 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

U)NAav8H!wTuxq6pd`<72VX$&j`?Yq>p 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 z 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 Y4)_F0g7n;wpN%@jVimK&@Bjb+01jG?mH+?% literal 0 HcmV?d00001 From 39cef2cfb33017e8f1826e6cc75303b0a58cc707 Mon Sep 17 00:00:00 2001 From: Fabien Coelho Date: Tue, 26 Sep 2023 20:42:42 +0200 Subject: [PATCH 2/9] expand, add some context --- .../posts/analysis-of-json-schema-defects.md | 75 +++++++++++++------ 1 file changed, 53 insertions(+), 22 deletions(-) diff --git a/pages/posts/analysis-of-json-schema-defects.md b/pages/posts/analysis-of-json-schema-defects.md index 3011a139..8955eab5 100644 --- a/pages/posts/analysis-of-json-schema-defects.md +++ b/pages/posts/analysis-of-json-schema-defects.md @@ -9,31 +9,58 @@ authors: - name: Fabien Coelho photo: /img/avatars/fabien.jpg link: https://www.linkedin.com/in/fabien-coelho-65433a18/ - byline: Professor in Computer Science + byline: Professor in CS - name: Claire Medrala photo: /img/avatars/claire.jpg link: https://www.linkedin.com/in/claire-medrala/ byline: Research Engineer -excerpt: Evidences show that schemas are hard to write, and suggest changes in the spec +excerpt: Evidences suggest that schemas are hard to write, and possible changes to the spec --- -We have studied the quality of available public schemas -(see [paper](https://www.cri.minesparis.psl.eu/classement/doc/A-794.pdf)) through static analysis. +## Context + +While teaching back-end programming at [Mines Paris](https://minesparis.psl.eu/), +an engineering school which is part of [PSL University](https://psl.eu/), we have +looked at how JSON data could be validated when transfered from a front-end (eg react-native) +to a back-end (eg a REST API with Flask) and to storage (eg a Postgres database). + +We have stumbled upon JSON Schema, and our investigation lead to an *academic* study +which analyses many schemas, finds common defects, and propose changes to the spec +which would rule out syntactically most of these defects, at the price of some contraints. +The results are described in +[this paper](https://www.cri.minesparis.psl.eu/classement/doc/A-794.pdf). + +More precisely, the methodology consisted in +- reading all versions of the specs (yes, really!), +- collecting all the publicly schemas we could find (especially aggregating corpura from prior academic studies), +- writing several tools to analyze schemas and report *definite* or *probable* defects, +- looking at the reported defects to try to guess *why* these defects are there + (most of the time some typo, a misplaced `}`, some type errors…), +- thinking about what changes in the spec could rule out these schemas, while + still allowing to describe JSON data structures. + +Overall, the quality of publicly available schemas is not great: Over **60%** of schemas are shown to have some type of defects, resulting in -unintended data to be validated, risking system breakage or even cybersecurity issues. -These findings suggest key changes in JSON Schema specification which would block most -of encountered defects. -The recommended changes go beyond [Last Breaking Change](/blog/posts/the-last-breaking-change). +unintended data to be validated, possibly risking system breakage or even cybersecurity issues. + +The changes we recommend go beyond [Last Breaking Change](/blog/posts/the-last-breaking-change), +and somehow change the philosophy of the specification, so can be perceived as controversial. +At least, they reach their target, which is to turn most defects into errors. +Although the added restrictions would require to update existing schemas, we found +that a significant number of public schemas already conform to our proposed restrictions. ## Common Defects -Defects come mostly from JSON Schema lax independent keywords and loose defaults. -Mistyping, misnaming, misspelling or misplacing a keyword simply results in the -keyword being silently ignored. +Defects come mostly from JSON Schema lax independent keywords and loose defaults: +With JSON Schema, there is *no* constraint on where you put valid keywords, and +unknown keywords are silently ignored for ensuring *upward* compatibility. +As a result, mistyping, misnaming, misspelling or misplacing a keyword simply +results in the keyword being silently ignored, and these unintentional errors +tend to be stay in schemas without being ever detected. Consider the following schema extract (line 614 of [.NET Template](https://json.schemastore.org/template.json)), where `uniqueItems` -applies to a string, thus is ignored: +applies to a string, thus is ignored: ```json { @@ -47,7 +74,7 @@ applies to a string, thus is ignored: Or this extract (line 55 of [Azure Device Update Manifest](https://json.schemastore.org/azure-deviceupdate-manifest-definitions-4.0.json)), -where `propertyNames` applies to a string and is also ignored. +where `propertyNames` applies to a string thus is also ignored. ```json { @@ -76,30 +103,35 @@ the misplaced `additionalProperties` is taken as a forbidden property name. ``` We have found many other issues in our corpus of *57,800* distinct schemas. -Users have a hard time remembering the 60 keywords and writing schemas. We think that this can be significantly improved with limited changes to the spec. ## Recommendations Based on these evidences, we recommend to tighten the JSON Schema specification -by adding restrictions to keyword occurences: +by adding restrictions to keyword occurences. The stricter version of these +proposed changes are: - type declarations, either explicit (`type`), implicit (`enum`, `const`, `$ref`), or through combinators (`allOf`, `anyOf`, `oneOf`) should be mandatory and appear - only **once**, i.e. these keywords should be exclusive. + only **once**, i.e. these keywords should be **exclusive**. - type declarations should be simple scalars, i.e. union can only be achieved with combinators. - type-specific keywords must appear only with their type, at the same level. - unknown keywords must be rejected, although there should be some place for extensions, eg with prefixed property names such as `x-*`. -- about 20 seldom-used keywords could be removed. +- about 20 seldom-used keywords could be removed, for various reasons: + implementation complexity for `dynamicRef` and `dynamicAnchor`, + understanding complexity for `if`/`then`/`else` (which can in most case be removed), + underusage for some others. + +Note that other syntactic and semantic changes could help reduce the number of defects +by ruling out some cases. With these rules, the first two examples above become illegal. -These changes result in schema descriptions which are easier to understand and +We think that such changes result in schema descriptions which are easier to understand and maintain. Although some description tricks are not possible anymore with these -restrictions, we believe that they bring a dignificant software engineering benefit. - +restrictions, we believe that they bring a significant software engineering benefit. Moreover, many existing schemas already conform to these restrictive rules and would not need to be changed at all. @@ -107,7 +139,6 @@ would not need to be changed at all. - [Research Paper](https://www.cri.minesparis.psl.eu/classement/doc/A-794.pdf) - [Corpus](https://github.com/clairey-zx81/yac) -- [Tools](https://github.com/clairey-zx81/json-schema-stats) -- [JSON Model](https://github.com/clairey-zx81/json-model) +- [Tools](https://github.com/clairey-zx81/json-schema-stats). _Cover photo by [Arnold Francisca](https://unsplash.com/@clark_fransa) on [Unsplash](https://unsplash.com/photos/f77Bh3inUpE)_ From 64377d6cd233937b6056a65cc75b41a6a03fe9db Mon Sep 17 00:00:00 2001 From: Fabien Coelho Date: Tue, 26 Sep 2023 21:24:48 +0200 Subject: [PATCH 3/9] add caveats and other expansions --- .../posts/analysis-of-json-schema-defects.md | 80 ++++++++++++++----- 1 file changed, 58 insertions(+), 22 deletions(-) diff --git a/pages/posts/analysis-of-json-schema-defects.md b/pages/posts/analysis-of-json-schema-defects.md index 8955eab5..a8d48154 100644 --- a/pages/posts/analysis-of-json-schema-defects.md +++ b/pages/posts/analysis-of-json-schema-defects.md @@ -1,6 +1,6 @@ --- title: "An Analysis of JSON Schema Defects" -date: 2023-09-10 +date: 2023-09-26 tags: - Specification type: Opinion @@ -26,8 +26,8 @@ to a back-end (eg a REST API with Flask) and to storage (eg a Postgres database) We have stumbled upon JSON Schema, and our investigation lead to an *academic* study which analyses many schemas, finds common defects, and propose changes to the spec -which would rule out syntactically most of these defects, at the price of some contraints. -The results are described in +which would rule out syntactically most of these defects, at the price of some +contraints. The results are described in [this paper](https://www.cri.minesparis.psl.eu/classement/doc/A-794.pdf). More precisely, the methodology consisted in @@ -37,16 +37,17 @@ More precisely, the methodology consisted in - looking at the reported defects to try to guess *why* these defects are there (most of the time some typo, a misplaced `}`, some type errors…), - thinking about what changes in the spec could rule out these schemas, while - still allowing to describe JSON data structures. + still allowing to describe useful JSON data structures. -Overall, the quality of publicly available schemas is not great: +Overall, the quality of publicly available schemas is… not great: Over **60%** of schemas are shown to have some type of defects, resulting in -unintended data to be validated, possibly risking system breakage or even cybersecurity issues. +the worst case in unintended data to be validated, possibly risking system breakage +or even cybersecurity issues. The changes we recommend go beyond [Last Breaking Change](/blog/posts/the-last-breaking-change), -and somehow change the philosophy of the specification, so can be perceived as controversial. -At least, they reach their target, which is to turn most defects into errors. -Although the added restrictions would require to update existing schemas, we found +and somehow change the philosophy of the specification, so can be seen as controversial. +However they reach their target, which is to turn most defects into errors. +Although the added restrictions would require to update some existing schemas, we found that a significant number of public schemas already conform to our proposed restrictions. ## Common Defects @@ -90,7 +91,8 @@ where `propertyNames` applies to a string thus is also ignored. ``` Or this extract (line 443 of [Fly](https://json.schemastore.org/fly.json)), where -the misplaced `additionalProperties` is taken as a forbidden property name. +the misplaced `additionalProperties` is taken as a forbidden property name instead +of applying to the surrounding object. ```json { @@ -102,39 +104,73 @@ the misplaced `additionalProperties` is taken as a forbidden property name. } ``` -We have found many other issues in our corpus of *57,800* distinct schemas. -We think that this can be significantly improved with limited changes to -the spec. +In the worst case, schemas may not be satisfiable at all. Consider for +instance this schema, where both possible values are integers, which mean +that it will always fail when checking that they are also strings: + +```json +{ + "type": "string", + "enum": [ 80, 443 ] +} +``` + +We have found many such issues in our corpus of *57,800* distinct schemas. +We think that this could be significantly improved with limited although bold +changes to the spec. ## Recommendations Based on these evidences, we recommend to tighten the JSON Schema specification -by adding restrictions to keyword occurences. The stricter version of these +by adding restrictions to keyword occurences. The strictest version of these proposed changes are: - type declarations, either explicit (`type`), implicit (`enum`, `const`, `$ref`), - or through combinators (`allOf`, `anyOf`, `oneOf`) should be mandatory and appear + or through combinators (`allOf`, `anyOf`, `oneOf`) should be **mandatory** and appear only **once**, i.e. these keywords should be **exclusive**. -- type declarations should be simple scalars, i.e. union can only be achieved with combinators. -- type-specific keywords must appear only with their type, at the same level. -- unknown keywords must be rejected, although there should be some place for extensions, +- type declarations should be simple scalars, i.e. union could only be achieved + with combinators. +- type-specific keywords must appear only with their `type`, at the same level. +- unknown keywords must be rejected, although there should be some allowance for extensions, eg with prefixed property names such as `x-*`. - about 20 seldom-used keywords could be removed, for various reasons: implementation complexity for `dynamicRef` and `dynamicAnchor`, - understanding complexity for `if`/`then`/`else` (which can in most case be removed), + understanding complexity for `if`/`then`/`else` (which can in most cases be removed), underusage for some others. Note that other syntactic and semantic changes could help reduce the number of defects -by ruling out some cases. +by ruling out some cases but allowing others. Our proposal is simple (constraints +are in the syntax) and effective (most defects are ruled out). With these rules, the first two examples above become illegal. -We think that such changes result in schema descriptions which are easier to understand and -maintain. +We think that such changes result in schema descriptions which are easier to +understand and maintain, and validation would be more efficient. + Although some description tricks are not possible anymore with these restrictions, we believe that they bring a significant software engineering benefit. Moreover, many existing schemas already conform to these restrictive rules and would not need to be changed at all. +## Caveats + +This is an academic study, done by people who are fully *independent* from the +JSON Schema community and the companies that support services around it. + +From an academic perspective, it is very hard to dismiss some data because +it could be interpreted as if we would have kept only data which support some point of view, +which would constitute a bias. Thus we collected and analyzed all the schemas we could find. +If someone can provide other public sources, we will be very happy to rerun our +analysis and update our figures. In particular, we would love to extract schemas +from OpenAPI and other specs, but we have not found a simple way to scrap these yet. + +Note that there is no magic: we can only analyse data that we can access. +Maybe the public schemas we found are somehow not representative, and the +picture could be different if we could access privately held schemas. +Well, we cannot say anything about what we cannot see! + +The changes we propose may break some use cases. +However, which would be broken without a possible solution is unclear. + ## References - [Research Paper](https://www.cri.minesparis.psl.eu/classement/doc/A-794.pdf) From 8d07bcad2935b7c9cbc24d70a9e70561885dcb56 Mon Sep 17 00:00:00 2001 From: Fabien Coelho Date: Tue, 26 Sep 2023 22:00:33 +0200 Subject: [PATCH 4/9] proofreading --- .../posts/analysis-of-json-schema-defects.md | 37 ++++++++++--------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/pages/posts/analysis-of-json-schema-defects.md b/pages/posts/analysis-of-json-schema-defects.md index a8d48154..788ff1f9 100644 --- a/pages/posts/analysis-of-json-schema-defects.md +++ b/pages/posts/analysis-of-json-schema-defects.md @@ -59,9 +59,22 @@ As a result, mistyping, misnaming, misspelling or misplacing a keyword simply results in the keyword being silently ignored, and these unintentional errors tend to be stay in schemas without being ever detected. +In the worst case, schemas may not be satisfiable at all. Consider for +instance this schema, where both possible values are integers, which mean +that it will always fail when checking that they are also strings: + +```json +{ + "type": "string", + "enum": [ 80, 443 ] +} +``` + +Other defects manifest themselves as ignored keywords. Consider the following schema extract (line 614 of [.NET Template](https://json.schemastore.org/template.json)), where `uniqueItems` -applies to a string, thus is ignored: +applies to a string, thus is ignored, and should have been attached to the upper +level: ```json { @@ -75,7 +88,8 @@ applies to a string, thus is ignored: Or this extract (line 55 of [Azure Device Update Manifest](https://json.schemastore.org/azure-deviceupdate-manifest-definitions-4.0.json)), -where `propertyNames` applies to a string thus is also ignored. +where `propertyNames` applies to a string thus is also ignored, and should also be moved upward to +be effective. ```json { @@ -104,17 +118,6 @@ of applying to the surrounding object. } ``` -In the worst case, schemas may not be satisfiable at all. Consider for -instance this schema, where both possible values are integers, which mean -that it will always fail when checking that they are also strings: - -```json -{ - "type": "string", - "enum": [ 80, 443 ] -} -``` - We have found many such issues in our corpus of *57,800* distinct schemas. We think that this could be significantly improved with limited although bold changes to the spec. @@ -142,12 +145,12 @@ Note that other syntactic and semantic changes could help reduce the number of d by ruling out some cases but allowing others. Our proposal is simple (constraints are in the syntax) and effective (most defects are ruled out). -With these rules, the first two examples above become illegal. +With these rules, the first three examples above become illegal. We think that such changes result in schema descriptions which are easier to -understand and maintain, and validation would be more efficient. +understand and maintain, and that validation could be more efficient. -Although some description tricks are not possible anymore with these -restrictions, we believe that they bring a significant software engineering benefit. +Although some description tricks are not possible anymore with these restrictions, +we believe that they bring a significant overall software engineering benefit. Moreover, many existing schemas already conform to these restrictive rules and would not need to be changed at all. From b8a47bd126d40330888c72d0401d71a2745b25ce Mon Sep 17 00:00:00 2001 From: Fabien Coelho Date: Wed, 27 Sep 2023 07:02:40 +0200 Subject: [PATCH 5/9] proofreading --- pages/posts/analysis-of-json-schema-defects.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pages/posts/analysis-of-json-schema-defects.md b/pages/posts/analysis-of-json-schema-defects.md index 788ff1f9..de2f34b0 100644 --- a/pages/posts/analysis-of-json-schema-defects.md +++ b/pages/posts/analysis-of-json-schema-defects.md @@ -32,7 +32,7 @@ contraints. The results are described in More precisely, the methodology consisted in - reading all versions of the specs (yes, really!), -- collecting all the publicly schemas we could find (especially aggregating corpura from prior academic studies), +- collecting all the public schemas we could find (especially aggregating corpura from prior academic studies), - writing several tools to analyze schemas and report *definite* or *probable* defects, - looking at the reported defects to try to guess *why* these defects are there (most of the time some typo, a misplaced `}`, some type errors…), @@ -45,7 +45,7 @@ the worst case in unintended data to be validated, possibly risking system break or even cybersecurity issues. The changes we recommend go beyond [Last Breaking Change](/blog/posts/the-last-breaking-change), -and somehow change the philosophy of the specification, so can be seen as controversial. +and somehow change the philosophy of the specification, so can be perceived as controversial. However they reach their target, which is to turn most defects into errors. Although the added restrictions would require to update some existing schemas, we found that a significant number of public schemas already conform to our proposed restrictions. @@ -57,10 +57,10 @@ With JSON Schema, there is *no* constraint on where you put valid keywords, and unknown keywords are silently ignored for ensuring *upward* compatibility. As a result, mistyping, misnaming, misspelling or misplacing a keyword simply results in the keyword being silently ignored, and these unintentional errors -tend to be stay in schemas without being ever detected. +tend to stay in schemas without being ever detected. In the worst case, schemas may not be satisfiable at all. Consider for -instance this schema, where both possible values are integers, which mean +instance this schema, where both allowed values are integers, which mean that it will always fail when checking that they are also strings: ```json From 020e39ce28572859bfa9540bdd756a82d14b3418 Mon Sep 17 00:00:00 2001 From: Fabien Coelho Date: Wed, 27 Sep 2023 08:11:06 +0200 Subject: [PATCH 6/9] add reference to added example --- pages/posts/analysis-of-json-schema-defects.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/posts/analysis-of-json-schema-defects.md b/pages/posts/analysis-of-json-schema-defects.md index de2f34b0..91faff04 100644 --- a/pages/posts/analysis-of-json-schema-defects.md +++ b/pages/posts/analysis-of-json-schema-defects.md @@ -60,8 +60,8 @@ results in the keyword being silently ignored, and these unintentional errors tend to stay in schemas without being ever detected. In the worst case, schemas may not be satisfiable at all. Consider for -instance this schema, where both allowed values are integers, which mean -that it will always fail when checking that they are also strings: +instance this schema (Ansible 2.5), where both allowed values are integers, +which mean that it will always fail when checking that they are also strings: ```json { From a80eced6301c94075415ed1542d5c75330e1afe3 Mon Sep 17 00:00:00 2001 From: Fabien Coelho Date: Thu, 28 Sep 2023 21:00:15 +0200 Subject: [PATCH 7/9] more proof reading --- .../posts/analysis-of-json-schema-defects.md | 38 ++++++++++--------- 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/pages/posts/analysis-of-json-schema-defects.md b/pages/posts/analysis-of-json-schema-defects.md index 91faff04..293b662f 100644 --- a/pages/posts/analysis-of-json-schema-defects.md +++ b/pages/posts/analysis-of-json-schema-defects.md @@ -14,7 +14,7 @@ authors: photo: /img/avatars/claire.jpg link: https://www.linkedin.com/in/claire-medrala/ byline: Research Engineer -excerpt: Evidences suggest that schemas are hard to write, and possible changes to the spec +excerpt: Evidence suggests that schemas are hard to write, and possible changes to the spec --- ## Context @@ -24,13 +24,13 @@ an engineering school which is part of [PSL University](https://psl.eu/), we hav looked at how JSON data could be validated when transfered from a front-end (eg react-native) to a back-end (eg a REST API with Flask) and to storage (eg a Postgres database). -We have stumbled upon JSON Schema, and our investigation lead to an *academic* study -which analyses many schemas, finds common defects, and propose changes to the spec +We have stumbled upon JSON Schema, and our investigation leads to an *academic* study +which analyses many schemas, finds common defects, and proposes changes to the spec which would rule out syntactically most of these defects, at the price of some -contraints. The results are described in -[this paper](https://www.cri.minesparis.psl.eu/classement/doc/A-794.pdf). +contraints. + +More precisely, the methodology consisted in: -More precisely, the methodology consisted in - reading all versions of the specs (yes, really!), - collecting all the public schemas we could find (especially aggregating corpura from prior academic studies), - writing several tools to analyze schemas and report *definite* or *probable* defects, @@ -59,9 +59,10 @@ As a result, mistyping, misnaming, misspelling or misplacing a keyword simply results in the keyword being silently ignored, and these unintentional errors tend to stay in schemas without being ever detected. -In the worst case, schemas may not be satisfiable at all. Consider for -instance this schema (Ansible 2.5), where both allowed values are integers, -which mean that it will always fail when checking that they are also strings: +In the worst case, schemas may not be satisfiable at all. +Consider for instance this schema (Ansible 2.5), where both allowed values are +integers, which mean that it will always fail when checking that they are also +strings: ```json { @@ -70,11 +71,11 @@ which mean that it will always fail when checking that they are also strings: } ``` -Other defects manifest themselves as ignored keywords. +Other defects often manifest themselves as ignored keywords. Consider the following schema extract (line 614 of [.NET Template](https://json.schemastore.org/template.json)), where `uniqueItems` -applies to a string, thus is ignored, and should have been attached to the upper -level: +applies to a string, thus is always ignored, and should have been attached to +the upper level: ```json { @@ -88,8 +89,8 @@ level: Or this extract (line 55 of [Azure Device Update Manifest](https://json.schemastore.org/azure-deviceupdate-manifest-definitions-4.0.json)), -where `propertyNames` applies to a string thus is also ignored, and should also be moved upward to -be effective. +where `propertyNames` applies to a string thus is also always ignored, and +should also be moved up to be effective. ```json { @@ -119,12 +120,12 @@ of applying to the surrounding object. ``` We have found many such issues in our corpus of *57,800* distinct schemas. -We think that this could be significantly improved with limited although bold -changes to the spec. +This could be significantly improved with limited although bold changes to +the spec. ## Recommendations -Based on these evidences, we recommend to tighten the JSON Schema specification +Based on these evidence, we recommend to tighten the JSON Schema specification by adding restrictions to keyword occurences. The strictest version of these proposed changes are: @@ -143,7 +144,8 @@ proposed changes are: Note that other syntactic and semantic changes could help reduce the number of defects by ruling out some cases but allowing others. Our proposal is simple (constraints -are in the syntax) and effective (most defects are ruled out). +are in the syntax, all conformant tool would enforce it) and effective (most +defects are ruled out). With these rules, the first three examples above become illegal. We think that such changes result in schema descriptions which are easier to From 489ebfdef85892cb5afea65aa71732d40cdeb5e0 Mon Sep 17 00:00:00 2001 From: Fabien Coelho Date: Sun, 1 Oct 2023 09:40:36 +0200 Subject: [PATCH 8/9] add link and further caveats --- pages/posts/analysis-of-json-schema-defects.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/pages/posts/analysis-of-json-schema-defects.md b/pages/posts/analysis-of-json-schema-defects.md index 293b662f..d1f901c5 100644 --- a/pages/posts/analysis-of-json-schema-defects.md +++ b/pages/posts/analysis-of-json-schema-defects.md @@ -60,9 +60,10 @@ results in the keyword being silently ignored, and these unintentional errors tend to stay in schemas without being ever detected. In the worst case, schemas may not be satisfiable at all. -Consider for instance this schema (Ansible 2.5), where both allowed values are -integers, which mean that it will always fail when checking that they are also -strings: +Consider for instance this schema extract (line 48037 of +[Ansible 2.5](https://github.com/miniHive/schemastore-analysis/blob/master/JSON/Ansible_2.5.json)), +where both allowed values are integers, which mean that it will always fail +when checking that they are also strings: ```json { @@ -173,7 +174,10 @@ Maybe the public schemas we found are somehow not representative, and the picture could be different if we could access privately held schemas. Well, we cannot say anything about what we cannot see! -The changes we propose may break some use cases. +Our study provides a first analysis of the causes of defects, say a typo, +a misplacement… which we believed go undetected in projects because they are +*allowed* by the spec, thus we tackle the issue from this perspective. +The spec changes we propose to rule these out may possibly break some use cases. However, which would be broken without a possible solution is unclear. ## References From 3e4a48a7a9d512e54b198f3e76d8014a1b9c5f5b Mon Sep 17 00:00:00 2001 From: Fabien Coelho Date: Sun, 1 Oct 2023 10:30:56 +0200 Subject: [PATCH 9/9] typo-- --- pages/posts/analysis-of-json-schema-defects.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/posts/analysis-of-json-schema-defects.md b/pages/posts/analysis-of-json-schema-defects.md index d1f901c5..5fc08a87 100644 --- a/pages/posts/analysis-of-json-schema-defects.md +++ b/pages/posts/analysis-of-json-schema-defects.md @@ -175,7 +175,7 @@ picture could be different if we could access privately held schemas. Well, we cannot say anything about what we cannot see! Our study provides a first analysis of the causes of defects, say a typo, -a misplacement… which we believed go undetected in projects because they are +a misplacement… which we believe go undetected in projects because they are *allowed* by the spec, thus we tackle the issue from this perspective. The spec changes we propose to rule these out may possibly break some use cases. However, which would be broken without a possible solution is unclear.