Misailovic Co.
MaisonMaison > Blog > Misailovic Co.

Misailovic Co.

Aug 27, 2023

29/08/2023 9:00:00 Michael O'Boyle

Sasa Misailovic, professeur de CS à l'Illinois, souhaite appliquer le traitement du langage naturel au développement de logiciels professionnels, permettant ainsi aux développeurs d'identifier les cas dans lesquels les logiciels peuvent présenter un comportement inattendu ou indésirable.

Écrit par Michael O'Boyle

Le traitement du langage naturel est le domaine de l’informatique qui sous-tend le récent boom de la technologie des chatbots, permettant au langage humain d’être traité par des ordinateurs et aux résultats informatiques d’être restitués sous des formes compréhensibles par les humains. Alors que ses utilisations potentielles dans presque tous les domaines de la société sont fréquemment discutées, le professeur d'informatique de l'Illinois, Sasa Misailovic, souhaite l'appliquer au développement de logiciels professionnels.

Il s'intéresse plus particulièrement au développement de code de test, permettant aux développeurs d'identifier les cas où un logiciel peut présenter un comportement inattendu ou indésirable. Avec ses collaborateurs de l'Université du Texas à Austin, Misailovic développe des modèles de langage naturel capables de traiter les instructions des développeurs et de renvoyer du code de test prêt à l'emploi. Ils appellent leur approche « NLP4Test ».

« Notre objectif est d'améliorer les pratiques de développement et de test de logiciels », a déclaré Misailovic. « Nous cherchons comment le traitement du langage naturel peut remplacer les pratiques fastidieuses de tests manuels de logiciels et permettre aux développeurs de se concentrer sur d'autres tâches. »

Le prix de 1,2 million de dollars est accordé dans le cadre du programme Software and Hardware Foundations de la National Science Foundation et sera distribué sur quatre ans. Misailovic est co-chercheur principal.

Les développeurs de logiciels évaluent leur travail en imaginant comment leur code peut mal se comporter ou renvoyer des réponses incorrectes et en écrivant des cas de test qui créent ces conditions, ce qui prend du temps sur le développement réel. Les développeurs peuvent également constater que leurs scénarios de test échouent même si le code fonctionne comme prévu. Ces tests dits « flous » peuvent emmener les développeurs dans des courses folles qui prennent encore plus de temps et jettent le doute sur la validité du travail.

Les chercheurs étudient l’utilisation du traitement du langage naturel, qui peut transformer des invites ou des commentaires en langage humain en code de test. Misailovic souhaite développer des modèles pour générer des tests qui exposent les bogues dans les logiciels d'apprentissage automatique et modifient le code des tests pour éviter les « faillements ». Il s'appuiera sur le travail qu'il a commencé avec l'ancien étudiant diplômé Saikat Dutta, qui deviendra professeur adjoint d'informatique à l'Université Cornell l'année prochaine.

"Par exemple, les données générées lors de l'exécution du programme peuvent constituer un complément puissant au traitement du langage naturel, car la fragilité n'est pas quelque chose qui peut être prédit avec certitude uniquement à partir du code du programme", a déclaré Misailovic. « Si des données d'exécution supplémentaires étaient incorporées dans NPL4Test, cela permettrait aux développeurs de poser des questions telles que 'Voici un morceau de code que j'ai écrit et un test qui a échoué.' L'échec est-il dû à un bug ou à un problème ? » et « Quelle est la meilleure façon de commencer à déboguer ce problème ? »

En étudiant ces problèmes, les chercheurs disposeront d'une série de techniques qui génèrent du code de test pour améliorer la fiabilité des logiciels d'apprentissage automatique et mieux comprendre comment évaluer la fragilité.

Les collaborateurs de Misailovic à l'UT Austin, le professeur d'informatique Milos Gligoric et les professeurs de linguistique Jessy Li et Kyle Mahowald, ont déjà étudié l'application du traitement du langage naturel et du génie logiciel. Ils intègrent désormais les développements récents en matière de traitement du langage naturel à toutes les étapes des tests logiciels.

Cette histoire a été publiée le 29 août 2023.