Misailovic Co.
HogarHogar > Blog > Misailovic Co.

Misailovic Co.

Aug 27, 2023

29/8/2023 9:00:00 a. m. Michael O'Boyle

El profesor de informática de Illinois, Sasa Misailovic, quiere aplicar el procesamiento del lenguaje natural al desarrollo de software profesional, permitiendo a los desarrolladores identificar casos en los que el software puede exhibir un comportamiento inesperado o indeseable.

Escrito por Michael O'Boyle

El procesamiento del lenguaje natural es el campo de la informática que sustenta el reciente auge de la tecnología de chatbot, que permite que las computadoras procesen el lenguaje humano y que los resultados computacionales se presenten en formas comprensibles para los humanos. Si bien se discuten con frecuencia sus usos potenciales en casi todas las áreas de la sociedad, el profesor de Ciencias de la Computación de Illinois, Sasa Misailovic, quiere aplicarlo al desarrollo de software profesional.

En particular, está interesado en el desarrollo de código de prueba, que permita a los desarrolladores identificar casos en los que el software puede mostrar un comportamiento inesperado o indeseable. Con sus colaboradores de la Universidad de Texas en Austin, Misailovic está desarrollando modelos de lenguaje natural que pueden procesar instrucciones de los desarrolladores y devolver código de prueba listo para usar. Llaman a su enfoque "NLP4Test".

"Nuestro objetivo es mejorar la práctica de desarrollo y prueba de software", dijo Misailovic. "Estamos buscando cómo el procesamiento del lenguaje natural puede reemplazar la práctica de prueba de software manual que consume mucho tiempo y liberar a los desarrolladores para que se concentren en otras tareas".

La subvención de 1,2 millones de dólares se otorga a través del programa Fundamentos de Software y Hardware de la Fundación Nacional de Ciencias y se distribuirá a lo largo de cuatro años. Misailovic es co-investigador principal.

Los desarrolladores de software evalúan su trabajo imaginando formas en que su código puede comportarse mal o devolver respuestas incorrectas y escribiendo casos de prueba que crean estas condiciones, quitando tiempo al desarrollo real. Los desarrolladores también pueden encontrar que sus casos de prueba fallan aunque el código funcione según lo previsto. Estas pruebas llamadas "inconsistentes" pueden llevar a los desarrolladores a persecuciones inútiles que consumen aún más tiempo y arrojan dudas sobre el trabajo válido.

Los investigadores están investigando el uso del procesamiento del lenguaje natural, que puede convertir indicaciones o comentarios del lenguaje humano en código de prueba. Misailovic está interesado en desarrollar modelos para generar pruebas que expongan errores en el software de aprendizaje automático y modifiquen el código de prueba para evitar la "flacidez". Se basará en el trabajo que comenzó con el ex estudiante de posgrado Saikat Dutta, quien comenzará como profesor asistente de ciencias de la computación en la Universidad de Cornell el próximo año.

"Por ejemplo, los datos generados a medida que se ejecuta el programa pueden ser un poderoso complemento para el procesamiento del lenguaje natural porque la debilidad no es algo que pueda predecirse con certeza sólo a partir del código del programa", dijo Misailovic. “Si se incorporaran datos de ejecución adicionales a NPL4Test, permitiría a los desarrolladores hacer preguntas como 'Aquí hay un fragmento de código que escribí y una prueba que falló'. ¿La falla se debe a un error o descamación? y '¿Cuál es la mejor manera de empezar a depurar este problema?'”

Al estudiar estos problemas, los investigadores dispondrán de una serie de técnicas que generarán código de prueba para mejorar la confiabilidad del software de aprendizaje automático y brindar una mejor comprensión de cómo evaluar la descamación.

Los colaboradores de Misailovic en UT Austin, el profesor de informática Milos Gligoric y los profesores de lingüística Jessy Li y Kyle Mahowald, han estudiado previamente la aplicación del procesamiento del lenguaje natural y la ingeniería de software. Ahora están incorporando desarrollos recientes en el procesamiento del lenguaje natural en todas las etapas de las pruebas de software.

Esta historia se publicó el 29 de agosto de 2023.