6 research outputs found
XXIII Edici贸n del Workshop de Investigadores en Ciencias de la Computaci贸n : Libro de actas
Compilaci贸n de las ponencias presentadas en el XXIII Workshop de Investigadores en Ciencias de la Computaci贸n (WICC), llevado a cabo en Chilecito (La Rioja) en abril de 2021.Red de Universidades con Carreras en Inform谩tic
WICC 2016 : XVIII Workshop de Investigadores en Ciencias de la Computaci贸n
Actas del XVIII Workshop de Investigadores en Ciencias de la Computaci贸n (WICC 2016), realizado en la Universidad Nacional de Entre R铆os, el 14 y 15 de abril de 2016.Red de Universidades con Carreras en Inform谩tica (RedUNCI
Aplicaci贸n de t茅cnicas de pruebas autom谩ticas basadas en propiedades a los diferentes niveles de prueba del software
[Resumen]Las pruebas son una de las actividades clave en el desarrollo de software, puesto que ayudan a detectar defectos que, de otro modo, pasar铆an desapercibidos hasta que el software sea desplegado. Sin embargo, al contrario que en otras etapas del ciclo de vida del software, como son el an谩lisis, el dise帽o o la implementaci贸n, para las que existen metodolog铆as y t茅cnicas bien definidas y ampliamente aceptadas en la comunidad inform谩tica, junto con herramientas que permiten llevar a cabo dichas tareas, no hay una uniformidad sobre las metodolog铆as, t茅cnicas o herramientas a utilizar para llevar a cabo las pruebas del software de una manera eficiente y eficaz. Este hecho provoca que, muchas veces, 茅stas sean omitidas o no realizadas con todo el rigor necesario. Esta tesis presenta una aproximaci贸n, basada en propiedades y puramente funcional, para la realizaci贸n de las pruebas del software, que intenta paliar estos problemas. Para ello, se definen metodolog铆as y t茅cnicas de pruebas, integradas en el proceso de desarrollo de software, que pueden ser aplicadas a los diferentes niveles de pruebas del software. As铆, pueden utilizarse para llevar a cabo pruebas unitarias y de componente, en las que se comprueba que cada componente individual se comporta de la manera esperada, pruebas de integraci贸n, que comprueban las interacciones de los componentes que forman parte de un sistema, y pruebas de sistema, que se encargan de comprobar diferentes aspectos del sistema como un todo. Adem谩s, se utiliza un lenguaje de especificaci贸n de pruebas com煤n en todas las aproximaciones desarrolladas, el lenguaje de programaci贸n funcional Erlang, y las metodolog铆as se definen de manera independiente a la estructura del software concreto a probar o el lenguaje de programaci贸n en el que 茅ste est茅 implementado. Por 煤ltimo, cabe destacar que el uso de estas metodolog铆as y t茅cnicas de pruebas se ilustra a trav茅s de un ejemplo industrial, en concreto, el sistema VoDKATV. Este sistema ofrece acceso a servicios multimedia (canales de televisi贸n, videoclub, aplicaciones, juegos, entre otros) a trav茅s de diferentes tipos de dispositivos, como, por ejemplo, televisiones, ordenadores, tabletas o m贸viles. Con respecto a la arquitectura, el sistema VoDKATV est谩 compuesto por m煤ltiples componentes implementados con diferentes tecnolog铆as (Java, Erlang, C, etc.) que se integran entre s铆. La complejidad de este sistema permite ilustrar cada una de las metodolog铆as y t茅cnicas de pruebas desarrolladas con un ejemplo real
CACIC 2015 : XXI Congreso Argentino de Ciencias de la Computaci贸n. Libro de actas
Actas del XXI Congreso Argentino de Ciencias de la Computaci贸n (CACIC 2015), realizado en Sede UNNOBA Jun铆n, del 5 al 9 de octubre de 2015.Red de Universidades con Carreras en Inform谩tica (RedUNCI
Refactorizaci贸n sobre Programaci贸n Gen茅rica en Lenguajes Orientados a Objetos
En el desarrollo del software, 茅ste se degrada produci茅ndose la entrop铆a software. Una de las labores fundamentales para su eliminaci贸n, es el mantenimiento perfectivo, y en particular, la refactorizaci贸n. La independencia del lenguaje en la definici贸n e implementaci贸n de refactorizaciones, as铆 como la programaci贸n gen茅rica en refactorizaci贸n son dos importantes l铆neas abiertas de investigaci贸n en este campo. Con el objetivo de lograr cierta independencia en su definici贸n e implementaci贸n se propone un metamodelo para la definici贸n de los conceptos b谩sicos y una plantilla para su definici贸n, junto con un modelo de caracterizaci贸n y proceso. Posteriormente se describe un nuevo cat谩logo de refactorizaciones en genericidad y se propone una arquitectura basada en frameworks. Finalmente se valida la soluci贸n sobre el lenguaje Java, construyendo un prototipo. En resumen, se aporta un nuevo enfoque a la hora de abordar las refactorizaciones, mejorando algunas de las deficiencias detectadasDepartamento de Inform谩tic
Detecci贸n de defectos de dise帽o mediante m茅tricas de c贸digo
La identificaci贸n de defectos de dise帽o en entidades de c贸digo es una de las tareas del proceso de mantenimiento del software que sirve para evaluar la calidad de un sistema. Un defecto de dise帽o describe una situaci贸n que sugiere un problema potencial en la estructura del software. La intenci贸n de dise帽o de la entidad, que puede ser expresada como estereotipos de clasificadores est谩ndar de UML, proporciona una fuente de informaci贸n utilizada en algunas definiciones textuales de defectos. En las entidades de c贸digo de un sistema software orientado a objetos la informaci贸n de estereotipos UML no suele estar disponible expl铆citamente, aunque los dise帽adores y programadores la hayan tenido en cuenta en sus soluciones. En la pr谩ctica de la automatizaci贸n de detecci贸n de defectos de dise帽o, esta informaci贸n es obviada a pesar de su posible utilidad en el proceso de identificaci贸n de defectos. Actualmente existen m茅todos de identificaci贸n del defecto de dise帽o GodClass basados en m茅tricas de c贸digo. Incluso existen herramientas que lo automatizan, como InCode y JDeodorant, ambas avaladas con importantes publicaciones de investigaci贸n, en las que esta informaci贸n no se tiene en cuenta. En esta tesis proponemos utilizar t茅cnicas de aprendizaje supervisado basado en clasificadores de tipo 谩rbol de decisi贸n, para modelar el problema de la detecci贸n de defectos de dise帽o como una clasificaci贸n de entidades de c贸digo ``con defecto'' o ``sin defecto''. La clasificaci贸n inicial en la fase de entrenamiento se puede obtener a partir de los m茅todos actuales. Este trabajo presenta varios casos de estudio empirimentales para evaluar c贸mo influye la informaci贸n relativa a la naturaleza de dise帽o de la entidad en la detecci贸n de tres defectos (GodClass, Feature Envy y Data Class) para distintos clasificadores. La evaluaci贸n consiste en comparar de medidas de rendimiento del clasificador obtenidas en la fase de entrenamiento (Recuperaci贸n, Precisi贸n y F-Measure). Las resultados experimentales avalan la validez de considerar la naturaleza de dise帽o de la entidad en los m茅todos de identificaci贸n de defectos de c贸digo. Finalmente, como trasferencia del conocimiento de los resultados de investigaci贸n, en la tesis se proponen prototipos de herramientas software de detecci贸n de defectos de dise帽o que incluyen la naturaleza de dise帽oDepartamento de Inform谩tic