Registro:
Documento: | Tesis de Grado |
Título: | ContractorJ : validando el comportamiento de clases de Java |
Título alternativo: | Contractorj : validating java calsses’ behaviour |
Autor: | Palladino, Patricio |
Editor: | Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales |
Publicación en la web: | 2025-06-12 |
Fecha de defensa: | 2017 |
Fecha en portada: | 2017 |
Grado Obtenido: | Grado |
Título Obtenido: | Licenciado en Ciencias de la Computación |
Departamento Docente: | Departamento de Computación |
Director: | Garbervetsky, Diego David |
Jurado: | Galeotti, Juan Pablo; López Pombo, Carlos Gustavo |
Idioma: | Español |
Formato: | PDF |
Handle: |
http://hdl.handle.net/20.500.12110/seminario_nCOM000680_Palladino |
PDF: | https://bibliotecadigital.exactas.uba.ar/download/seminario/seminario_nCOM000680_Palladino.pdf |
Registro: | https://bibliotecadigital.exactas.uba.ar/collection/seminario/document/seminario_nCOM000680_Palladino |
Ubicación: | Dep.COM 000680 |
Derechos de Acceso: | Esta obra puede ser leída, grabada y utilizada con fines de estudio, investigación y docencia. Es necesario el reconocimiento de autoría mediante la cita correspondiente. Palladino, Patricio. (2017). ContractorJ : validando el comportamiento de clases de Java. (Tesis de Grado. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales.). Recuperado de http://hdl.handle.net/20.500.12110/seminario_nCOM000680_Palladino |
Resumen:
El diseño de un módulo de software tiene como uno de sus objetivos disminuir el acoplamiento temporal del mismo, el cual consiste en relaciones de orden entre las invocaciones de los métodos o funciones del artefacto diseñado. Dichas restricciones dificultan el razonamiento sobre este, lo que hace su implementación y uso más propensos a errores. Sin embargo, existen situaciones donde la naturaleza del problema o requerimientos no funcionales de la solución derivan en módulos de software con cierto acoplamiento temporal. Esta situación se ve agravada por la falta, total o parcial, de especificación o documentación al respecto. Para atacar este problema se desarrolló el concepto de Enabled Ness-Preserving Abstractions, o EPAs. Una EPA es un modelo de comportamiento similar a un typestatus, que refleja las dependencias temporales internas de una pieza de software. Estas tienen como objetivo ayudar al programador a validar su modelo mental sobre cómo debe comportarse un módulo que está implementando, y pueden ser utilizadas posteriormente como documentación del mismo. En este trabajo presentamos una extensi´on de EPAs que contempla la salida excepcional de los distintos m´etodos, llamada Permissive Enabled Ness-Preserving Abstraction o PEPA, junto a una herramienta que genera de forma autom´atica dichas abstracciones a partir de clases de Java.
Abstract:
One of the goals when designing a software module is to avoid or decrease its methods' temporal coupling, which refers to restrictions on their valid orders of invocation. Such restrictions make reasoning about them more difficult, and turn their implementation and use more error-prone. There are situations where the problem being solved, or non-functional requirements of the software being built, lead to software modules with some temporal coupling. To make things worse, usually there’s incomplete or non-existent documentation about this. Different techniques have been developed to help programmers deal with this situation. One of those are Enabled Ness-Preserving Abstractions, or EPAs. An EPA is a behavior model similar to a typestate, that preserves the ordering in which methods can be called. These abstractions can be helpful as documentation, and can be used to contrast a programmers’ mental model of a software artifact against its implementation. This work addresses some limitations of such abstractions, presenting an extension of its model, called Permissive Enabled Ness-Preserving Abstractions or PEPAs. This extension is able to analyze a wider case of examples, giving cleaner results when the module’s contract is poorly specified and errors may arise from calling one of its methods.
Citación:
---------- APA ----------
Palladino, Patricio. (2017). ContractorJ : validando el comportamiento de clases de Java. (Tesis de Grado. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales.). Recuperado de https://hdl.handle.net/20.500.12110/seminario_nCOM000680_Palladino
---------- CHICAGO ----------
Palladino, Patricio. "ContractorJ : validando el comportamiento de clases de Java". Tesis de Grado, Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales, 2017.https://hdl.handle.net/20.500.12110/seminario_nCOM000680_Palladino
Estadísticas:
Descargas mensuales
Total de descargas desde :
https://bibliotecadigital.exactas.uba.ar/download/seminario/seminario_nCOM000680_Palladino.pdf
Distrubución geográfica