Misailovic Co
CasaCasa > Blog > Misailovic Co

Misailovic Co

Aug 27, 2023

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

Il professore di informatica dell'Illinois Sasa Misailovic vuole applicare l'elaborazione del linguaggio naturale allo sviluppo di software professionale, consentendo agli sviluppatori di individuare i casi in cui il software può mostrare comportamenti inaspettati o indesiderati.

Scritto da Michael O'Boyle

L’elaborazione del linguaggio naturale è il campo dell’informatica alla base del recente boom della tecnologia chatbot, che consente l’elaborazione del linguaggio umano da parte dei computer e la resa dei risultati computazionali in forme comprensibili dagli esseri umani. Mentre i suoi potenziali usi in quasi tutti gli ambiti della società vengono spesso discussi, il professore di informatica dell'Illinois Sasa Misailovic vuole applicarlo allo sviluppo di software professionale.

In particolare, è interessato allo sviluppo di codice di test, che consenta agli sviluppatori di individuare i casi in cui il software potrebbe mostrare comportamenti inattesi o indesiderati. Con i suoi collaboratori dell'Università del Texas ad Austin, Misailovic sta sviluppando modelli di linguaggio naturale in grado di elaborare le istruzioni degli sviluppatori e restituire codice di test pronto all'uso. Chiamano il loro approccio “NLP4Test”.

"Il nostro obiettivo è migliorare la pratica dello sviluppo e del test del software", ha affermato Misailovic. "Stiamo cercando in che modo l'elaborazione del linguaggio naturale possa sostituire la pratica di test manuale del software, dispendiosa in termini di tempo, e consentire agli sviluppatori di concentrarsi su altre attività."

Il premio di 1,2 milioni di dollari viene fornito attraverso il programma Software and Hardware Foundations della National Science Foundation e sarà distribuito in quattro anni. Misailovic è un investigatore co-principale.

Gli sviluppatori di software valutano il proprio lavoro immaginando i modi in cui il loro codice potrebbe comportarsi in modo anomalo o restituire risposte errate e scrivendo casi di test che creano queste condizioni, sottraendo tempo allo sviluppo vero e proprio. Gli sviluppatori potrebbero anche scoprire che i loro casi di test falliscono anche se il codice funziona come previsto. Questi cosiddetti test “traballanti” possono portare gli sviluppatori in inseguimenti selvaggi che consumano ancora più tempo e mettono in dubbio il lavoro valido.

I ricercatori stanno studiando l’uso dell’elaborazione del linguaggio naturale, che può trasformare suggerimenti o commenti del linguaggio umano in codice di test. Misailovic è interessato a sviluppare modelli per generare test che espongano bug nel software di apprendimento automatico e modifichino il codice di test per evitare “instabilità”. Si baserà sul lavoro iniziato con l'ex studente laureato Saikat Dutta, che inizierà come assistente professore di informatica alla Cornell University il prossimo anno.

"Ad esempio, i dati generati durante l'esecuzione del programma possono essere un potente supplemento all'elaborazione del linguaggio naturale perché la debolezza non è qualcosa che può essere previsto con certezza solo dal codice del programma", ha affermato Misailovic. "Se ulteriori dati di esecuzione fossero incorporati in NPL4Test, gli sviluppatori potrebbero porre domande come 'Ecco un pezzo di codice che ho scritto e un test che non è riuscito.' Il guasto è dovuto a un bug o a un problema?' e "Qual è il modo migliore per iniziare a eseguire il debug di questo problema?"

Studiando questi problemi, i ricercatori avranno a disposizione una serie di tecniche che generano codice di test per migliorare l’affidabilità del software di apprendimento automatico e fornire una migliore comprensione di come valutare la fragilità.

I collaboratori di Misailovic all'UT Austin, il professore di informatica Milos Gligoric e i professori di linguistica Jessy Li e Kyle Mahowald, hanno precedentemente studiato l'applicazione dell'elaborazione del linguaggio naturale e dell'ingegneria del software. Ora stanno incorporando i recenti sviluppi nell'elaborazione del linguaggio naturale in tutte le fasi del test del software.

Questa storia è stata pubblicata il 29 agosto 2023.