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