Identifiability of JSON schema from positive examples.

dc.contributor.advisorReutter de la Maza, Juan
dc.contributor.authorCastro Retamal, Jaime Esteban
dc.contributor.otherPontificia Universidad Católica de Chile. Escuela de Ingeniería
dc.date.accessioned2019-06-25T18:46:21Z
dc.date.available2019-06-25T18:46:21Z
dc.date.issued2018
dc.descriptionTesis (Master of Science in Engineering)--Pontificia Universidad Católica de Chile, 2018
dc.description.abstractJSON (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.
dc.format.extentxiii, 89 páginas
dc.identifier.doi10.7764/tesisUC/ING/23038
dc.identifier.urihttps://doi.org/10.7764/tesisUC/ING/23038
dc.identifier.urihttps://repositorio.uc.cl/handle/11534/23038
dc.language.isoen
dc.nota.accesoContenido completo
dc.rightsacceso abierto
dc.subject.ddc620
dc.subject.deweyIngenieríaes_ES
dc.subject.otherJSON (Lenguaje de marcación de documentos)es_ES
dc.subject.otherLenguajes de marcación de documentoses_ES
dc.titleIdentifiability of JSON schema from positive examples.es_ES
dc.typetesis de maestría
sipa.codpersvinculados126898
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
castro_jaime.pdf
Size:
576.67 KB
Format:
Adobe Portable Document Format
Description:
License bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
license.txt
Size:
1.31 KB
Format:
Item-specific license agreed upon to submission
Description: