Identifiability of JSON schema from positive examples.

Dublin Core

Title

Identifiability of JSON schema from positive examples.

Subject

620
Ingeniería
JSON (Lenguaje de marcación de documentos)
Lenguajes de marcación de documentos

Description

Tesis (Master of Science in Engineering)--Pontificia Universidad Católica de Chile, 2018
JSON (JavaScript Object Notation) es probablemente el formato de datos más usado para hacer requests u obtener responses desde APIs. A pesar de la existencia de JSON Schema, un estándar para definir la estructura de documentos tipo JSON, la gran mayoría de la documentación de APIs se basa solamente en ejemplos donde no están claros los casos bordes que pueden existir. En esta situación, los desarrolladores deben dilucidar por ellos mismos si es posible recibir valores nulos o si existen datos opcionales. Al mismo tiempo, los programadores no pueden aprovechar los beneficios de tener un esquema de datos explícito, como por ejemplo, la posibilidad de efectuar una validación de datos, la creación de ejemplos automática para realizar testing, autocompletado en IDEs, entre otros. El problema se hace más evidente si se toma en cuenta la fragilidad de las implementaciones cuando se hacen cambios pequeños en el formato de las requests o responses. En primer lugar, se analizan los límites teóricos de la inferencia de JSON Schema a partir de ejemplos. Para ello se selecciona un marco teórico sobre el cual se crean las definiciones y se presentan los resultados. Luego, en base a este marco teórico, se analiza la factibilidad de aprender distintas clases de JSON Schema y se identifican aquellas que tienen buenos resultados. Después, se examina uno de los pocos repositorios con esquemas JSON para entender cómo se usa la especificación en la práctica. Con esos antecedentes se propone un conjunto de características que se pueden inferir a partir de ejemplos bajo el marco teórico seleccionado. Además, se entrega un algoritmo para realizar la tarea de aprendizaje de esquemas. Finalmente, se muestran resultados de aplicar el algoritmo sobre tres conjuntos de ejemplos provenientes de Open Weather Map, Git Hub, y Twitter.

Creator

Castro Retamal, Jaime Esteban

Date

2019-06-25T18:46:21Z
2019-06-25T18:46:21Z
2018

Contributor

Reutter de la Maza, Juan
Pontificia Universidad Católica de Chile. Escuela de Ingeniería

Rights

acceso abierto

Format

xiii, 89 páginas
application/pdf

Language

en

Type

tesis de maestría

Identifier

10.7764/tesisUC/ING/23038
https://doi.org/10.7764/tesisUC/ING/23038
https://repositorio.uc.cl/handle/11534/23038