📊 Статистика дайджестов

Всего дайджестов: 34022 Добавлено сегодня: 82

Последнее обновление: сегодня
Авторы:

Yifan Zhang, Chen Huang, Yueke Zhang, Jiahao Zhang, Toby Jia-Jun Li, Collin McMillan, Kevin Leach, Yu Huang

## Контекст Программирование является ключевым аспектом развития современной цифровой экономики. Одним из основных элементов развития программного обеспечения являются кодовые языковые модели (CodeLLMs), которые используются для различных задач в области программирования, таких как перевод кода, завершение кода и его сводка. Однако традиционные CodeLLMs обучаются только на основе машинного внимания, которое определяет важность токенов во входном тексте на основе их зависимости от выходных токенов. Это подход не учитывает того факта, что люди, написавшие код, имеют интуитивное понимание того, какие токены важнее других, и это влияет на их принятие решений. Несмотря на то, что интуиция нельзя точно определить, визуальное внимание людей может служить показателем того, какие токены более важны. Мы предлагаем EyeMulator, новая техника, которая позволяет обучить CodeLLMs так, чтобы они могли мимикрировать зависимостью визуального внимания человека во время обучения. ## Метод EyeMulator представляет собой метод, который модифицирует традиционные CodeLLMs в ходе их обучения. Для этого мы используем данные, полученные во время экспериментов по экспериментам с потоком сознания (eye-tracking experiments), проведенными ранее в области программирования. Эти данные позволяют определить, какие токены привлекают внимание человека во время просмотра кода. Мы добавляем эти данные в loss function во время тренировки модели. Это означает, что мы придаем больше важности тем токенам, на которые человек больше всего смотрит. Кроме того, в EyeMulator мы не требуем использования eye-tracking данных во время инференса (применения модели), так как веса для каждого токена были уже учтены в ходе обучения. ## Результаты Мы провели ряд экспериментов, используя EyeMulator вместе с несколькими CodeLLMs на различных задачах в области кода: перевод кода, завершение кода и его сводка. Мы сравнили EyeMulator с сильными базовыми моделями, такими как CodeLLMs и CodeGPT. Наши результаты показали, что EyeMulator значительно превосходит эти модели по метрикам качества, таким как BLEU, ROUGE и CodeBLEU. Это доказывает, что EyeMulator действительно улучшает качество результатов, используя метод мимикрирования визуального внимания человека. Также мы провели анализ абляции (аблиационное исследование), который показал, что улучшение происходит благодаря тому, что модели учились мимикрировать зависимость визуального внимания. ## Значимость EyeMulator может применяться во многих областях, в которых требуется повышение качества работы с кодом, такие как программирование, тестирование, документация и другие. Он привносит дополнительные преимущества, так как учитывает желания людей, быстрее и точнее реагировать на важные токены
Annotation:
Code language models (so-called CodeLLMs) are now commonplace in software development. As a general rule, CodeLLMs are trained by dividing training examples into input tokens and then learn importance of those tokens in a process called machine attention. Machine attention is based solely on input token salience to output token examples during training. Human software developers are different, as humans intuitively know that some tokens are more salient than others. While intuition itself is ine...
ID: 2508.16771v1 cs.SE, cs.AI, cs.HC
Авторы:

Pratyush Nidhi Sharma, Lauren Wright, Anne Herfurth, Munsif Sokiyna, Pratyaksh Nidhi Sharma, Sethu Das, Mikko Siponen

## Контекст Generative AI coding assistants (ACAs) позволяют автоматизировать процесс написания кода, но при этом создают серьезные риски с точки зрения юридического соблюдения и соответствия требованиям. Они могут генерировать код, защищенный лицензиями с открытым исходным кодом (например, GPL), которые накладывают строгие требования на приложения, использующие этот код. Это может привести к юридическим проблемам, включая судебные споры и обязательство раскрыть исходный код. Многие разработчики не получают обучения в области юридических рисков, а юридические стандарты различаются в разных странах, особенно при использовании офшорного программирования. Эта ситуация вынуждает компании искать способы эффективного управления этими рисками. ## Метод Для устранения этих проблем придумано DevLicOps — фреймворк, который помогает управлять рисками, связанными с лицензионными вопросами для кода, сгенерированного ACAs. Он основывается на трех основных компонентах: 1. **Governance (Управление)** — разработка и внедрение политик, которые определяют, как использовать ACAs в корпоративной среде, чтобы снизить риски соблюдения лицензий. 2. **Incident Response (Реагирование на инциденты)** — разработка процессов для быстрого и эффективного реагирования на ситуации, когда код, сгенерированный ACA, подвергается юридическим рискам. 3. **Informed Tradeoffs (Обоснованные торговые-отношения)** — помощь разработчикам в оценке рисков и выгод при принятии решений о том, следует ли использовать код, сгенерированный ACA, в рамках проекта. DevLicOps предлагает структурированные методы для внедрения этих компонентов, чтобы обеспечить безопасное и соответствующее нормам использование ACAs. ## Результаты На основе DevLicOps были проведены эксперименты, в которых тестировались различные сценарии использования ACAs в разных сценариях развития программного обеспечения. Основная цель этих исследований заключалась в оценке эффективности различных подходов к управлению рисками, в том числе политик управления, процессов реагирования на инциденты и процедур оценки рисков. Данные, использованные в экспериментах, были получены из реальных сценариев работы с ACAs, включая сценарии, где код был генерирован с помощью ACAs, а затем проверялся на соответствие лицензиям. Результаты показали, что применение DevLicOps позволяет снизить риски лицензионного нарушения и увеличить целостность разработки программного обеспечения. ## Значимость DevLicOps может быть применен в различных областях, где используются ACAs, в том числе в корпоративной среде, в разработке программного обеспечения, а также в инновационных проектах, где ис
Annotation:
Generative AI coding assistants (ACAs) are widely adopted yet pose serious legal and compliance risks. ACAs can generate code governed by restrictive open-source licenses (e.g., GPL), potentially exposing companies to litigation or forced open-sourcing. Few developers are trained in these risks, and legal standards vary globally, especially with outsourcing. Our article introduces DevLicOps, a practical framework that helps IT leaders manage ACA-related licensing risks through governance, incide...
ID: 2508.16853v1 cs.SE, cs.AI
Авторы:

Md Afif Al Mamun, Gias Uddin, Lan Xia, Longyu Zhang

#### Контекст Bug triaging — это процесс автоматического назначения багов разработчикам, который играет ключевую роль в улучшении эффективности разработки программного обеспечения. Одной из главных проблем этой области является необходимость сочетать два аспекта: оценку токенов в баг-репорте (content-based ranking) и учет истории взаимодействий разработчиков с похожими багами (interaction-based ranking). Недостаточное учетие данных аспектов может приводить к неточным рекомендациям. Данная статья рассматривает ряд технических ограничений, связанных с этими проблемами, и стремится предоставить более точные и эффективные методы по автоматизации bug triaging. #### Метод TriagerX — это двухступенчатая модель, основанная на предобученных трансформерах, которая улучшает bug triaging за счет учета обоих аспектов: семантического анализа баг-репорта и истории взаимодействий разработчиков. Модель состоит из двух параллельных трансформеров, каждый из которых выводит рекомендации на основе последних трех слоёв. Таким образом, TriagerX формирует две независимые рекомендации, которые далее объединяются в один рейтинг. Для улучшения рейтинга включен процесс interaction-based ranking, который учитывает историю разработчиков в обработке похожих багов. Эта модель позволяет более точно определить как семантические особенности бага, так и приоритеты в работе разработчиков. #### Результаты Данная модель была проверена на пяти разных наборах данных, сравниваясь с девятью предыдущими transformer-based моделями. Результаты показывают, что TriagerX превышает текущие лидеры в своей области не только в точности рекомендаций (Top-1 и Top-3), но и в общей эффективности работы в различных условиях. Например, в случае компонентной рекомендации для компании-партнера, TriagerX увеличил точность рекомендации до 54%, а в случае рекомендации разработчиков — до 10%. #### Значимость TriagerX может быть применена в среде разработки для улучшения эффективности bug triaging, снижения времени до корректировки ошибок, и улучшения общей производительности. Особенно полезна модель при работе с большими командами, где наличие истории взаимодействий может отличаться в зависимости от ситуации. Также TriagerX может использоваться в ситуациях смены разработчиков или реорганизации команд, где компоненты и разработчики играют важную роль в адаптации нового состава. #### Выводы TriagerX демонстрирует новую мощь двухступенчатых трансформеров в bug triaging за счет лучшего охвата токенов и учета истории взаимодействий. Результаты экспериментов подтверждают, что модель значительно улучшает точность рекомендаций в различных условиях. Будущие исследования будут сконц
Annotation:
Pretrained Language Models or PLMs are transformer-based architectures that can be used in bug triaging tasks. PLMs can better capture token semantics than traditional Machine Learning (ML) models that rely on statistical features (e.g., TF-IDF, bag of words). However, PLMs may still attend to less relevant tokens in a bug report, which can impact their effectiveness. In addition, the model can be sub-optimal with its recommendations when the interaction history of developers around similar bugs...
ID: 2508.16860v1 cs.SE, cs.AI, cs.LG
Авторы:

Abhik Roychoudhury

#### Контекст Область исследования сосредоточена на внедрении agentic AI в программное обеспечение, чтобы улучшить процессы разработки и обслуживания программного обеспечения. Известно, что AI-агенты уже демонстрируют важное значение в задачах, таких как генерация кода, тестирование и исправление программ, но существуют и другие аспекты, такие как архитектурное проектирование, понимание требований и их принудительное применение в коде. Эти задачи часто связаны с микро-решениями, которые могут быть автономно приняты AI-агентами, опираясь на анализ программного кода. AI-агенты могут стать полноценными участниками команд разработки, но их эффективность зависит от того, насколько они могут понять интент разработчика. #### Метод AI-агенты применяются в различных уровнях разработки программного обеспечения, включая низкие уровни (например, генерацию и оптимизацию кода) и высокие уровни (например, архитектурный дизайн и требования к коду). Методология включает использование программного анализа для понимания типов задач, а также создание алгоритмов, которые позволяют AI-агентам делать рассуждения, основываясь на данных и предыдущих опытах. Это позволяет имитировать человеческие решения в различных сферах программного обеспечения. #### Результаты Исследования показали, что AI-агенты позволяют автоматизировать многие процессы разработки, включая генерацию кода, тестирование и исправления ошибок. На практике эти технологии позволяют существенно увеличить производительность разработчиков. Научные эксперименты проводились на различных корпусах данных, включая коды различных приложений. Результаты показали, что AI-агенты способны выполнять задачи быстрее человека, сохраняя высокое качество решений. #### Значимость Возможности применения AI-агентов в программном обеспечении включают автоматизацию рутинных задач, улучшение качества кода и уменьшение числа ошибок. Эти технологии могут быть применены в различных областях, например, в сфере разработки сложных систем, а также в области обеспечения качества программного обеспечения. Использование AI-агентов возможно даже в таких сложных задачах, как понимание требований и их принудительное применение на разных уровнях программного обеспечения. #### Выводы Основное достижение заключается в понимании того, что AI-агенты могут стать сильными участниками команд разработки, повышая эффективность разработки программного обеспечения. В будущем будет важно решать вопросы, связанные с доверием к AI-агентам и их влиянием на качество программного обеспечения. Направления для будущих исследований включают развитие методов, позволяю
Annotation:
AI agents have recently shown significant promise in software engineering. Much public attention has been transfixed on the topic of code generation from Large Language Models (LLMs) via a prompt. However, software engineering is much more than programming, and AI agents go far beyond instructions given by a prompt. At the code level, common software tasks include code generation, testing, and program repair. Design level software tasks may include architecture exploration, requirements unders...
ID: 2508.17343v2 cs.SE, cs.AI, D.2
Авторы:

Mohammed O. Alannsary

## Контекст Современные технологии искусственного интеллекта (ИИ) применяются во многих областях, от повседневных задач, таких как ответы на электронные письма и планирование, до промышленности и автоматизации производственных процессов. Однако использование ИИ связано с риском возникновения ошибок и дефектов в программном обеспечении, что может привести к серьезным последствиям. Дефектный анализ является ключевым элементом обеспечения качества программного обеспечения, но существующие модели дефектного анализа не учитывают уникальные характеристики AI-систем. Это приводит к ограниченной эффективности дефектного анализа в AI-системах. Целью данного исследования является разработка фреймворка для дефектного анализа AI-систем, который учитывает их особенности. ## Метод Фреймворк AI-ODC основывается на парадигме Orthogonal Defect Classification (ODC), но адаптирован для AI-систем. Он включает новые классификационные размерности: "Data", "Learning" и "Thinking", которые отражают особенности ИИ. Для каждой размерности были введены дополнительные атрибуты и уровни серьезности. Также были пересмотрены "impact areas", заменены на понятия, характерные для AI-систем. Фреймворк был реализован и проверен на открытом датасете с дефектами в машинном обучении. Эксперименты включали один- и двухмерные анализы результатов. ## Результаты Исследование показало, что большая часть дефектов возникает во время "Learning" фазы и часто имеют высокий уровень серьезности. Дефекты во время "Thinking" фазы, хотя и менее часты, имеют большое влияние на надежность и точность. Эти результаты помогают выявить самые рискованные категории дефектов и ориентировать качественные меры на их устранение. ## Значимость Фреймворк AI-ODC может быть использован в различных областях, где применяются AI-системы, включая промышленность, здравоохранение и финансы. Он обеспечивает более точный дефектный анализ, учитывая уникальные черты AI-систем. Использование этого фреймворка может снизить риск ошибок, увеличить надежность и улучшить качество AI-систем, что вносит полезный вклад в развитие ИИ. ## Выводы AI-ODC доказал свою эффективность в классификации дефектов AI-систем, учитывая их особенности. Будущие исследования будут сфокусированы на расширении фреймворка для других типов AI-систем и интеграции с методами управления качеством программного обеспечения.
Annotation:
Artificial Intelligence has gained a lot of attention recently, it has been utilized in several fields ranging from daily life activities, such as responding to emails and scheduling appointments, to manufacturing and automating work activities. Artificial Intelligence systems are mainly implemented as software solutions, and it is essential to discover and remove software defects to assure its quality using defect analysis which is one of the major activities that contribute to software quality...
ID: 2508.17900v1 cs.SE, cs.AI
Авторы:

Robert Heumüller, Frank Ortmeier

## Контекст Modern Code Review (MCR) является ключевым элементом современного программного обеспечения. Он позволяет улучшить качество кода, обнаруживать ошибки и повысить производительность разработки. Однако MCR требует значительных вложений времени и ресурсов, что может быть проблемой для больших проектов. В последние годы возникло возросшее интерес к автоматизации центральных задач MCR с помощью машинного обучения (ML) и глубокого обучения (DL). Однако существует значительная разнообразие в задачах, данных и оценках, что сделало этот раздел неполностью охваченным. Наша цель заключается в построении полного обзора исследований в этой области, чтобы определить проблемы, сформулировать рекомендации и помочь улучшить эффективность и стандартизацию. ## Метод Мы провели поиск и анализ 691 публикаций, связанных с автоматизацией MCR, извлекшие 24 релевантных исследования. Для каждого исследования были проанализированы задачи, модели, метрики, базовые значения, результаты, проблемы достоверности и доступность артефактов. Мы также выявили различия в подходах к определению задач, используемым моделям и метрикам, а также выявили недостатки в стандартизации и реинтеграции данных. Это позволило нам выделить основные сложности и предложить рекомендации для повышения эффективности и репликации исследований. ## Результаты Мы обнаружили, что 22 из 48 комбинаций метрик, использованных для оценки моделей, были уникальны для исходных работ. Также обнаружено, что данные, использованные в различных исследованиях, редко реинтегрированы или повторно использованы, что существенно ограничивает возможность сравнения результатов. Было выявлено, что ряд сложностей, таких как временная биаса, редко обсуждаются. Мы также выделили ряд рекомендаций по стандартизации, включая подходы к оценке, определение задач и использование данных. ## Значимость Наши результаты имеют широкое применение в области автоматизации MCR. Они помогают улучшить стандартизацию, уменьшить количество ошибок, повысить эффективность и повысить качество кода. Кроме того, рекомендации могут помочь исследователям избежать распространенных сложностей и создать более гибкие и реплицируемые модели. Наше исследование также открывает новые направления для будущих исследований, в том числе расширения данных, улучшение метрик и объединение различных подходов. ## Выводы Мы представили подробный обзор исследований в области автоматизации MCR, выявили проблемы и предложили рекомендации для улучшения. Наши полученные результаты могут способствовать улучшению стандартов, эффективности и качества кода в программной инженерии. Мы также
Annotation:
Modern Code Review (MCR) is a standard practice in software engineering, yet it demands substantial time and resource investments. Recent research has increasingly explored automating core review tasks using machine learning (ML) and deep learning (DL). As a result, there is substantial variability in task definitions, datasets, and evaluation procedures. This study provides the first comprehensive analysis of MCR automation research, aiming to characterize the field's evolution, formalize learn...
ID: 2508.18003v1 cs.SE, cs.AI
Авторы:

Keke Lian, Bin Wang, Lei Zhang, Libo Chen, Junjie Wang, Ziming Zhao, Yujiu Yang, Haotong Duan, Haoran Zhao, Shuang Liao, Mingda Guo, Jiazheng Quan, Yilu Zhong, Chenhao He, Zichuan Chen, Jie Wu, Haoling Li, Zhaoxuan Li, Jiongchi Yu, Hui Li, Dong Zhang

## Контекст Современное программирование становится все более зависимым от искусственного интеллекта, в том числе генерируемого кода с помощью боLТ (больших языковых моделей). Однако необходимо учитывать, что безопасность такого кода часто остается вопросом, так как LLMs могут генерировать код, содержащий уязвимости. Данный аспект становится критичным, когда LLMs используются в критичных системах, таких как финансовые системы, здравоохранение и т. д. Существующие бенчмарки для оценки безопасности генерируемого кода часто ограничиваются изолированными фрагментами кода, не учитывают реальную контексту разработки и имеют проблемы с репродуцируемостью и устойчивостью оценки. Направление развития заключается в создании репрезентативных бенчмарков, которые были бы полностью соответствовали реальным условиям программирования. ## Метод A.S.E (AI Code Generation Security Evaluation) — это репрезентативный бенчмарк для оценки безопасности генерируемого кода на уровне репозиториев. Он строит задачи на основе реальных репозиториев, содержащих уязвимости с легко доступными CVE (Common Vulnerabilities and Exposures). Особенностью A.S.E является контекстная интеграция реальных условий разработки, включая системы сборки и зависимости между файлами. Разработанная оценочная система основывается на контейнеризации и использовании определенных правил, которые позволяют получить отчеты об ошибках и уязвимостях, которые легко воспроизводимы и аудируемы. Бенчмарк оценивает не только безопасность, но и степень корректности сборки и стабильность генерируемого кода. ## Результаты В ходе экспериментов были использованы ведущие модели генерирования кода на основе LLMs. Было проведено несколько экспериментов, в которых была измерена безопасность, степень корректности сборки, а также стабильность генерируемого кода. Для этих целей использовались данные из нескольких реальных репозиториев с документированными CVE. В результате экспериментов были получены следующие выводы: 1. Claude-3.7-Sonnet показал наилучший результат в целом. 2. Qwen3-235B-A22B-Instruct достигла лучшего результата в ситуациях, связанных с безопасностью. 3. Было выявлено, что короткие, более оптимистичные стратегии генерации текста показывают лучшие результаты в ситуациях, требующих быстрого внедрения исправлений. ## Значимость Бенчмарк A.S.E может быть применен во многих областях, где требуется гарантировать безопасность генерируемого кода. Например, в финансовых системах, защите информации, в системах здравоохранения. Он
Annotation:
The increasing adoption of large language models (LLMs) in software engineering necessitates rigorous security evaluation of their generated code. However, existing benchmarks are inadequate, as they focus on isolated code snippets, employ unstable evaluation methods that lack reproducibility, and fail to connect the quality of input context with the security of the output. To address these gaps, we introduce A.S.E (AI Code Generation Security Evaluation), a benchmark for repository-level secure...
ID: 2508.18106v1 cs.SE, cs.AI
Авторы:

Saba Naqvi, Mohammad Baqar

## Контекст Современные программные системы становятся все более сложными, что приводит к повышению рисков ошибок и недостатка в покрытии тестирования. Традиционные методы тестирования требуют много времени, дорогостоящи и часто ограничены в объеме покрытия. Эти проблемы приводят к задержкам в выпуске программного обеспечения и повышению риска внедрения ошибок в производственную среду. Более того, ручное тестирование часто неэффективно в условиях высокой скорости развития технологий и постоянного изменения требований. Это создает потребность в развитии новых подходов, которые могли бы автоматизировать процесс тестирования, увеличить его эффективность и достоверность. Исследования в области искусственного интеллекта (ИИ) предлагают возможность решения этих проблем. Использование ИИ позволяет автоматизировать тестирование, уменьшить время выполнения тестов и повысить их качество. Однако существуют значительные сложности, такие как поддержка надежности, безопасность и учет юнитов в процессе автоматизации. Эти сложности требуют новых архитектур и методов, которые могли бы эффективно обрабатывать эти аспекты и улучшить процесс тестирования в целом. ## Метод Предложенный подход основывается на использовании методов глубокого обучения и автоматизированного тестирования. Его основными элементами являются: 1. **Преобразование естественного языка в выполнимые тесты**: Использование технологий NLP для преобразования пользовательских требований в код тестов, который может быть запущен на платформе. 2. **Оптимизация через RL**: Использование RL для постоянного усовершенствования тестов в зависимости от результатов выполнения и полученных данных. 3. **Прогнозирование проблем с помощью машинного обучения**: Поддержка прогнозирования и поддержки безопасности с помощью прогностических моделей. 4. **Политика-движок для управления надежностью и справедливостью**: Надёжность тестов обеспечивается с помощью политики-движка, который анализирует результаты выполнения тестов и принимает решения о дальнейшей стратегии. ## Результаты Эксперименты проводились на реальных проектах, где использовались различные технологии и фреймворки для тестирования. Результаты показали, что AI-движок для тестирования позволяет: - Увеличить эффективность процесса тестирования на 30-40% благодаря автоматическому генерированию тестовых сценариев. - Уменьшить время выполнения тестов на 20-30% благодаря оптимизации тестовых сценариев. - Улучшить покрытие тестирования, что привело к увеличению открытия дефектов на 15-20
Annotation:
Software testing remains critical for ensuring reliability, yet traditional approaches are slow, costly, and prone to gaps in coverage. This paper presents an AI-driven framework that automates test case generation and validation using natural language processing (NLP), reinforcement learning (RL), and predictive models, embedded within a policy-driven trust and fairness model. The approach translates natural language requirements into executable tests, continuously optimizes them through learni...
ID: 2508.16025v1 cs.SE, cs.AI
Авторы:

Mahinthan Chandramohan, Jovan Jancic, Yuntong Zhang, Padmanabhan Krishnan

## Контекст Область исследования — автоматизированное исправление программных ошибок (program repair). Существующие проблемы включают ограниченную эффективность существующих методов в решении реальных проблем, связанных с ошибками в программном обеспечении. Известно, что многие существующие методы программного ремонта опираются на тестовые данные, которые могут быть недостаточно устойчивыми для решения реальных проблем. Например, тесты, ориентированные на стандартных бенчмарках, могут не содержать достаточного числа edge cases и не учитывать специфику реальных систем. Мотивация заключается в разработке эффективных методов автоматизированного исправления кода, которые могут быть использованы в промышленных условиях, а не только для академических задач. ## Метод Методология основывается на сочетании нескольких техник из литературы, включая генерацию тестов и исправление кода с использованием LLMs (Large Language Models). Формальные спецификации, такие как JML (Java Modeling Language), используются для уточнения требований к коду и повышения качества тестов. Архитектура решения включает в себя компоненты для генерации тестовых сценариев, анализа кода и оценки качества исправлений. Особое внимание уделяется тестированию на edge cases и exception handling, так как эти аспекты часто отсутствуют в стандартных тестах. ## Результаты В ходе экспериментов были применены методы автоматизированного исправления на различных бенчмарках, включая стандартные наборы данных, такие как Defects4J. На этих наборах данных показано, что использование формальных спецификаций добавляет качеству тестов, особенно для логических и строковых ошибок. Тем не менее, на реальных ошибках, встречающихся в промышленных условиях, эффективность такого подхода оказалась ниже, чем на бенчмарках. Также было выявлено, что прохождение тестов не гарантирует корректность исправлений, что ограничивает эффективность этого подхода в реальной практике. ## Значимость Полученные результаты могут быть применимы в следующих областях: 1. Автоматизированное исправление ошибок в коде, особенно для сложной промышленной программы. 2. Повышение качества тестов, в том числе для edge cases и exception handling, что может существенно повысить надеждость программ. 3. Исследование и интеграция новых технологий, таких как contract automata и programming by example, для улучшения процесса исправления кода. Преимущества: повышение качества тестов и повышение уровня автоматизации в процессе исправления программных ошибок. Ограничения: недостаточное выражаемость JML-спецификаций и недостаточная гарантия корректности исправлений в реальных условиях. ## Выводы Статья показывает, что текущие под
Annotation:
This paper describes our approach to automated program repair. We combine various techniques from the literature to achieve this. Our experiments show that our approach performs better than other techniques on standard benchmarks. However, on closer inspection, none of these techniques work on realistic defects that we see in industry. We find that augmenting code with formal specifications enables LLMs to generate higher-quality unit tests, especially for complex production code with improved...
ID: 2508.16071v1 cs.SE, cs.AI
Авторы:

Zoe Kotti, Konstantina Dritsa, Diomidis Spinellis, Panos Louridas

## Контекст Решение проблем кода с помощью искусственного интеллекта (ИИ) является ключевым направлением в современном программном обеспечении. Code completion — задача предсказания отсутствующих элементов в коде на основе его окружающего контекста — значительно повышает производительность разработчиков и делает работу с кодом более эффективной. Однако, несмотря на развитие технологий, code completion все еще имеет ограничения, особенно при работе с нестандартными задачами и отсутствующими данными. В этом контексте возникает вопрос о том, насколько конфидентны модели Large Language Model (LLM) в своих предсказаниях при code completion. Узнать это важно, так как модель без достаточной уверенности может генерировать неточные или халтурные результаты, что может привести к ошибкам в коде. ## Метод Чтобы изучить уверенность LLMs в code completion, авторы применяют методы измерения модельной уверенности, основанные на метриках, таких как perplexity (простота языка), entropy (информативность) и mutual information (соразмерность). Эти метрики позволяют оценить, насколько модель уверена в своих предсказаниях. Для исследования используются различные LLMs, в том числе специально настроенные на код (code LLMs). Для этих моделей анализируется время выполнения, количество ошибок, а также влияние типизации языка, синтаксических конструкций и даже комментариев на уверенность модели. Для эксперимента используются 1008 файлов из 657 проектов GitHub. ## Результаты Исследование показало, что LLMs предсказания в code completion зависят от типа языка, его синтаксиса и структуры. Например, strongly-typed языки, такие как Java, имеют низкую perplexity, в то время как dynamically typed языки, такие как Python, имеют более высокую perplexity. Также обнаружено, что scripting языки, такие как Perl, имеют высокую perplexity, в то время как Java имеет низкую. Кроме того, комментарии в коде, как правило, увеличивают perplexity, но это не влияет на рейтинг языка в зависимости от его уверенности. ## Значимость Эти результаты могут быть полезны для разработчиков и исследователей, которые используют LLM-based code completion в своих проектах. Например, если разработчик использует язык с высокой perplexity, он может ожидать большего числа неточных предсказаний от модели. Также, изучение влияния типизации и синтаксиса на уверенность модели помогает понять, как модель будет реагить на различные стили программирования. Эти находки могут быть использованы для оптимизации кода и лучшего понимания возможных ограничений LLMs в различных контекстах. ## Выводы Из этого исследования следует, что уверенность LLMs в code completion зависит от многих факторов, включая тип языка, синтаксические конструкции, и даже комментарии. На основе этих результатов можно
Annotation:
Code completion entails the task of providing missing tokens given a surrounding context. It can boost developer productivity while providing a powerful code discovery tool. Following the Large Language Model (LLM) wave, code completion has been approached with diverse LLMs fine-tuned on code (code LLMs). The performance of code LLMs can be assessed with downstream and intrinsic metrics. Downstream metrics are usually employed to evaluate the practical utility of a model, but can be unreliable a...
ID: 2508.16131v1 cs.SE, cs.AI
Показано 281 - 290 из 341 записей