Descripción del proyecto
APRENDER COMO SE INTRODUCEN DEFECTOS EN EL SOFTWARE ES DE INTERES TANTO PARA INVESTIGADORES COMO PARA PROFESIONALES, AMBOS PERFILES REQUIEREN, TANTO PARA REALIZAR SUS ESTUDIOS SOBRE LA INTRODUCCION DE DEFECTOS COMO PARA SOLUCIONARLO, LOCALIZAR LA MODIFICACION DEL CODIGO FUENTE QUE LO INTRODUJO, EN AMBOS CASOS, SE REQUIERE ALGUNA FORMA DE SEGUIMIENTO DE LOS CAMBIOS EN EL CODIGO FUENTE, DE MODO QUE PUEDA ENCONTRARSE DONDE SE INTRODUJO EL DEFECTO,UNA VEZ QUE SABEMOS QUE PODEMOS RASTREAR CAMBIOS PASADOS EN EL CODIGO FUENTE, NECESITAMOS SABER CUANDO TENEMOS UN DEFECTO, PARA ESTO, DEBERIAMOS EVALUAR TODOS LOS PUNTOS PASADOS DEL CODIGO, PARA SABER EN QUE CASOS EL PROGRAMA NO SE COMPORTA DE ACUERDO CON LAS ESPECIFICACIONES, DESAFORTUNADAMENTE, EN MUCHOS CASOS ESTE ENFOQUE NO ES PRACTICO, Y SOLO PODEMOS CONFIAR EN LOS DEFECTOS QUE CAUSARON ALGUN ERROR, QUE FUE NOTIFICADO Y SE HASOLUCIONADO, COMO REGLA GENERAL, CADA VEZ QUE SE SOLUCIONE UN DEFECTO NUEVO PODEMOS INVESTIGAR EL PASADO DEL PROYECTO PARA SABER CUANDO SE INTRODUJO, PARA ESTO NECESITAMOS ALGUN SISTEMA PARA REPORTAR ERRORES Y CORRECCIONES,DESDE HACE MUCHOS AÑOS, LA MAYORIA DE LOS PROYECTOS DE DESARROLLO DE SOFTWARE UTILIZAN SISTEMAS DE GESTION DE CODIGO FUENTE (SCMS) QUE PERMITEN UN SEGUIMIENTO DETALLADO DE LOS CAMBIOS, POR LO GENERAL, CUANDO UN CAMBIO CORRIGE UN DEFECTO, SE PUEDE VER EN LOS METADATOS DEL CAMBIO, ASI SURGIERON LAS PRIMERAS TECNICAS PARA LOCALIZAR EL CAMBIO EN EL QUE SE INTRODUJO UN DEFECTO, COMO EL ALGORITMO SZZ,A PESAR DE SU POPULARIDAD, LAS TECNICAS DE LA FAMILIA SZZ TIENEN ALGUNOS PROBLEMAS CONOCIDOS, ADEMAS, PARA MUCHOS PROYECTOS PODEMOS UTILIZAR MAS FUENTES DE DATOS PARA AYUDARNOS EN LA INVESTIGACION: ADEMAS DEL SCMS (P,EJ,, GIT) Y LOS SISTEMAS DE SEGUIMIENTO DE PROBLEMAS (P,EJ,, GITHUB ISSUES, JIRA, BUGZILLA), SE USAN SISTEMAS DE REVISION DE CODIGO (P,EJ,, GITHUB PULL REQUESTS, GERRIT), SISTEMAS DE PRUEBA (P,EJ,, TRAVIS, JENKINS), ETC, ESO PERMITE A LOS DESARROLLADORES E INVESTIGADORES TENER UNA GRAN CANTIDAD DE INFORMACION SOBRE COMO SE REPARAN LOS DEFECTOS, LO QUE PUEDE AYUDAR A LOCALIZAR DONDE FUERON INTRODUCIDOS,CON ESA INFORMACION, PROPONEMOS UN NUEVO ENFOQUE PARA ENCONTRAR DONDE SE INTRODUCEN LOS DEFECTOS, ESPERAMOS QUE ESTE ENFOQUE PRODUZCA COMO RESULTADO UN MODELO TEORICO PARA DEFINIR CUANDO UN DEFECTO ESTA PRESENTE EN EL CODIGO FUENTE, Y UN MARCO, BASADO EN EL, PARA EVALUAR LAS TECNICAS PARA ENCONTRAR CUANDO SE INTRODUCEN LOS DEFECTOS, TAMBIEN PRODUCIREMOS UNA TECNICA QUE UTILIZAREMOS EN PROYECTOS QUE CUMPLAN CIERTAS CONDICIONES, PARA ENCONTRAR CAMBIOS QUE INTRODUZCAN DEFECTOS Y HERRAMIENTAS PARA AYUDAR A LOS PROFESIONALES A UTILIZAR LA TECNICA ANTERIOR EN SU PROYECTO,DEBIDO A SU IMPORTANCIA Y AL USO DE SISTEMAS DE SOPORTE QUE ALMACENEN DATOS LO SUFICIENTEMENTE RICOS COMO PARA RESPALDAR UN MODELO DE IDENTIFICACION COMPLETO PARA LA INTRODUCCION DE DEFECTOS, APLICAREMOS ESTE ENFOQUE A COMPONENTES DE SOFTWARE LIBRE Y DE CODIGO ABIERTO (FOSS) RELACIONADOS CON LA COMPUTACION EN LA NUBE,PARA GARANTIZAR QUE LOS RESULTADOS DEL PROYECTO TENGAN APLICABILIDAD EN LA INDUSTRIA, BITERGIA --UNA EMPRESA QUE OFRECE SERVICIOS EN EL AREA DE ANALISIS DE DESARROLLO DE SOFTWARE QUE COMENZO COMO UNA SPIN-OFF DEL GRUPO DE INVESTIGACION QUE PROPONE ESTE PROYECTO-- COLABORA COMO UNA EMPRESA INTERESADA EN LOS RESULTADOS, Y YA HA MOSTRADO INTERES EN COMERCIALIZAR ALGUNOS DE LOS RESULTADOS DE ESTE PROYECTO, ASIMISMO, EXISTEN SINERGIAS CON EL PROYECTO ELASTEST, MANTENIMIENTO SOFTWARE\EVOLUCIÓN SOFTWARE\DEFECTOS SOFTWARE