Diffusion is a code repair operator and generator
2508.11110v1
cs.SE, cs.AI, cs.CL
2025-08-19
Авторы:
Mukul Singh, Gust Verbruggen, Vu Le, Sumit Gulwani
Резюме на русском
Оглавление:
## Контекст
Код формируется как результат процесса, в котором разработчики решают проблемы, обращаются к документации и опыту, а также вносят ручные исправления. Однако возникает проблема: некоторые программы, особенно те, которые используются в бизнесе, недоработаны или повреждены. Эти недоработки могут привести к ошибкам или неполадкам в работе. Это проблема становится все актуальнее, если учитывать, что кроме реализации функциональности программы, разработчики должны учитывать безопасность, удобство и совместимость. Для решения этой проблемы в статье предлагается использовать diffusion model – модель, которая используется для генерации кода и выполнения операций по его модификации.
## Метод
В статье предлагается использовать diffusion model, который генерирует код путем последовательного удаления шума из его закодированной представления. Этот процесс может быть использован для последнего этапа ремонта кода: когда наблюдаются малые изменения, которые могут исправить ошибки или недоработки. Для этого модель добавляет шум к неполному коду, а затем продолжает процесс генерации, пока код не будет исправлен. Кроме того, модель может использоваться для синтеза данных для последних этапов ремонта кода. В процессе генерации, модель может производить промежуточные программы, которые могут быть использованы для обучения моделей, выполняющих последние этапы ремонта кода. Это позволяет эффективно использовать ресурсы и сократить время обучения.
## Результаты
В ходе исследования проводятся эксперименты на трех языках программирования: Python, Excel и PowerShell. Модель diffusion model используется для двух применений: код-ремонта и создания данных для обучения. Результаты показывают, что модель в состоянии исправить значительную часть недоработок в коде. Также она может сгенерировать данные для обучения моделей, которые используются для последнего этапа ремонта. Это делает процесс ремонта кода более эффективным и быстрым. Благодаря этому, модель может быть применена в различных сферах, где необходимо быстро и эффективно решать проблемы в коде.
## Значимость
Результаты исследования показывают, что diffusion model может использоваться для решения сложной проблемы в области кодового ремонта. Эта модель имеет большой потенциал в различных сферах, где необходимо быстро и эффективно исправлять код. Это может быть применено в разработке программного обеспечения, в ИТ-отделах компаний, в сфере бизнес-приложений и многих других. Кроме того, модель позволяет эффективно использовать ресурсы, что делает процесс ремонта более удобным и быстрым. Это может привести к улучшению качества программного обеспечения и уменьшению времени, затрачива
Abstract
Code diffusion models generate code by iteratively removing noise from the
latent representation of a code snippet. During later steps of the diffusion
process, when the code snippet has almost converged, differences between
discrete representations of these snippets look like last-mile repairs applied
to broken or incomplete code. We evaluate the extent to which this resemblance
can be exploited to leverage pre-trained code diffusion models for the problem
of last-mile repair by considering two applications with significant potential.
First, we can leverage the diffusion model for last-mile repair by adding noise
to a broken code snippet and resuming the diffusion process. Second, we can
leverage the diffusion model to generate arbitrary amount of training data for
last-mile repair tasks (that are computationally more efficient) by sampling an
intermediate program (input) and the final program (output) from the diffusion
process. We perform experiments on 3 domains (Python, Excel and PowerShell) to
evaluate applications, as well as analyze properties.
Ссылки и действия
Дополнительные ресурсы: