• Objecifs
- Le but de ce projet est d'étudier les limitations théoriques et pratiques des approches optimiste qui consiste à générer une instance en examinant les fragments des schémas et en les combinant dans l'espoir que l'instance obtenue soit valide et peuvent même avoir recours à un validateur externe dans l'optique de réparer les instances qui seraient non conformes. Et cela en ayant recours à la fois à de la rétro-ingénierie et à l'analyse expérimentale. Cette analyse portera, principalement, sur trois librairies open-source déjà identifiée et choisies pour leur prise en compte de la quasi-totalité des opérateurs du langage de schéma mais pourra s’étendre à d'autres librairies open-source qu'on jugera pertinentes. Le projet s'inscrit dans le cadre d'un projet en cours ayant déjà permis de développer une approche correcte et complete mais qui peut s'avérer couteuse dans certains cas.
• Tâches à réaliser
- Etude de l'état de l'art pour compréhende JSON SCHEMA et la génération d'instances à partir d'un schéma
- Prise en main et retro-ingineire des 3 librairies afin de décrire leur fonctionnement
- Analyse expérimentale en utilisant des schémas réels et synthetiques
• Prérequis
- Maîtrise de Java, Javascript et C# langages utilisés par les trois librairies identifiées
- Sens analytique et attrait pour la formalisation de problemes avec finalité pratique
• Liens utiles
- Comprendre JSON-Schema : https://json-schema.org/understanding-json-schema/
- Validateur (à gauche on met le schéma, et à droite l'instance) : https://www.jsonschemavalidator.net/
- Test-Suite : https://github.com/json-schema-org/JSON-Schema-Test-Suite/tree/main/tests/draft7
- Générateurs (json-everything et json-schema-faker) : https://nuage.lip6.fr/s/WLWpAEEAfQxCnM2https://nuage.lip6.fr/s/WLWpAEEAfQxCnM2
Noté : 15 / 20