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.

Ссылки и действия