Ju Yong Lee, profesor asociado en el Laboratorio de Desarrollo de Software Industrial en la Universidad de Innopolis, ofreció la mejor investigación en el campo de la automatización rápida de la corrección de errores y fue uno de los diez ganadores de los Premios de Investigación de Verificación y Verificación de Facebook. En total, 145 investigadores de todo el mundo enviaron solicitudes para la subvención. El científico nos contó sobre el trabajo en su investigación.

Sobre el estudio
Me gustaría indicar claramente de inmediato qué es la prueba de software. Su objetivo principal es encontrar errores en el programa que no hayan sido escritos por desarrolladores de software. Si las pruebas son exitosas, entonces podemos decir con seguridad que su programa está listo para su lanzamiento.
Parece que encontrar un error en el software no es tan difícil, especialmente si el desarrollador ya tiene experiencia en el uso de errores. Sí, hay errores que pueden ser fácilmente detectados y encontrados, pero los desarrolladores a menudo no ven vulnerabilidades que incluso después de su trabajo cuidadoso puedan ser detectados por los piratas informáticos. A través de las pruebas, queremos encontrar errores antes de ser víctimas de accidentes debido a violaciones de seguridad y accidentes automovilísticos. Según The Associated Press, 89 personas murieron en los años 2000-2010 debido a errores de software en los automóviles Toyota.
El objetivo principal del proyecto es corregir automáticamente defectos técnicos o errores en los programas. Casi cualquier software contiene errores, especialmente con el advenimiento de procesos continuos de desarrollo, prueba e implementación. Ahora se está volviendo cada vez más difícil para los desarrolladores corregir errores de manera oportuna. Por lo tanto, es necesario mantener el software lo más protegido posible de los defectos, y muchos investigadores, incluido yo mismo, están tratando de encontrar una solución y desarrollar un método para la resolución automática de problemas. En este proyecto en particular, trato de aumentar la velocidad de corrección automática de errores técnicos para minimizar el tiempo entre su detección y eliminación.
La solución automática para errores técnicos ha sido probada por muchos investigadores, incluido yo. Los primeros resultados fueron aceptados por la industria, y compañías como Facebook ya han comenzado a utilizar la eliminación automática de errores como punteros defectuosos, que indican una celda inexistente.
Que decide
Cada uno tiene sus propios intereses. Estoy interesado en lenguajes de programación, verificación y prueba de software; todo esto está inextricablemente relacionado con la comprensión de los programas de computadora. No hace mucho tiempo, la corrección automática de errores se ha convertido para mí en un tema separado para la investigación. Creo que en el futuro, el software será creado por inteligencia artificial, lo que permitirá a los desarrolladores dedicar más tiempo a trabajar en componentes clave del software.
En la última década, la corrección automática de errores ha dado un gran salto adelante, gracias a los esfuerzos de los desarrolladores, incluido el mío. Trabajé en mejorar parches generados automáticamente y corregir errores automáticamente. Creo que el próximo avance que necesitamos es la velocidad rápida. Hasta ahora, se creía que la corrección automática de errores se utilizaría en modo por lotes, por lo que el problema de la velocidad no estaba en primer lugar. Los desarrolladores comienzan la corrección automática de errores y se van a casa. Y a la mañana siguiente, las áreas depuradas automáticamente durante la noche están listas para su visualización. Pero la experiencia muestra que es mejor corregir los errores inmediatamente después de escribir un programa de errores, mientras que el desarrollador aún recuerda lo que escribió allí. Por lo tanto, propuse un estudio de corrección automática de errores de alta velocidad.
Competidores
Fue una subvención internacional y la investigación fue ofrecida por investigadores de todo el mundo. Facebook recibió 145 solicitudes y seleccionó a 10 ganadores, incluido yo. Este número (6.9%) muestra cuánto más dura fue la competencia en comparación con recibir una subvención en las principales conferencias, donde el porcentaje de solicitudes aprobadas suele ser del 20%.
Los 10 ganadores de los premios y su investigación se publican en
Facebook Research . Los ganadores fueron investigadores de renombre en sus campos de prestigiosas universidades: la Universidad Carnegie Mellon, el University College de Londres, la Universidad de California en Berkeley y la Universidad Humboldt de Berlín.
Planes adicionales
La recuperación automática de errores todavía es un área joven, y hay muchas cosas en las que vale la pena trabajar. Necesitamos un método que pueda corregir más errores con mayor precisión y rapidez, y planeo trabajar en esta dirección. En el futuro, me gustaría ver que la inteligencia artificial no solo pueda corregir errores, sino que también ayude a los desarrolladores durante todo el proceso.
Como muchos otros estudios académicos, los proyectos en el campo de la eliminación automática de errores técnicos no se pueden resolver con un solo estudio. Se deben tener en cuenta muchas dimensiones para que la idea sea práctica. Como dije, me concentro en la velocidad de eliminar errores técnicos, pero la velocidad es solo una dimensión para resolver un problema. Otras mediciones incluyen la tasa de éxito del reconocimiento de errores, la precisión de la resolución de problemas, etc. En ciencia y tecnología, mejorar una dimensión ayuda al desarrollo de otra, y esto es lo que planeo hacer en el futuro: continuar expandiendo los límites de la solución automática de problemas técnicos en varias dimensiones.
En cuanto a la aplicabilidad de dicha técnica, la utilicé previamente en la formación automática de retroalimentación para programas escritos por estudiantes. Este llamado sistema de tutoría inteligente es una de las áreas donde se pueden aplicar los resultados de la investigación.