Инструмент оценки Copilot: Тестирование программного обеспечения с использованием LLM-направленного программирования
Copilot Evaluation Harness: Evaluating LLM-Guided Software Programming
February 22, 2024
Авторы: Anisha Agarwal, Aaron Chan, Shubham Chandel, Jinu Jang, Shaun Miller, Roshanak Zilouchian Moghaddam, Yevhen Mohylevskyy, Neel Sundaresan, Michele Tufano
cs.AI
Аннотация
Интеграция крупных языковых моделей (LLMs) в среды разработки (IDEs) стала ключевым направлением в современной разработке программного обеспечения. LLMs, такие как OpenAI GPT-3.5/4 и Code Llama, обладают потенциалом значительно повысить продуктивность разработчиков, выступая в роли интеллектуальных ассистентов для программирования на основе чата. Однако использование LLMs "из коробки" вряд ли будет оптимальным для любого конкретного сценария. Вместо этого каждая система требует настройки LLM на основе набора эвристик для обеспечения наилучшей производительности. В данной статье мы представляем оценочный инструментарий Copilot: набор данных и инструментов для оценки взаимодействий, управляемых LLM в IDE, охватывающих различные сценарии программирования и языки. Мы предлагаем наши метрики как более надежную и информационно насыщенную оценку по сравнению с предыдущими системами оценки, считающимися передовыми. Мы разрабатываем и вычисляем как статические, так и основанные на выполнении метрики успеха для сценариев, охватывающих широкий спектр задач разработчиков, включая генерацию кода из естественного языка (generate), генерацию документации из кода (doc), генерацию тестовых случаев (test), исправление ошибок (fix), а также понимание рабочего пространства и разрешение запросов (workspace). Эти метрики успеха предназначены для оценки производительности LLM в рамках конкретной IDE и её соответствующего пространства параметров. Наши выводы, полученные в результате оценки трех распространенных LLM с использованием этих метрик, могут способствовать разработке и валидации будущих сценариев в IDE, управляемых LLM.
English
The integration of Large Language Models (LLMs) into Development Environments
(IDEs) has become a focal point in modern software development. LLMs such as
OpenAI GPT-3.5/4 and Code Llama offer the potential to significantly augment
developer productivity by serving as intelligent, chat-driven programming
assistants. However, utilizing LLMs out of the box is unlikely to be optimal
for any given scenario. Rather, each system requires the LLM to be honed to its
set of heuristics to ensure the best performance. In this paper, we introduce
the Copilot evaluation harness: a set of data and tools for evaluating
LLM-guided IDE interactions, covering various programming scenarios and
languages. We propose our metrics as a more robust and information-dense
evaluation than previous state of the art evaluation systems. We design and
compute both static and execution based success metrics for scenarios
encompassing a wide range of developer tasks, including code generation from
natural language (generate), documentation generation from code (doc), test
case generation (test), bug-fixing (fix), and workspace understanding and query
resolution (workspace). These success metrics are designed to evaluate the
performance of LLMs within a given IDE and its respective parameter space. Our
learnings from evaluating three common LLMs using these metrics can inform the
development and validation of future scenarios in LLM guided IDEs.