Investigadores de la Singapore Management University han desarrollado un enfoque de "depuración" automatizado llamado Adaptive Multimodal Bug Localization AML. AML recopila sugerencias de depuración de informes de errores y casos de prueba, y realiza un análisis estadístico para identificar los elementos del programa que probablementecontener errores
La analítica de software es un campo de investigación relativamente nuevo, que se ha desarrollado más formalmente cerca del comienzo del siglo XXI. Implica analizar la gran cantidad de datos producidos durante el ciclo de vida del software, incluido el código fuente, los informes de errores y los comentarios de los usuarios.Al analizar estos datos, los desarrolladores de software pueden mejorar el desarrollo y el rendimiento del software.
David Lo, profesor asistente de la Escuela de Sistemas de Información de la Universidad de Administración de Singapur SIS, ha publicado muchos trabajos de investigación sobre el tema en los últimos seis años.
"Mi trabajo está motivado por el alto costo involucrado en el desarrollo y mantenimiento de sistemas de software y la importancia de entregar sistemas de alta calidad", dice el profesor Lo. "Se necesitan nuevas innovaciones para diseñar herramientas y técnicas que puedan ayudar a mantener el desarrollo de software ycostos de mantenimiento bajos, mientras se mantiene alta la calidad de los sistemas de software "
El aumento de datos de software que recientemente se ha hecho público en línea ofrece excelentes oportunidades para crear soluciones personalizadas que se pueden utilizar para automatizar las tareas de ingeniería de software, explica.
"Ser capaz de crear nuevas soluciones para abordar problemas concretos es lo que más me emociona", dice.
Aunque la ingeniería de software ha sido parte de los sistemas de información durante algún tiempo, todavía enfrenta una amplia gama de problemas que requieren soluciones. El campo se ha desarrollado rápidamente en los últimos años con la introducción de nuevas plataformas, procesos y herramientas de programación paracrear productos de software. Esto no solo crea nuevos desafíos sino también nuevas oportunidades, explica el profesor Lo.
"Poder comprender y trabajar con esos desafíos y diseñar soluciones para abordarlos, no solo sino con estudiantes y colegas de la academia y la industria de todo el mundo, hace que mi trabajo sea interesante y satisfactorio", dice.
En 2014, el profesor Lo publicó un estudio que realizó con otros dos colegas de SMU en el que desarrollaron un algoritmo para crear un motor de búsqueda de código fuente comandos que se ensamblan en un programa de software. Muchas técnicas de búsqueda de código habían sido propuestas previamente, pero dependían de buscar solo en el texto. Sin embargo, el código fuente no es un simple texto, contiene elementos que dependen unos de otros para que el programa de software realice un proceso de ejecución. El profesor Lo y sus colegas desarrollaron una técnica llamada AutoQuery,lo que permitió a los programadores buscar códigos a través de consultas de dependencia hechas de pequeños fragmentos de código. La técnica tuvo en cuenta la estructura del código en lugar de simplemente mirar su texto.
Mejores formas de depurar
Los programas de software a menudo contienen defectos o errores que necesitan ser detectados y reparados. Esta "depuración" manual generalmente requiere mucho tiempo y recursos valiosos. Para ayudar a los desarrolladores a depurar de manera más eficiente, se han propuesto soluciones de depuración automatizadas. Una familia de soluciones pasa porinformación disponible en los informes de errores. Otro pasa por la información recopilada mediante la ejecución de un conjunto de casos de prueba. El profesor Lo señala que hasta ahora, ha habido un "eslabón perdido" que impide que estos hilos de trabajo se combinen.
Junto con colegas de SMU, el Profesor Lo ha desarrollado un enfoque de depuración automatizado llamado Adaptive Multimodal Bug Localization AML. AML recopila sugerencias de depuración de informes de errores y casos de prueba, y realiza un análisis estadístico para identificar los elementos del programa que son probablespara contener errores. Además, AML se adapta a diferentes tipos de errores.
"AML puede reducir el proceso manual de encontrar dónde reside un error en un gran programa", explica. "Si bien la mayoría de los estudios anteriores solo demuestran la aplicabilidad de soluciones similares para programas pequeños y errores artificiales, nuestro enfoque puede automatizar el proceso de depuraciónpara muchos errores reales que impactan en programas grandes ", explica.
El profesor Lo y sus colegas presentaron la AML en la 10ª Reunión Conjunta de la Conferencia Europea de Ingeniería de Software y el Simposio SIGSOFT de ACM sobre los Fundamentos de la Ingeniería del Software en Italia. Actualmente, planean contactar a varios socios de la industria para acercar la AML un paso máspara integrarse como una herramienta de desarrollo de software.
Adoptando un enfoque multidisciplinario
El profesor Lo está entusiasmado con el trabajo multidisciplinario con sus colegas de SMU. "Además de los colegas que se especializan en áreas de investigación similares, colaboro con muchos otros colegas en las cinco áreas de investigación en la Escuela de Sistemas de Información", dice. "Me he beneficiadopor su diversa experiencia para resolver desafíos que de otro modo no podría haber resuelto solo, y para detectar oportunidades que de otro modo no habría notado. Estas colaboraciones han resultado en muchos trabajos que se han publicado en varias conferencias y revistas internacionales ".
El profesor Lo también espera participar en futuras colaboraciones con colegas de otras escuelas de SMU. "Creo firmemente que un enfoque multidisciplinario dará como resultado trabajos de investigación holísticos que expandan las fronteras de la investigación en direcciones nuevas e interesantes", dice.
Por ejemplo, actualmente está buscando formas de optimizar los flujos de trabajo cooperativos en organizaciones de software y en equipos de código abierto. Un proyecto de este tipo requeriría la experiencia de diversos campos como el comportamiento organizacional, psicología y comportamiento grupal, análisis empírico, estadísticas aplicadasy teoría de juegos. El profesor Lo también planea estudiar los procesos de resolución de problemas y tareas mentales que experimentan los desarrolladores de software. Este proyecto se beneficiaría de la experiencia de sus colegas de la Facultad de Ciencias Sociales en psicología, dice.
Además de sus proyectos de investigación, el Profesor Lo disfruta impartiendo una variedad de cursos de ingeniería de software de pregrado y posgrado en SMU. Supervisa proyectos de pregrado que requieren equipos de estudiantes para desarrollar soluciones de software para clientes reales, y también trabaja en estrecha colaboración con candidatos de doctorado de SMU parallevar a buen término sus ideas de investigación.
"SMU brinda mucho apoyo para que los miembros de la facultad investiguen, por ejemplo, becas de viaje para presentar trabajos en conferencias; profesores visitantes; y el soporte de hardware son algunas de las cosas que SMU brinda para facilitar las actividades de investigación".Office of Research ha brindado mucho apoyo para la presentación de subvenciones de investigación, y la biblioteca SMU ha brindado mucho apoyo para garantizar una mayor visibilidad para mi trabajo ".
Una de las ambiciones de investigación del profesor Lo es desarrollar una solución de análisis de software a escala de Internet. Con el análisis de software a escala de Internet, se pueden analizar cantidades masivas de datos de software pasivos enterrados en miles de repositorios en línea diversificados para transformar manuales, minuciosos y de errores.propenso a las tareas de ingeniería de software a actividades automatizadas que se pueden realizar de manera eficiente con alta calidad.Esto se logra cosechando la sabiduría de las masas, acumulada a través de años de esfuerzos de desarrollo por miles de desarrolladores que se ocultan en estas fuentes de datos pasivas, distribuidas y diversificadas."Creo firmemente que esto será innovador porque ninguna técnica de análisis de software existente se ha acercado a dar sentido a los datos de ingeniería de software a esta escala y diversidad de manera integral", dice el profesor Lo.
Fuente de la historia :
Materiales proporcionado por Universidad de Singapur de gestión . Original escrito por Nadia El-Awady. Nota: El contenido puede ser editado por estilo y longitud.
Cite esta página :