- -

Inferencia de especificaciones para programas C

RiuNet: Repositorio Institucional de la Universidad Politécnica de Valencia

Compartir/Enviar a

Citas

Estadísticas

  • Estadisticas de Uso

Inferencia de especificaciones para programas C

Mostrar el registro sencillo del ítem

Ficheros en el ítem

dc.contributor.advisor Villanueva García, Alicia es_ES
dc.contributor.advisor Alpuente Frasnedo, María es_ES
dc.contributor.author Pardo Pont, Daniel es_ES
dc.date.accessioned 2016-07-20T08:33:29Z
dc.date.available 2016-07-20T08:33:29Z
dc.date.created 2015-07-22
dc.date.issued 2016-07-20
dc.identifier.uri http://hdl.handle.net/10251/67889
dc.description.abstract [EN] Despite its many unquestionable benefits, formal specifications are not widely used in industrial software development. In order to reduce the time and effort required to write formal specifications, in this Master Thesis we propose a technique for automatically discovering specifications from real code. The proposed methodology relies on the symbolic execution capabilities recently provided by the K framework that we exploit to automatically infer formal specifications from programs that are written in a non-trivial fragment of C, called KernelC. Roughly speaking, our symbolic analysis of KernelC programs explains the execution of a (modifier) function by using other (observer) routines in the program. We implemented our technique in the automated tool KindSpec 2.0, which generates axioms that describe the precise input/output behavior of C routines that handle pointer-based structures (i.e., result values and state change). We describe the implementation of our system and discuss the differences w.r.t. previous work on inferring specifications from C code. es_ES
dc.description.abstract [ES] A pesar de los abundantes beneficios que ofrecen, las especificaciones formales no acostumbran a emplearse en el desarrollo industrial de software. Con la finalidad de reducir el tiempo y el esfuerzo requerido para escribir especificaciones formales, en la presente Tesis de Máster se propone una técnica que obtiene de manera automática especificaciones a partir de código real. La metodología propuesta se basa en explotar las capacidades de ejecución simbólica recientemente proporcionadas por el marco K para inferir automáticamente especificaciones formales de programas escritos en un fragmento no trivial de C, denominado KernelC. En términos generales, el análisis simbólico de programas KernelC explica la ejecución de una función (modificadora) a través de otras rutinas (observadoras) del programa. Esta técnica ha sido implementada en la herramienta automática KindSpec 2.0, la cual genera axiomas que describen el comportamiento de entrada/salida de rutinas C que gestionan estructuras basadas en punteros (es decir, valores resultado y cambios de estado). En esta disertación se describe la implementación de dicho sistema y se analizan las diferencias respecto de trabajos previos relacionados con la inferencia de especificaciones sobre código C. es_ES
dc.format.extent 98 es_ES
dc.language Español es_ES
dc.publisher Universitat Politècnica de València es_ES
dc.rights Reconocimiento - No comercial - Sin obra derivada (by-nc-nd) es_ES
dc.subject Inferencia automática es_ES
dc.subject Especificaciones es_ES
dc.subject Ejecución simbólica es_ES
dc.subject Specifications es_ES
dc.subject Automatic inference es_ES
dc.subject Symbolic execution es_ES
dc.subject.classification LENGUAJES Y SISTEMAS INFORMATICOS es_ES
dc.subject.other Máster Universitario en Ingeniería y Tecnología de Sistemas Software-Màster Universitari en Enginyeria i Tecnologia de Sistemes Programari es_ES
dc.title Inferencia de especificaciones para programas C es_ES
dc.type Tesis de máster es_ES
dc.rights.accessRights Abierto es_ES
dc.contributor.affiliation Universitat Politècnica de València. Servicio de Alumnado - Servei d'Alumnat es_ES
dc.description.bibliographicCitation Pardo Pont, D. (2015). Inferencia de especificaciones para programas C. http://hdl.handle.net/10251/67889 es_ES
dc.description.accrualMethod Archivo delegado es_ES


Este ítem aparece en la(s) siguiente(s) colección(ones)

Mostrar el registro sencillo del ítem