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

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

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

Wanni Vidulige Ishan Perera, Xing Liu, Fan liang, Junyi Zhang

## Контекст Современное развитие искусственного интеллекта (AI) и больших языковых моделей (LLMs) внесло значительные изменения в области кибербезопасности, особенно в автоматизации процессов эксплуатации уязвимостей и проведении пентестинга. Одной из ключевых областей применения является автоматизация тестирования и эксплуатации мобильных устройств, в частности, Android-устройств. Несмотря на значительные преимущества, такие как эффективность и уменьшение времени, связанного с проведением ручных тестов, технологии AI не являются идеальными и требуют осторожного применения. Новая статья изучает потенциал AI-powered penetration testing, в частности, с помощью LLM-based tool PentestGPT, который используется для автоматизации тестирования Android-устройств. ## Метод Работа исследования включает в себя два ключевых этапа: автоматизацию тестирования и сравнение с результатами ручного тестирования. Для эмуляции Android-устройств использовался Genymotion, что позволило создать устойчивую среду для экспериментов. Изначально было проведено ручное тестирование для идентификации уязвимостей и построения нормативных данных для сравнения. Затем, с помощью PentestGPT, были сгенерированы скрипты, автоматизировав процесс эксплуатации уязвимостей. Для упрощения интеграции LLM-based tools и их доступности для пользователей была разработана веб-приложение, интегрирующее OpenAI API. Это приложение позволяет автоматически генерировать скрипты на основе выводов LLMs. Тестируемые методы были сравнины по ключевым показателям, таким как эффективность, надежность и масштабируемость. ## Результаты Исследование продемонстрировало, что AI-powered pentesting может значительно ускорить процесс идентификации уязвимости и сократить время проведения тестирования. Однако, результаты также показали, что LLM может сделать ошибки в построении уязвимостей, которые могут привести к неточности результатов. Использование веб-приложения, основанного на OpenAI API, доказало значительные преимущества в упрощении генерации скриптов, но также подчеркнуло важность ручного контроля. Например, ручное тестирование показало более точные результаты в некоторых сложных сценариях, где LLM пропустил мелкие, но критичные детали. ## Значимость Полученные результаты имеют большое значение для области кибербезопасности, особенно в сфере тестирования и эксплуатации мобильных устройств. AI-powered pentesting может использоваться для быстрого определения уязвимостей и автоматизации процессов, что повышает эффективность и экономит время. Однако, необходимо учитывать риски, связанные с ошибками AI, в том числе и в сфере морального применения. Эта работа может с
Annotation:
The rapid evolution of Artificial Intelligence (AI) and Large Language Models (LLMs) has opened up new opportunities in the area of cybersecurity, especially in the exploitation automation landscape and penetration testing. This study explores Android penetration testing automation using LLM-based tools, especially PentestGPT, to identify and execute rooting techniques. Through a comparison of the traditional manual rooting process and exploitation methods produced using AI, this study evaluates...
ID: 2509.07933v1 cs.SE, cs.AI
Авторы:

Ahmed E. Hassan, Hao Li, Dayi Lin, Bram Adams, Tse-Hsun Chen, Yutaro Kashiwa, Dong Qiu

#### Контекст Agentic Software Engineering (SE 3.0) — это новая эра, в которой интеллектуальные агенты не выполняют простые задачи, такие как генерация кода, но решают комплексные целевые задачи в области программного обеспечения. Эта новая модель требует учета двусторонней природы SE: SE для людей и SE для агентов. Эта двойственность влечет за собой глубокую реинтерпретацию основных элементов SE: акторов, процессов, инструментов и продуктов, которые принимают разные характеристики в каждой модели. Для створения этой новой модели необходим реконструктивный подход к SE, чтобы сохранить ее развитие в условиях самообучающихся и интеллектуальных агентов. #### Метод Методология Agentic SE основывается на двух центральных элементах: Agent Command Environment (ACE) и Agent Execution Environment (AEE). ACE представляет собой командный центр, где люди координируют и советуют агентские команды, обрабатывая результаты в виде Merge-Readiness Packs (MRPs) и Consultation Request Packs (CRPs). AEE — это цифровое пространство, где агенты выполняют задачи, активно привлекая людей при неоднозначности или сложных торговых-оффертах. Это двунаправленное взаимодействие, включающее обратные вызовы и руководство агентами, влечет за собой новые структурированные шаги в процессе SE, которые преобразуют коллебания между человеком и искусственным интеллектом в действительность структурированного труда. #### Результаты В экспериментах использовались различные сценарии, включая ситуации, когда агентские кадры должны решать задачи, насыщенные неоднозначностью. Данные были собраны из реальных проектов разработки программного обеспечения, включая истории изменений и репозитории кода. Результаты показали, что Agentic SE позволяет увеличить эффективность и точность работы, а также обеспечить более устойчивый процесс принятия решений. Новые рабочие процессы, введенные в рамках Agentic SE, демонстрируют более высокий уровень управления и направленности, чем традиционные подходы. #### Значимость Agentic SE имеет многочисленные области применения, включая автоматизацию сложных задач, улучшение качества продуктов, уменьшение нагрузки на разработчиков и повышение безопасности программного обеспечения. Одним из преимуществ является увеличение уровня конфиденциальности и достоверности решений, полученных с привлечением интеллектуальных агентов. Его потенциал заключается в преобразующем влиянии на рынок программного обеспечения, позволяя объединить людей и агенты в систему, где каждый содействует развитию. #### Выводы Основные достижения Agentic SE заключаются в развитии современной модели работы в SE, включающей динамическое взаимодействие человека с искусственным
Annotation:
Agentic Software Engineering (SE 3.0) represents a new era where intelligent agents are tasked not with simple code generation, but with achieving complex, goal-oriented SE objectives. To harness these new capabilities while ensuring trustworthiness, we must recognize a fundamental duality within the SE field in the Agentic SE era, comprising two symbiotic modalities: SE for Humans and SE for Agents. This duality demands a radical reimagining of the foundational pillars of SE (actors, processes,...
ID: 2509.06216v1 cs.SE, cs.AI
Авторы:

Jingjing Liu, Zeming Liu, Zihao Cheng, Mengliang He, Xiaoming Shi, Yuhang Guo, Xiangrong Zhu, Yuanfang Guo, Yunhong Wang, Haifeng Wang

## Контекст Large Language Models (LLMs) значительно улучшили свои возможности в области кодовой отладки, особенно в автоматическом исправлении программных ошибок, что может значительно снизить время, потраченное разработчиками на данную задачу, и улучшить их эффективность. Однако, существующие датасеты для отладки кода сконцентрированы на функциональном уровне и не учитывают более сложные и реалистичные репозиторий-уровневые сценарии, что порождает неполное понимание проблем, с которыми LLMs сталкиваются при отладке репозиториев. Многие репозиторий-уровневые датасеты также ограничены в разнообразии задач, языков программирования и типов ошибок. Данная работа предлагает RepoDebug — набор данных репозиторий-уровневой отладки, охватывающий 22 вида ошибок, 8 языков программирования и 3 типа отладочных задач. ## Метод RepoDebug использует репозиторий-уровневую модель отладки, охватывающую 22 видов ошибок, 8 языков программирования и 3 типа отладочных задач. Набор данных построен таким образом, чтобы охватить широкий спектр сценариев отладки, которые часто встречаются в реальной разработке. Он включает в себя три типа отладки: точечное исправление, локализацию ошибок, и оптимизацию кода. Эти задачи были определены таким образом, чтобы полностью имитировать реальные условия отладки в репозитории. ## Результаты Эксперименты проводились на 10 различных LLM, включая Claude 3.5. Оценка производительности показала, что хотя Claude 3.5 обеспечил наилучший результат среди LLMs в репозиторий-уровневой отладке, он все еще сталкивается с значительными проблемами в решении реалистичных задач debugging. Однако наилучшие результаты получены на задачах локализации ошибок и простых видах точечного исправления. ## Значимость RepoDebug может стать важной ресурсом для повышения качества и эффективности отладки LLMs, а также для широкого спектра применений в крупномасштабной программной разработке. Он предоставляет уникальное решение для преодоления текущих ограничений в существующих датасетах, обеспечивая более реалистичные и разнообразные сценарии отладки. ## Выводы Итоги исследований подтверждают, что хотя Claude 3.5 оказался лучшей LLM в репозиторий-уровневой отладке, он все же сталкивается с значительными проблемами в решении реальных задач. Будущие исследования будут ориентированы на улучшение LLM в реалистичных, многозадачных сценариях отладки, чтобы повысить их эффективность в реальных условиях разработки.
Annotation:
Large Language Models (LLMs) have exhibited significant proficiency in code debugging, especially in automatic program repair, which may substantially reduce the time consumption of developers and enhance their efficiency. Significant advancements in debugging datasets have been made to promote the development of code debugging. However, these datasets primarily focus on assessing the LLM's function-level code repair capabilities, neglecting the more complex and realistic repository-level scenar...
ID: 2509.04078v2 cs.SE, cs.AI
Авторы:

Denesa Zyberaj, Lukasz Mazur, Nenad Petrovic, Pankhuri Verma, Pascal Hirmer, Dirk Slama, Xiangwei Cheng, Alois Knoll

## Контекст В последние годы автомобильная отрасль перешла на модель Software-Defined Vehicles (SDV), где программное обеспечение стало ключевым компонентом функционирования автомобилей. Это привело к повышению требований к качеству и быстродействию тестирования программных систем в автомобилях. Традиционные методы ручного сложного тестирования не подходят для быстрого прототипирования и адаптации, необходимых для SDV. Использование генерируемых с помощью генеративных AI (GenAI) тестовых случаев может существенно ускорить процесс, но требует эффективной интеграции существующих моделей и систем тестирования. Наша мотивация заключается в разработке системы, которая автоматически генерирует и выполняет тестовые случаи с помощью GenAI, обеспечивая быстрый, точный и унифицированный подход к тестированию в SDV-условиях. ## Метод Мы предлагаем GenAI-ориентированный подход к генерации и выполнению тестовых случаев, основанный на Large Language Models (LLMs) и Vision-Language Models (VLMs). Эти модели анализируют естественный язык и системные диаграммы, преобразуя их в структурированные тестовые случаи в формате Gherkin. Мы также используем Vehicle Signal Specification (VSS) для стандартизации определений сигналов вагона, что повышает совместимость с различными автомобильными системами и сторонними инструментами тестирования. Фреймворк включает в себя среду Digital.auto Playground для моделирования и выполнения тестов. Эта среда обеспечивает открытую и независимую платформу для быстрого тестирования и валидации SDV-функций. ## Результаты Мы проверили наш подход на сценарии Child Presence Detection System (CPDS). Использование GenAI уменьшило время на ручное создание тестовых случаев в 4 раза по сравнению с традиционными методами. Тестовые случаи были быстро выполнены в Digital.auto Playground, что позволило ускорить процесс валидации. Однако мы столкнулись с ограничениями GenAI, которые требуют дополнительного ручного вмешательства, особенно при работе с нестандартными сценариями. Несмотря на это, результаты показывают значительное повышение эффективности и точности в тестировании. ## Значимость Наш подход может быть применен в различных областях, таких как автоматизированное тестирование в автомобильных системах, проверка систем безопасности и удобства, а также в адаптацию тестирования к быстро меняющимся требованиям SDV. Основное преимущество заключается в экономии времени и усилении точности в тестировании. Мы видим будущие направления для улучшения GenAI-систем, включая улучшение точности преобразования естественного языка в структурированные тестовые случаи и расширение поддержки сложных сценариев.
Annotation:
This paper introduces a GenAI-driven approach for automated test case generation, leveraging Large Language Models and Vision-Language Models to translate natural language requirements and system diagrams into structured Gherkin test cases. The methodology integrates Vehicle Signal Specification modeling to standardize vehicle signal definitions, improve compatibility across automotive subsystems, and streamline integration with third-party testing tools. Generated test cases are executed within...
ID: 2509.05112v1 cs.SE, cs.AI
Авторы:

Naimeng Ye, Xiao Yu, Ruize Xu, Tianyi Peng, Zhou Yu

## Контекст Область исследования — автоматизированное тестирование веб-сайтов, которое является ключевым для обеспечения качества пользовательского опыта и доставки бизнес-ценности. Существующие подходы, ориентированные на код и нагрузку, часто не удаляются в поиске неисправностей, которые могут влиять на пользовательский опыт. Особенно затруднено представление сложных пользовательских поведений. В этом контексте возникает необходимость в инновационных решениях, которые бы предлагали более полное понимание и эффективную оценку веб-сайтов. Мотивация заключается в использовании новых технологий, таких как бо LLM и AI агенты, для создания тестового фреймворка, который мог бы ближе подходить к реальным пользовательским интерфейсам. ## Метод WebProber — это прототип фреймворка для агентно-ориентированного тестирования веб-сайтов, основанного на LLM и AI агентах. Он позволяет автоматически исследовать веб-сайт, действуя как реальный пользователь, и искать баги и проблемы пользовательского опыта. AI-агент анализирует структуру сайта и моделирует поведение пользователя, включая навигацию, ввод данных и нажатия на кнопки. Также, WebProber создает подробный журнал о найденных проблемах, таких как недоступность, неквалифицированные элементы интерфейса и другие. Архитектура фреймворка включает модули для исследования, отчетности и управления тестовыми процессами. Использование LLM позволяет WebProber генерировать сообщения в понятной для людей форме, что упрощает интерпретацию результатов тестирования. ## Результаты В ходе эксперимента, проводившегося на 120 ученых веб-страницах, WebProber открыл 29 проблем с пользовательским опытом, которые не были обнаружены другими инструментами. Например, были выявлены проблемы с навигацией, недоступностью элементов интерфейса, и несоответствием веб-страниц требованиям W3C. Кроме того, WebProber демонстрирует значительно более высокую скорость выполнения тестов по сравнению с традиционными подходами. Эти результаты подтверждают значимость использования AI-агентов для улучшения качества веб-тестирования. ## Значимость Полученные результаты показывают, что AI-агенты могут стать важной частью стратегии тестирования веб-приложений. Их преимущества включают в себя увеличение полноты оценки, улучшение качества отчетов и повышение эффективности. Эти средства могут использоваться в различных сферах, включая интернет-магазины, учебные платформы и даже государственные веб-ресурсы. Будущие исследования будут направлены на улучшение моделей поведения, увелич
Annotation:
Automated web testing plays a critical role in ensuring high-quality user experiences and delivering business value. Traditional approaches primarily focus on code coverage and load testing, but often fall short of capturing complex user behaviors, leaving many usability issues undetected. The emergence of large language models (LLM) and AI agents opens new possibilities for web testing by enabling human-like interaction with websites and a general awareness of common usability problems. In this...
ID: 2509.05197v1 cs.SE, cs.AI, cs.HC
Авторы:

Jingjing Liu, Zeming Liu, Zihao Cheng, Mengliang He, Xiaoming Shi, Yuhang Guo, Xiangrong Zhu, Yuanfang Guo, Yunhong Wang, Haifeng Wang

## Контекст Large Language Models (LLMs) показали сильную способность решать задачи типа код-диагностики и автоматического ремонта программного кода. Это существенно снижает время, затрачиваемое разработчиками на отладку, и повышает их производительность. Однако большая часть существующих датасетов для оценки этих моделей сосредоточена на функциональном уровне (function-level), что не дает полного представления о сложностях, с которыми LLMs сталкиваются при отладке на уровне репозиториев (repository-level). Несмотря на то, что некоторые датасеты репозиторий-уровня были предложены, они часто имеют ограниченную разнообразность задач, языков и типов ошибок. Это ограничение неадекватно отражает сложности реальных процессов отладки. Для решения этой проблемы, предлагается **RepoDebug** — новый датасет, который охватывает множество задач и языков программирования, а также имитирует реальные сценарии отладки на репозиторий-уровне. ## Метод RepoDebug — это датасет, предназначенный для оценки LLMs в трех основных типах задач отладки на уровне репозиториев: **code repair** (ремонт кода), **bug localization** (локализация ошибок) и **code completion** (завершение кода). Он содержит 22 типа ошибок, распространенных в реальных проектах, и поддерживает 8 языков программирования, включая Python, Java, C++ и другие. Каждая задача включает в себя набор тестовых сценариев с подробными метками, что позволяет оценивать точность решений LLMs в разных сценариях. Таким образом, RepoDebug представляет собой широко измерительную платформу для поиска решений на более сложном уровне отладки. ## Результаты На RepoDebug были проведены эксперименты с 10 LLMs, включая одну из самых современных моделей — Claude 3.5. Эксперименты показали, что даже такая мощная модель не смогла достичь высокой точности при решении задач на репозиторий-уровне. Наилучшая модель показала себя значительно хуже в сравнении с результатами на функциональном уровне. Это отражает не только сложности репозиторий-уровня, но и недостаточность нынешних технических решений для эффективной отладки на таком уровне. Таким образом, результаты говорят о необходимости дальнейших исследований в этой области. ## Значимость RepoDebug имеет перспективу в области создания надежных и многофункциональных систем отладки. Он может быть применен для развития моделей, которые будут способны решать задачи на более высоком уровне, включая репозиторий-уровень. Это приведет к повышению качества систем отладки, снижению времени, затрачиваемого разработчиками, и улучшению общей эффективности разработки. Благодаря своей разнообразности задач, языков и ошибок, RepoDebug предлагает новый подход к эффективной отладк
Annotation:
Large Language Models (LLMs) have exhibited significant proficiency in code debugging, especially in automatic program repair, which may substantially reduce the time consumption of developers and enhance their efficiency. Significant advancements in debugging datasets have been made to promote the development of code debugging. However, these datasets primarily focus on assessing the LLM's function-level code repair capabilities, neglecting the more complex and realistic repository-level scenar...
ID: 2509.04078v1 cs.SE, cs.AI
Авторы:

Haowei Quan, Junjie Wang, Xinzhe Li, Terry Yue Zhuo, Xiao Chen, Xiaoning Du

## Контекст Python — одна из наиболее популярных и удобных языков программирования, чье простое синтаксисное оформление, широкий спектр применений и богатый экосистема сделали его широко распространенным в современном программном обеспечении. Однако, несмотря на все преимущества, Python-пакеты часто становятся источником безопасностных уязвимостей. Это происходит в связи с тем, что Python часто используется в сочетании с другими языками для повышения производительности или обеспечения интерапредельности. Уязвимости в Python-пакетах могут привести к серьезным проблемам в системах, где эти пакеты используются. Несмотря на то, что существуют различные инструменты для обнаружения и анализа уязвимостей, их эффективность в реальных условиях и полнота остаются неизведанными. Описываемая работа посвящена разработке PyVul — первого полномасштабного бенчмарка для обнаружения уязвимостей в Python-пакетах. PyVul включает в себя 1157 уязвимостей, подтвержденных разработчиками, и работает с разными методами обнаружения, включая метки на уровне коммитов и функций. ## Метод PyVul уже стал первым полномасштабным бенчмарком для обнаружения уязвимостей в Python-пакетах. Он включает в себя 1157 уязвимостей, подтвержденных разработчиками, и предлагает метки, которые могут использоваться для тренировки различных моделей фиксации уязвимостей. Для обеспечения точности и качества данных использовано LLM-обученное алгоритм распознавания, которое позволило достичь 100% точности на уровне коммитов и 94% на уровне функций. Бенчмарк также включает подробные анализы распределения уязвимостей в PyVul, показывая, что они могут затрагивать множество языков программирования и иметь разнообразные виды. Это показывает, что многоязычные Python-пакеты могут быть более уязвимы к уязвимостям. Из PyVul также могут быть извлечены важные выводы о состоянии существующих инструментов и путях их улучшения. ## Результаты PyVul был полностью протестирован на различных данных и сравнивался с текущими инструментами для обнаружения уязвимостей. Экспериментальные результаты показали, что существующие инструменты не всегда удается обнаруживать все виды уязвимостей, в частности те, которые затрагивают многоязычные пакеты. Обнаруженным было, что большинство существующих инструментов не удается обеспечить высокую точность на уровне функций. Однако PyVul, благодаря своему точному меткам, позволяет существенно повысить точность обнаружения уязвимостей в реальных условиях. Также был проведен анализ распределения уязвимостей в различных видах, показав, что в PyV
Annotation:
In the rapidly evolving software development landscape, Python stands out for its simplicity, versatility, and extensive ecosystem. Python packages, as units of organization, reusability, and distribution, have become a pressing concern, highlighted by the considerable number of vulnerability reports. As a scripting language, Python often cooperates with other languages for performance or interoperability. This adds complexity to the vulnerabilities inherent to Python packages, and the effective...
ID: 2509.04260v1 cs.SE, cs.AI, cs.CR
Авторы:

Yicong Zhao, Shisong Chen, Jiacheng Zhang, Zhixu Li

#### Контекст Программное обеспечение широко используется во всех сферах жизнедеятельности, но часто имеет ошибки, которые требуют исправления. Автоматическое исправление ошибок в программном коде — это важная задача, которая помогает сократить время и ресурсы, необходимые для поддержки программного обеспечения. Несмотря на развитие глубокого обучения, существующие системы для автоматического исправления ошибок в коде страдают от высоких затрат на обучение и дорогостоящих вычислений при интерпретации. Одновременно, методы с ретриев-аугментированным генерированием (RAG) показали себя как эффективная альтернатива, но их недостаток в том, что они недостаточно учитывают структуру программного кода. Мотивируясь этим, мы разрабатываем ReCode — систему, которая улучшает точность исправления ошибок в коде с помощью лучшего взаимодействия между поиском и генерацией. #### Метод ReCode представляет собой новую систему, которая использует тонкое взаимодействие во взаимодополняющихся энкодерах. Один из энкодеров оперирует с кодом, получая структуру кода, а другой — с текстовыми элементами, такими как описания проблем. Эти два механизма работают вместе, чтобы оптимизировать поиск и сравнивать входные данные с обученным контекстом. Мы также внедрили стратегию приемлемого поиска, которая использует предсказания типа алгоритма, чтобы сузить потенциальные варианты исправления. Эта стратегия позволяет уменьшить размер пространства поиска и увеличить точность нахождения подходящих решений. Модель обучается на использовании реальных задач исправления ошибок, чтобы она могла применяться в реальных условиях. #### Результаты Мы проверили ReCode на наборах данных, включая реальные задачи исправления ошибок, полученные из поведения реальных пользователей. Наши эксперименты показали, что ReCode показывает значительное улучшение в точности исправления ошибок в сравнении с другими моделями. Она смогла исправить больше ошибок с меньшими затратами на вычисления и более эффективным использованием ретриева-аугментированной генерации. Эти результаты подтверждают, что ReCode эффективна в реальных условиях и может применяться для решения реальных проблем в автоматическом исправлении ошибок в коде. #### Значимость ReCode может быть применена в различных областях, таких как разработка программного обеспечения, мобильные приложения и интернет-приложения, где необходимо быстро исправлять и улучшать код. Эта система демонстрирует значительное улучшение в сравнении с другими моделями в своей способности быстро и точно устранять ошибки. Это может существенно снизить затраты на ручное исправление ошибок и улучшить про
Annotation:
Recent advances in large language models (LLMs) have demonstrated impressive capabilities in code-related tasks, such as code generation and automated program repair. Despite their promising performance, most existing approaches for code repair suffer from high training costs or computationally expensive inference. Retrieval-augmented generation (RAG), with its efficient in-context learning paradigm, offers a more scalable alternative. However, conventional retrieval strategies, which are often ...
ID: 2509.02330v1 cs.SE, cs.AI
Авторы:

Fatih Pehlivan, Arçin Ülkü Ergüzen, Sahand Moslemi Yengejeh, Mayasah Lami, Anil Koyuncu

## Контекст Современные статические анализаторы кода сталкиваются с трудностями при обнаружении семантических ошибок в конструкциях программного обеспечения, таких как нарушения принципов SOLID. Эти нарушения требуют глубокого понимания объектно-ориентированных паттернов и принципов проектирования. На сегодняшний день, существующие методы статического анализа, как правило, ограничены в обнаружении нарушений по отдельным принципам SOLID или применяются только к конкретным языкам программирования. Это приводит к значительным ограничениям в обнаружении нарушений SOLID в многоязычных кодовых базах. Однако эта проблема является критической, так как нарушения SOLID приводят к ухудшению обслуживаемости кода, что может привести к большим затратам на его поддержание. Данное исследование направлено на разработку и оценку нового подхода, основанного на искусственных нейросетевых моделях (ансамбли), для решения этой проблемы. ## Метод Методология исследования основывается на подходе, который использует предобученные модели глубокого обучения (LLMs) для обнаружения нарушений SOLID. Авторы разработали бинарную метрику для оценки того, насколько точно модель обнаруживает нарушения каждого из пяти принципов SOLID. Для создания данных для обучения и тестирования были созданы 240 макрокодов, которые были ручной проверены на наличие нарушений SOLID. Для каждого макрокода была создана открытая тематическая модель, в которой описывалось контекстное использование кода и наличие нарушения. Для проведения экспериментов, были протестированы четыре лидирующие модели глубокого обучения: CodeLlama, DeepSeekCoder, QwenCoder и GPT-4o Mini. В качестве методов оценки использовались различные стратегии тренировки моделей, включая нулевой, несколько и заданный цепочечный подход. ## Результаты На основе проведенных экспериментов был получен ранг моделей в зависимости от точности обнаружения нарушений SOLID. Модель GPT-4o Mini показала самую высокую точность в обнаружении нарушений, однако даже она сталкивалась с трудностями при обнаружении нарушений принципа Dependency Inversion Principle (DIP). Было проверено, что стратегия тренировки моделей имеет значительное влияние на точность обнаружения нарушений. Например, стратегия ENSEMBLE была эффективна для обнаружения нарушений в OCP, в то время как стратегия EXAMPLE была более эффективна для обнаружения нарушений в DIP. Было также выявлено, что точность обнаружения нарушений сильно зависит от характеристик языка программирования и снижается с увеличением сложности кода. ## Значимость Найденные результаты имеют значительное значение для области анализа кода и обеспечения его обслуживаемости. Изученная модель может быть использована в статических анализаторах для боле
Annotation:
Traditional static analysis methods struggle to detect semantic design flaws, such as violations of the SOLID principles, which require a strong understanding of object-oriented design patterns and principles. Existing solutions typically focus on individual SOLID principles or specific programming languages, leaving a gap in the ability to detect violations across all five principles in multi-language codebases. This paper presents a new approach: a methodology that leverages tailored prompt en...
ID: 2509.03093v1 cs.SE, cs.AI
Авторы:

Nazanin Siavash, Armin Moin

## Контекст Область исследования связана с модели-на-текст/код-трансформациями, в которой широко используются Большие Лингвистические Модели (LLMs). Эти модели позволяют автоматизировать генерацию кода на основе моделей, что упрощает процесс разработки программного обеспечения и уменьшает возможные ошибки. На практике LLMs используются в различных доменах, включая генерацию гибридных и квантовых программ. Однако, работа с квантовыми системами становится сложной из-за недостатка квантовых разработчиков и хаотичности современного ландшафта квантовых платформ. Model-driven approaches могут существенно уменьшить эти проблемы, однако необходимо повысить точность и универсальность генерируемого кода. Для этого в статье предлагается использовать Retrieval-Augmented Generation (RAG) пайплайнов, которые могут использоваться в сочетании с LLMs для генерации кода из моделей UML. Работа с квантовыми системами, в частности, с помощью библиотеки Qiskit, демонстрирует возможности нового подхода. ## Метод Методология основывается на сочетании LLM-моделей с RAG-пайплайнами. Технический подход включает в себя обучение моделей с помощью специально подобранных примеров, включая информацию из GitHub-репозиториев, которые содержат практические примеры работы с Qiskit. Таким образом, модели получают знания о квантовой разработке, способах построения вычислений, и могут генерировать код с учетом контекста. Архитектура предполагает использование LLMs как основного механизма генерации, в том числе для работы с UML-моделями, которые описывают системы. Для тестирования использовался питоновский код, который использует библиотеку Qiskit для выполнения квантовых вычислений. Эта связка позволяет автоматизировать процесс генерирования кода для квантовых и гибридных систем. ## Результаты В ходе экспериментов были проверены различные варианты выдачи сведений в RAG-пайплайн. Были использованы UML-модели систем, которые были преобразованы в Python-код с помощью Qiskit. Результаты показали, что применение оптимальных приглашений (prompts) увеличивает CodeBLEU-метрику до четырех раз, что демонстрирует улучшение точности и согласованности генерируемого кода. Эта подходность продемонстрирована для генерации квантового кода, но может быть расширена на другие области, включая код-на-код трансформации, например, для транспиляции. Эксперименты показали, что добавление дополнительных сведений из базы знаний (RAG) позволяет повысить качество и производительность генерации. ## Значимость Предложенный подход может иметь значительное применение в разработке квантового и гибридного программного обеспечения, предоставляя в
Annotation:
This paper introduces a novel research direction for model-to-text/code transformations by leveraging Large Language Models (LLMs) that can be enhanced with Retrieval-Augmented Generation (RAG) pipelines. The focus is on quantum and hybrid quantum-classical software systems, where model-driven approaches can help reduce the costs and mitigate the risks associated with the heterogeneous platform landscape and lack of developers' skills. We validate one of the proposed ideas regarding generating c...
ID: 2508.21097v1 cs.SE, cs.AI
Показано 261 - 270 из 341 записей