Мы разработали исследование, чтобы увидеть, сможет ли ИИ подражать реальным программным ошибкам

Мы разработали исследование, чтобы увидеть, сможет ли ИИ подражать реальным программным ошибкам

4 июня 2025 г.

Авторы:

(1) Бо Ван, Университет Пекин Цзиотонг, Пекин, Китай (wangbo_cs@bjtu.edu.cn);

(2) Mingda Chen, Пекинский университет Цзиотонга, Пекин, Китай (23120337@bjtu.edu.cn);

(3) Youfang Lin, Пекинский университет Цзиотонг, Пекин, Китай (yflin@bjtu.edu.cn);

(4) Майк Пападакис, Университет Люксембурга, Люксембург (michail.papadakis@uni.lu);

(5) Цзе М. Чжан, Королевский колледж Лондон, Лондон, Великобритания (jie.zhang@kcl.ac.uk).

Аннотация и1 Введение

2 предыстория и связанная с ним работа

3 Учебный дизайн

3.1 Обзор и исследования исследований

3.2 Наборы данных

3.3 генерация мутаций через LLMS

3.4 Метрики оценки

3.5 Настройки эксперимента

4 Результаты оценки

4.1 RQ1: производительность по стоимости и юзабилити

4.2 RQ2: сходство поведения

4.3 RQ3: воздействие различных подсказок

4.4 RQ4: воздействие различных LLMS

4.5 RQ5: основные причины и типы ошибок некомпилируемых мутаций

5 Обсуждение

5.1 Чувствительность к выбранным настройкам эксперимента

5.2 Последствия

5.3 Угрозы достоверности

6 Заключение и ссылки

3 Учебный дизайн

3.1 Обзор и исследования исследований

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

• rQ1: Как LLM работают при создании мутаций с точки зрения стоимости и удобства использования?

• RQ2: Как LLM работают в генерации мутаций с точки зрения сходства поведения с реальными ошибками?

• RQ3: Как различные подсказки влияют на производительность при создании мутаций?

• RQ4: Как различные LLM влияют на производительность при создании мутаций?

• RQ5: Каковы основные причины и типы ошибок компиляции для генерации некомпилируемых мутаций?

3.2 Наборы данных

Мы намерены оценить наш подход с помощью реальных ошибок, и поэтому нам нужно использовать наборы данных ошибок со следующими свойствами:

Table 1: Real Bugs Used in Our Experiment

• Наборы данных должны включать Java -программы, поскольку существующие методы в основном основаны на Java, и нам нужно сравнить с ними.

• Ошибки наборов данных должны быть ошибками в реальном мире, чтобы мы могли сравнить разницу между мутациями и реальными ошибками.

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

• Каждая ошибка сопровождается хотя бы одним тестом, вызывающим ошибку, потому что нам нужно измерить, влияют ли мутации на выполнение тестов, вызывающих ошибки.

С этой целью мы используем Defects4j v1.2.0 [37] и проводят проведения [82] для оценки подходов к генерации мутаций, показанных в таблице 1. В целом, мы проводим эксперименты на 440 ошибках.

Defects4J является широко используемым эталоном в области тестирования на мутации [15, 38, 40, 43, 55, 70], который содержит исторические ошибки из 6 проектов с открытым исходным кодом, обеспечивая широкое представление реальных ошибок. В общей сложности эти 6 проектов содержат 395 реальных ошибок. Тем не менее, из таблицы 2 и таблицы 1 мы наблюдаем, что промежутки времени ошибок Defects4J раньше, чем время обучения LLMS, что может вводить утечку данных. Поэтому мы дополняем еще один набор данных, проводятся [82], предназначенные для решения проблем утечки данных. Condefects состоит из задач из конкурса программирования Atcoder [2]. Чтобы предотвратить утечку данных, мы используем исключительно ошибки, о которых сообщалось после даты выпуска LLMS, в частности, те, которые были идентифицированы 31 августа 2023 года или после этого, и в общей сложности мы собираем 45 программ Java из Cindefects.

Эта статья естьДоступно на Arxivв соответствии с CC по 4.0 Deed (Attribution 4.0 International) лицензия.


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE