Мисаилович Ко
ДомДом > Блог > Мисаилович Ко

Мисаилович Ко

Aug 27, 2023

29.08.2023 9:00:00 Майкл О'Бойл

Профессор CS из Иллинойса Саса Мисайлович хочет применить обработку естественного языка к профессиональной разработке программного обеспечения, что позволит разработчикам выявлять случаи, когда программное обеспечение может демонстрировать неожиданное или нежелательное поведение.

Автор Майкл О’Бойл

Обработка естественного языка — это область информатики, лежащая в основе недавнего бума технологий чат-ботов, позволяющая обрабатывать человеческий язык компьютерами, а результаты вычислений преобразовывать в формы, понятные человеку. Хотя его потенциальное использование практически во всех сферах жизни общества часто обсуждается, профессор компьютерных наук из Иллинойса Саса Мисаилович хочет применить его к профессиональной разработке программного обеспечения.

В частности, его интересует разработка тестового кода, позволяющего разработчикам выявлять случаи, когда программное обеспечение может демонстрировать неожиданное или нежелательное поведение. Вместе со своими коллегами из Техасского университета в Остине Мисаилович разрабатывает модели естественного языка, которые могут обрабатывать инструкции разработчиков и возвращать готовый к использованию тестовый код. Они называют свой подход «NLP4Test».

«Мы стремимся улучшить практику разработки и тестирования программного обеспечения», — сказал Мисаилович. «Мы ищем, как обработка естественного языка может заменить трудоемкую практику ручного тестирования программного обеспечения и дать разработчикам возможность сосредоточиться на других задачах».

Премия в размере 1,2 миллиона долларов предоставляется в рамках программы Фонда программного и аппаратного обеспечения Национального научного фонда и будет распределяться в течение четырех лет. Мисаилович является соруководителем следователя.

Разработчики программного обеспечения оценивают свою работу, представляя, как их код может вести себя неправильно или возвращать неправильные ответы, и пишут тестовые примеры, которые создают эти условия, отвлекая время от фактической разработки. Разработчики также могут обнаружить, что их тестовые примеры терпят неудачу, даже если код работает так, как задумано. Эти так называемые «ненадежные» тесты могут вовлечь разработчиков в заблуждение, которое отнимет еще больше времени и поставит под сомнение достоверность работы.

Исследователи изучают возможность использования обработки естественного языка, которая может превратить подсказки или комментарии человеческого языка в тестовый код. Мисаилович заинтересован в разработке моделей создания тестов, которые выявляют ошибки в программном обеспечении машинного обучения и изменяют тестовый код, чтобы избежать «ненадежности». Он будет опираться на работу, которую он начал с бывшим аспирантом Сайкатом Дуттой, который в следующем году начнет работать доцентом кафедры информатики в Корнелльском университете.

«Например, данные, генерируемые во время выполнения программы, могут стать мощным дополнением к обработке естественного языка, поскольку нестабильность — это не то, что можно с уверенностью предсказать только по программному коду», — сказал Мисаилович. «Если бы в NPL4Test были включены дополнительные данные о выполнении, это позволило бы разработчикам задавать вопросы типа: «Вот фрагмент кода, который я написал, и тест, который не удался». Сбой вызван ошибкой или нестабильностью?' и «Как лучше всего начать устранение этой проблемы?»».

Изучая эти проблемы, исследователи получат ряд методов, которые генерируют тестовый код для повышения надежности программного обеспечения машинного обучения и лучшего понимания того, как оценивать нестабильность.

Коллеги Мисаиловича в UT Остине, профессор информатики Милош Глигорич и профессора лингвистики Джесси Ли и Кайл Маховальд, ранее изучали применение обработки естественного языка и разработки программного обеспечения. Сейчас они используют последние разработки в области обработки естественного языка на всех этапах тестирования программного обеспечения.

Эта история была опубликована 29 августа 2023 года.