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

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

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

Zhiyu Fan, Kirill Vasilevski, Dayi Lin, Boyuan Chen, Yihao Chen, Zhiqing Zhong, Jie M. Zhang, Pinjia He, Ahmed E. Hassan

## Контекст Ускорение развития больших языковых моделей (LLM) и кодовых агентов (code agents) показало значительный потенциал в помощи при решении задач в области программного обеспечения (SWE), таких как устранение проблем и добавление функций. Несмотря на эти улучшения, существующие лидербеды в области AI for Software Engineering (например, SWE-bench) ориентированы только на точность решения, не учитывая важность эффективности в условиях ограниченных ресурсов. Это проблема широко распространенная не только в сфере программного обеспечения, но и в других областях, где актуально учитывать не только точность решения, но и стоимость его достижения. Наша цель — разработать новый подход для оценки эффективности AI-систем, учитывая как точность решения, так и стоимость ресурсов, требуемых для этого. ## Метод Мы предлагаем SWE-Effi — новую многомерную метрику для оценки эффективности AI-систем в области программного обеспечения. Метрика SWE-Effi принимает во внимание не только точность решения, но и эффективность в использовании ресурсов, таких как токены и время. Мы определяем эффективность как баланс между точностью решения задач (например, процент успешно решенных проблем) и затратами ресурсов. Для применения этого подхода, мы воспользовались подмножеством SWE-bench для реинтерпретации результатов популярных AI-систем по принципу точности и эффективности. Эксперименты проводились с использованием предварительно обученных моделей и реалистичных наборов данных. ## Результаты Наши эксперименты показали, что эффективность AI-систем зависит не только от самой модели, но также от ее интеграции с базовыми моделями. Мы обнаружили, что некоторые системы демонстрируют высокую точность решений, но используют так много ресурсов, что становятся не эффективными в условиях ограниченных ресурсов. Также мы обнаружили "системные вызовы", такие как "token snowball effect" (токенная снежная сфера), когда AI-системы растут в размере и стоимости работы, не достигая цели. Также выявлено "проблему дорогостоящих ошибок", когда системы уходят в "бесконечный цикл" при попытке решить неразрешимую задачу, что приводит к потере ресурсов в ходе обучения с подкреплением (RL). Наконец, мы отметили значительный трейд-офф между эффективностью под лимитом токенов и под лимитом времени, что важно для управления проектными бюджетами и распределения ресурсов в сценариях реального времени. ## Значимость Метод SWE-Effi может быть применен в различных областях, где требуется эффективность AI-систем, включая не только программное обеспечение, но и медицину, финансы и другие. Наши результаты показывают, что эффективный выбор и и
Annotation:
The advancement of large language models (LLMs) and code agents has demonstrated significant potential to assist software engineering (SWE) tasks, such as autonomous issue resolution and feature addition. Existing AI for software engineering leaderboards (e.g., SWE-bench) focus solely on solution accuracy, ignoring the crucial factor of effectiveness in a resource-constrained world. This is a universal problem that also exists beyond software engineering tasks: any AI system should be more than ...
ID: 2509.09853v1 cs.SE, cs.AI
Авторы:

James Jewitt, Hao Li, Bram Adams, Gopi Krishnan Rajbahadur, Ahmed E. Hassan

#### Контекст Открытый исходный код (open-source) широко используется в развитии искусственного интеллекта (AI), но существуют серьёзные риски, связанные с несоответствием лицензий. Недостаток данных о частоте этих несоответствий, их источниках и воздействии на сообщества существенно ограничивает возможности легальных и этичных решений. Наша исследовательская цель — понять, как часто возникают несоответствия лицензий в AI, какие проблемы они представляют и как их можно автоматизировать. #### Метод Мы проводили полную аудитную процедуру для лицензий на данные и модели на платформе Hugging Face, а также их интеграции в GitHub-проекты. Исследование охватило 364 тысяч наборов данных, 1,6 миллиона моделей и 140 тысяч GitHub-репозиториев. Мы разработали расширяемую систему, которая использует 197 правил для обнаружения несоответствий лицензий, включая типичные SPDX-правила и модели-специфичные условия. Эта система демонстрирует эффективность в решении 86,4% несоответствий. #### Результаты Наши эмпирические данные показывают, что 35,5% переходов моделей в приложения приводит к устранению ограничительных условий лицензий за счёт перехода к более простым условиям, таким как MIT или BSD. Мы также обнаружили, что несоответствия часто возникают в результате непреднамеренного отсутствия ясности в процессе интеграции. Наши вычисления позволили определить, какие сообщества и проекты в AI-экосистеме подвержены наибольшим рискам. #### Значимость Наше исследование имеет большое значение для разных аспектов. Во-первых, оно помогает осведомлённым организациям уменьшить риски лицензионных споров и повысить соблюдение нормативных требований. Во-вторых, мы демонстрируем, как AI может быть применено для автоматического обнаружения и устранения несоответствий лицензий. Наконец, наши результаты могут способствовать улучшению целостности и прозрачности AI-экосистемы. #### Выводы Мы показали, что несоответствия лицензий являются серьёзной проблемой в AI-экосистеме, требующей активного решения. Наша работа создаёт новые возможности для автоматического мониторинга и устранения несоответствий. Мы планируем расширить нашу работу, включив более широкий круг моделей и данных, а также создать более продвинутые инструменты для автоматизации процессов соблюдения лицензий.
Annotation:
Hidden license conflicts in the open-source AI ecosystem pose serious legal and ethical risks, exposing organizations to potential litigation and users to undisclosed risk. However, the field lacks a data-driven understanding of how frequently these conflicts occur, where they originate, and which communities are most affected. We present the first end-to-end audit of licenses for datasets and models on Hugging Face, as well as their downstream integration into open-source software applications,...
ID: 2509.09873v1 cs.SE, cs.AI
Авторы:

Seyed Moein Abtahi, Akramul Azim

#### Контекст Современные программные проекты становятся все более сложными, что приводит к увеличению числа и разнообразию проблем в кодовых файлах. Это создает необходимость в эффективных инструментах для выявления, устранения и оценки проблем. Избыток работы, связанный с ручным мониторингом и редактированием кода, не только увеличивает время разработки, но и увеличивает риск ошибок. Задача автоматизации этих процессов становится ключевой для повышения производительности и качества разработки. #### Метод WALL — это веб-приложение, которое интегрирует SonarQube и Большие языковые модели (LLMs), такие как GPT-3.5 Turbo и GPT-4o, для автоматизации процессов анализа и редактирования кода. Оно состоит из трех модулей: инструмента для извлечения проблем (issue extraction tool), кода для повторного редактирования (code issues reviser) и сравнения кода (code comparison tool). WALL предлагает полный цикл работы: выявление проблем, генерация автоматических предложений для их исправления, а также оценку точности этих исправлений. Методология основывается на взаимодействии между традиционными методами анализа кода и новыми возможностями LLMs, чтобы обеспечить точность и эффективность. #### Результаты Исследования проводились на 563 файлах кода с более чем 7599 проблемами. Эксперименты показали, что WALL способен эффективно выявлять и решать проблемы, уменьшая необходимое время для ручного мониторинга и редактирования. Использование смешанного подхода, включающего как более дорогие, так и более простые LLMs, позволило снизить затраты на разработку, одновременно повысив точность и скорость редактирования. Эксперименты демонстрируют, что WALL может существенно повысить производительность разработки, особенно при обработке больших наборов данных. #### Значимость WALL может применяться в различных областях, где количество и сложность кода являются ключевыми факторами. Он позволяет уменьшить число ошибок, улучшить скорость разработки и снизить риск человеческой ошибки. Одним из основных преимуществ является снижение затрат на ручное мониторинго и улучшение качества редактирования. Это приложение может стать важной частью инструментария для автоматического управления качеством кода, что в будущем может привести к полной автоматизации этого процесса. #### Выводы WALL доказал свою эффективность в автоматизации процессов выявления и редактирования проблем в коде. Однако, существуют лимиты, связанные с необходимостью человеческого участия в некоторых этапах процесса. На будущее, авторы планируют расширить возможности WALL, включив в него более продвинутые и открытые LLMs, а также работать над полной устранением необходимости человеческого вмешательства. Это
Annotation:
As software projects become increasingly complex, the volume and variety of issues in code files have grown substantially. Addressing this challenge requires efficient issue detection, resolution, and evaluation tools. This paper presents WALL, a web application that integrates SonarQube and large language models (LLMs) such as GPT-3.5 Turbo and GPT-4o to automate these tasks. WALL comprises three modules: an issue extraction tool, code issues reviser, and code comparison tool. Together, they en...
ID: 2509.09918v1 cs.SE, cs.AI
Авторы:

Radu Apsan, Vincenzo Stoico, Michel Albonico, Rudra Dhar, Karthik Vaidhyanathan, Ivano Malavolta

#### Контекст С появлением Large Language Models (LLMs), их применение в разработке программного обеспечения стало достаточно широким. Однако вопросы энергоэффективности кода, генерируемого LLMs, остаются открытыми. Эта статья обобщает научные работы, которые исследуют энергоэффективность Python-кода, сгенерированного LLMs, в сравнении с ручной разработкой. Целью является определение текущего состояния LLMs в области создания энергоэффективного кода. #### Метод В этом исследовании проводился эмпирический анализ энергоэффективности Python-кода, сгенерированного 6 различными LLMs, используя 4 различных техники подачи запросов. Для сравнения были использованы 363 решения 9 разных задач из задачных наборов EvoEval. Эти решения были сравнивались с ручными решениями, разработанными разработчиками, а также с кодом, созданным экспертом в области эко-программирования. Энергопотребление измерялось на трех различных оборудованиях: сервере, персональном компьютере и Raspberry Pi, что привело к использованию около 881 часов (36.7 дней) вычислительных ресурсов. #### Результаты Результаты показали, что ручные решения энергоэффективнее LLMs-генерируемого кода на 16% на сервере и 3% на Raspberry Pi. Тем не менее, на ПК, LLMs показали лучшую энергоэффективность, превосходя ручные решения на 25%. Тем не менее, энергоэффективность LLMs-кода зависит от типа задачи и характеристик оборудования. Например, лучшая энергоэффективность кода была достигнута при использовании конкретных подходов к подаче запросов. Эксперт-разработчик, специализирующийся на эко-программировании, создал код, энергоэффективный на 17%–30% по сравнению с решениями LLMs на всех устройствах. #### Значимость LLMs демонстрируют достаточно высокую эффективность в генерировании кода, но ни одно решение не превосходит ручной разработки, особенно в сфере энергоэффективности. Это говорит о необходимости сочетания технологий и экспертного знания для создания энергоэффективных программ. Исследование также открывает пути для дальнейшего исследования в области энергоэффективного кода, в том числе исследования методов повышения энергоэффективности LLMs-кода и создания новых моделей, которые были бы более эффективными в этом направлении. #### Выводы LLMs показали свою способность генерировать код, но не могут еще заменить человеческую экспертизу в разработке энергоэффективных решений. Эксперт-разработчик, специализирующийся на эко-программировании, превосходил LLMs на всех платформах. Таким образом, требуется продолжительная работа над улучшением LLMs для более широко
Annotation:
Context. The rise of Large Language Models (LLMs) has led to their widespread adoption in development pipelines. Goal. We empirically assess the energy efficiency of Python code generated by LLMs against human-written code and code developed by a Green software expert. Method. We test 363 solutions to 9 coding problems from the EvoEval benchmark using 6 widespread LLMs with 4 prompting techniques, and comparing them to human-developed solutions. Energy consumption is measured on three different ...
ID: 2509.10099v1 cs.SE, cs.AI
Авторы:

K. Pronk, Q. Zhao

#### Контекст Большие языковые модели (LLMs) становятся все более популярными в различных областях, но их развёртывание и эксплуатация требуют огромных энергоресурсов, что сказывается на климате. Энергоемкость этих моделей ограничивает их применение, особенно в сценариях, требующих высокой энергоэффективности. Изучение энергоэффективности LLMs важно для разработчиков, которые используют эти модели в своих продуктах. Несмотря на то, что существуют существующие бенчмарки, они часто не соответствуют реальным условиям работы моделей в производственных условиях. #### Метод Чтобы оценить энергоэффективность LLMs, предложен LLM Efficiency Benchmark, который имитирует реальные условия использования. Для этого использована платформа vLLM — высокопроизводительная и оптимизированная система для развёртывания и обслуживания LLMs. Бенчмарк оценивает энергозатраты при различных моделях, архитектурах и нагрузках в реальных условиях. Он сосредоточен на измерении энергоэффективности в зависимости от размера модели, архитектуры, числа параллельных запросов и оптимизаций. #### Результаты На основе испытаний с различными моделями и конфигурациями было проведено подробное энергоэффективность. Нашлись отклонения в энергопотреблении моделей в зависимости от их архитектуры и размера. Также было показано, что влияние параллельных запросов на энергоресурсы может быть значительным. Выявлены оптимальные конфигурации моделей, которые обеспечивают лучшую энергоэффективность при работе в реальных условиях. #### Значимость Результаты могут быть применены в области разработки энергоэффективных языковых моделей и сервисов, позволяя разработчикам выбирать модели с лучшей энергоэффективностью. Данный подход может способствовать созданию более экологичных и энергосберегающих систем AI. Бенчмарк предоставляет возможность для разработчиков создавать модели, которые будут энергоэффективнее и стремятся к улучшению энергосбережения в сфере AI. #### Выводы Созданный LLM Efficiency Benchmark демонстрирует возможность создания более реалистичных инструментов для оценки энергоэффективности LLMs. Будущие исследования будут сфокусированы на расширении бенчмарка, включая учёт других факторов, таких как сетевые задержки, эффект многопоточности и многозадачности. Это может привести к ещё более строгой оценке энергоэффективности LLMs и к повышению уровня энергосбережения в их развёртывании.
Annotation:
The prevalence of Large Language Models (LLMs) is having an growing impact on the climate due to the substantial energy required for their deployment and use. To create awareness for developers who are implementing LLMs in their products, there is a strong need to collect more information about the energy efficiency of LLMs. While existing research has evaluated the energy efficiency of various models, these benchmarks often fall short of representing realistic production scenarios. In this pape...
ID: 2509.08867v1 cs.SE, cs.AI, 68T01, I.2.7
Авторы:

Doha Nam, Taehyoun Kim, Duksan Ryu, Jongmoon Baik

## Контекст Just-in-Time software defect prediction (JIT-SDP) является критическим инструментом для определения рисков при изменениях кода в процессе кодового ревью и непрерывной интеграции. Однако существующие данные для JIT-SDP часто страдают от шума в метках и низкой точности в определении изменений, вызывающих ошибки. Это приводит к ограниченной надёжности и ограниченным возможностям для анализа. Мы предлагаем ReDef (Revert-based Defect dataset), высоконадёжную б BENCHMARK из функциональных изменений, полученную из 22 больших проектов на языках C/C++. Референтные изменения определяются через revert commits, а чистые изменения проверяются с помощью пост-hoc истории изменений. Намеренно исключаются неоднозначные случаи с помощью процесса триажа, включающего ГПТ-асистированные опросы и аудит. Таким образом, мы получаем 3,164 изменений с ошибками и 10,268 чистых изменений, что даёт гораздо надёжнейшие метки, нежели ранее существовавшие ресурсы. Это даёт возможность значительно улучшить качество данных для JIT-SDP. ## Метод Мы определили референтные изменения, используя revert commits и проверки на историю изменений, что позволило улучшить качество меток. Для тестирования затем использовались пять стратегий ввода, а также пять стратегий для проверки отрицательных изменений. Мы провели проверки здесь: 1) Различные входные форматы (Продолжение)
Annotation:
Just-in-Time software defect prediction (JIT-SDP) plays a critical role in prioritizing risky code changes during code review and continuous integration. However, existing datasets often suffer from noisy labels and low precision in identifying bug-inducing commits. To address this, we present ReDef (Revert-based Defect dataset), a high-confidence benchmark of function-level modifications curated from 22 large-scale C/C++ projects. Defective cases are anchored by revert commits, while clean case...
ID: 2509.09192v1 cs.SE, cs.AI
Авторы:

Ayelet Berzack, Guy Katz

## Контекст Large Language Models (LLMs) стали незаменимыми инструментами для разработчиков программного обеспечения, помогая имитировать участие человека в создании программного кода. Однако, несмотря на их выгоды, LLMs могут вводить серьезные ошибки, выдавая неверный код с высоким уровнем уверенности. Это может мишенить разработчиков и привести к использованию недостатнного решения. В этой работе, мы рассматриваем возможность интеграции LLMs с Scenario-Based Programming (SBP) -- подходом, ориентированным на создание программных решений с помощью сценариев и событий. Наша цель -- создать методологию, которая позволит повысить надежность программ, используя LLMs в сочетании с традиционными приемами программирования. ## Метод Мы предлагаем интегрировать LLMs с SBP, позволяя разработчикам внедрять свой опыт в LLMs. Это позволит проверять и визуализировать выходные данные LLMs, улучшая надежность программ. Наш подход включает в себя сценарий-ориентированный подход, где LLMs используются как специализированные помощники, а разработчики могут управлять их поведением и проверять результаты. Мы также полагаемся на структурированную архитектуру SBP, которая помогает разделить задачи на меньшие, более управляемые этапы. ## Результаты Мы провести совершенно новую систему, которая использует LLMs для создания сценариев и SBP для проверки и управления поведением LLM. Мы протестировали нашу систему в рамках случайного сценария -- игру Connect4. Наше решение позволило создать сильного агента, который мог проигрывать существующим профессиональным агентам. Мы также доказали возможность формального верификации поведения агента, что демонстрирует надежность нашего подхода. ## Значимость Предложенная система может относиться к различным сферам, включая игровое программирование, автоматизацию процедур разработки и поддержки разработчиков. Наш подход демонстрирует следующие преимущества: повышение надежности, упрощение разработки, улучшение возможностей проверки и визуализации. Мы считаем, что наш подход может существенно повлиять на развитие систем, которые сочетают ЛС и традиционные методы программирования. ## Выводы Мы показали, что интеграция LLMs с SBP может стать мощным инструментом для улучшения надежности программного обеспечения. Наши результаты открывают новые пути для будущих исследований в области интеграции ЛС и традиционных подходов в программировании. Мы планируем расширить нашу систему для работы с более сложными задачами и типами программ.
Annotation:
Large Language Models (LLMs) are fast becoming indispensable tools for software developers, assisting or even partnering with them in crafting complex programs. The advantages are evident -- LLMs can significantly reduce development time, generate well-organized and comprehensible code, and occasionally suggest innovative ideas that developers might not conceive on their own. However, despite their strengths, LLMs will often introduce significant errors and present incorrect code with persuasive...
ID: 2509.09194v1 cs.SE, cs.AI, 68N19
Авторы:

Jielin Qiu, Zuxin Liu, Zhiwei Liu, Rithesh Murthy, Jianguo Zhang, Haolin Chen, Shiyu Wang, Ming Zhu, Liangwei Yang, Juntao Tan, Zhepeng Cen, Cheng Qian, Shelby Heinecke, Weiran Yao, Silvio Savarese, Caiming Xiong, Huan Wang

## Контекст Современные языковые модели с пониманием контекста (LLMs) показали свою эффективность во многих областях, в том числе и в программировании. Однако, несмотря на их продвижение, остаются существенные проблемы в понимании программного кода на больших контекстах, особенно при выполнении задач, требующих анализа всей системы программного обеспечения. Из-за этого, текущие модели часто не способны обеспечить качественное решение задач, которые требуют понимания больших кодовых баз. Таким образом, возникает необходимость в создании бенчмарка, который бы позволил эффективно оценивать лингвистические модели для работы с такими сложными задачами. ## Метод LoCoBench — это новый бенчмарк, разработанный для оценки лингвистических моделей с поддержкой больших контекстов в средах сложного программного обеспечения. Он предлагает 8 000 сценариев для оценки, охватывающих 10 языков программирования, с длинами контекста от 10 000 до 1 000 000 токенов. Это значительное разнообразие в контексте позволяет оценивать производительность моделей в разных условиях. Бенчмарк охватывает восемь задач, включая архитектурное понимание, разработку с кросс-файловыми изменениями, расследование ошибок, рефакторинг и безопасность. Основной мотивацией является повышение точности оценки моделей в реальных условиях разработки программного обеспечения, где понимание больших кодовых баз имеет ключевое значение. ## Результаты В ходе экспериментов были протестированы несколько современных моделей с поддержкой больших контекстов. Это позволило продемонстрировать значительные различия в их поведении на задачах, требующих понимания больших кодовых баз. Например, модели с меньшим контекстом показали значительную ухудшение качества в случае задач, требующих анализа всей системы. Бенчмарк позволил оценить не только ошибки, но и динамику поведения моделей в задачах, требующих длительного взаимодействия с кодом. Эти результаты подтвердили, что текущие модели до сих пор имеют существенные проблемы с оценкой контекста на большом масштабе. ## Значимость LoCoBench предоставляет новые возможности для точной оценки моделей в сложных сценариях программного обеспечения. Его можно применять в сфере разработки инструментов для кодирования, анализа безопасности и рефакторинга. Бенчмарк также предоставляет новый подход для изучения проблем в понимании языка программирования на больших масштабах. Это может привести к развитию новых моделей и алгоритмов, которые будут более эффективно работать в таких контекстах. Исследования показали, что текущие модели имеют значительные
Annotation:
The emergence of long-context language models with context windows extending to millions of tokens has created new opportunities for sophisticated code understanding and software development evaluation. We propose LoCoBench, a comprehensive benchmark specifically designed to evaluate long-context LLMs in realistic, complex software development scenarios. Unlike existing code evaluation benchmarks that focus on single-function completion or short-context tasks, LoCoBench addresses the critical ev...
ID: 2509.09614v1 cs.SE, cs.AI
Авторы:

Felix Mächtle, Nils Loose, Jan-Niclas Serr, Jonas Sander, Thomas Eisenbarth

#### Контекст Symbolic execution является важной техникой для проверки программ, позволяющей изучать различные пути выполнения программы, используя символьные значения в качестве входных данных. Однако, эта техника сталкивается с ограничениями при столкновении с внешними функциями, такими как собственные методы или библиотеки, которые не входят в базовую программу. Традиционные методы прибегают к дополнительному контексту, дорогостоящим SMT-решателям или ручным вмешательствам, чтобы описать эти функции с помощью символьных макетов. Это создает проблемы в ситуациях, когда требуется автоматизированный подход для обхода этих ограничений. Мы предлагаем новую методику, которая автоматически генерирует символьные макеты для внешних функций во время символьного выполнения, используя генетическое программирование. #### Метод Метод AutoStub включает в себя несколько основных этапов. Когда символьный выполнятель сталкивается с внешней функцией, AutoStub начинает генерировать тренировочные данные, выполняя функцию на случайно сгенерированных входных значениях и записывая результаты. Затем, генетическое программирование использует эти данные для вывода выражений, которые приближаются к поведению функции. Эти выражения являются символьными макетами, которые могут быть использованы в символьном выполнении, не требуя дополнительных усилий от человека. Этот подход позволяет улучшить процесс тестирования, обойдя ограничения, связанные с внешними функциями. #### Результаты Мы провели ряд экспериментов, используя различные программные системы, чтобы оценить эффективность AutoStub. Наши результаты показали, что метод способен аппроксимировать внешние функции с точностью более 90% для 55% оценок, и может выявлять специфичные для языка функции, которые могут вызывать серьезные ошибки во время тестирования. Помимо этого, мы проверили, насколько эти символьные макеты позволяют расширить область программных путей для тестирования и повысить точность выявления ошибок. #### Значимость AutoStub может быть применен в различных сферах, где требуется автоматизированное тестирование программного обеспечения, включая безопасность, проверку соответствия стандартам и отладку. Основное преимущество заключается в том, что он упрощает процесс тестирования, уменьшая необходимость вручную создавать макеты, что может быть очень времязатратным и неточным. Этот подход также может обнаруживать скрытые ошибки и edge cases, которые в противном случае оставались бы незамеченными. Мы предлагаем, что развитие таких автоматизированных методов может привести к значительным улучшениям
Annotation:
Symbolic execution is a powerful technique for software testing, but suffers from limitations when encountering external functions, such as native methods or third-party libraries. Existing solutions often require additional context, expensive SMT solvers, or manual intervention to approximate these functions through symbolic stubs. In this work, we propose a novel approach to automatically generate symbolic stubs for external functions during symbolic execution that leverages Genetic Programmin...
ID: 2509.08524v1 cs.SE, cs.AI, cs.CR
Авторы:

Mikel Robredo, Matteo Esposito, Fabio Palomba, Rafael Peñaloza, Valentina Lenarduzzi

## Контекст Refactoring — процесс улучшения кода без изменения его внешнего поведения — является важной практикой для повышения качества программного обеспечения. Однако его применение связано с высокими затратами времени и ресурсов. Одним из основных вопросов является понимание, почему разработчики проводят refactoring, и какие метрики могут быть эффективными для оценки этих мотиваций. Это понимание может помочь улучшить использование refactoring в практических задачах и сделать его более эффективным. ## Метод Для исследования мотиваций разработчиков во время refactoring был проведен широкомасштабный анализ данных версий управления кодом с использованием Large Language Models (LLMs). Эти модели использовались для определения основных причин refactoring, а результаты были сравнены с мотивациями, предлагаемыми в современной литературе. Также были использованы различные метрики, отражающие качество кода и его читаемость, для оценки их влияния на мотивации. ## Результаты LLMs показали высокую точность в 80% случаев, согласовываясь с мотивациями, известными из литературы в 47% случаев. Они также добавили детальные пояснения к 22% мотиваций, основываясь на сигнатах, версиях, комментариях и других данных из version control. Основные мотивации включали в себя упрощение кода, повышение читаемости и улучшение структуры. Однако метрики, отражающие качество кода и читаемость, показали слабую корреляцию с мотивациями разработчиков. ## Значимость Полученные результаты могут быть применены в различных областях, таких как анализ качества кода, автоматизированные инструменты для поддержки refactoring и системы мониторинга. Использование LLMs для понимания мотиваций может улучшить возможности для решения проблем принятия решений в коде. Более того, LLM-driven гибридные подходы, сочетающие статистические метрики и локализованные пояснения, могут помочь более систематично оптимизировать refactoring и выравнивать короткосрочные улучшения с длительными целями архитектуры. ## Выводы Результаты исследования показали, что LLM-based модели эффективно идентифицируют мотивации на уровне синтаксиса и семантики кода, но сталкиваются с трудностями при понимании архитектурных мотиваций. Будущие исследования будут сконцентрированы на улучшении моделей для повышения точности в архитектурных задачах и на интеграции LLMs с кодовыми метриками для создания более сильных инструментов для принятия рефакторинг-решений.
Annotation:
Context. Code refactoring improves software quality without changing external behavior. Despite its advantages, its benefits are hindered by the considerable cost of time, resources, and continuous effort it demands. Aim. Understanding why developers refactor, and which metrics capture these motivations, may support wider and more effective use of refactoring in practice. Method. We performed a large-scale empirical study to analyze developers refactoring activity, leveraging Large Language Mode...
ID: 2509.07763v1 cs.SE, cs.AI, cs.PL
Показано 251 - 260 из 341 записей