Inspectable Control for Structure-Preserving Software Regeneration

結構保留軟體再生成的可檢視控制

運用階層式離散潛在表徵,實現可控的局部程式碼再生成。

Alexey Gavrilov1Alan-Barsag Gazzaev1Mikhail Mozikov2Ilya Makarov2Sergey Muravyov1

  1. ITMO University, Saint Petersburg, Russian Federation
  2. AXXX, Moscow, Russian Federation

閱讀 HTML 格式全文包含公式、表格、圖與參考文獻的可搜尋文字。

含最終作者名單與 DOI 的作者定稿版本。 CC BY 4.0 author manuscript; the ACM DOI page remains the version of record. 發布與重複使用條款.

30 秒掌握論文

研究問題生成模型如何修改程式中的指定部分,同時保存其粗粒度結構中選定的元素?

問題

AI 輔助程式碼修改往往只需進行一項範圍受限的變更,同時讓選定的程式結構保持固定。重新生成整個程式可能擾動無關區域,而詞元層級約束無法提供粗粒度控制介面。

方法

本研究以階層式 VQ-VAE 編碼 64 詞元的 Python 函式,鎖定選定的粗粒度離散碼,並在其餘潛在位置採用遮罩式離散生成,以局部再生成程式碼。

主要結果

鎖定四個頂層編碼使剖析率從 0.453 提升至 0.591,同時未鎖定位置仍以 0.936 的比率變更,條件樣本的唯一性則維持在 0.998。

其重要性

結果顯示,可控程式碼編輯與局部程式再生成存在可量測的穩定性—自由度權衡。這些結果為可檢視的潛在控制層提供初步證據,但不能證明語意等價或功能正確。

摘要

受約束修復、分階段精煉及結構保存修改等軟體工程工作流程,都必須能控制哪些部分改變、哪些部分維持固定。對此類操作而言,詞元層級生成並非有力的控制介面,因為它約束的是局部表層文字,而非軟體工程通常希望保留的粗粒度結構不變量。我們研究以階層式離散潛在表示作為軟體製品的可檢視中介表示:階層式 VQ-VAE 將一個含 64 個詞元的 Python 函式壓縮為粗粒度與細粒度離散碼,而遮罩式離散生成則在部分約束下,僅重新生成選定位置。針對 2,000 個經前處理的 Python 函式,鎖定四個頂層碼可將剖析率由 0.453 提升至 0.591,同時在未鎖定位置保有顯著變化(編輯自由度為 0.936),且樣本唯一性接近最高值(多樣性為 0.998)。在粗粒度脈絡固定時,較低層級的精煉效果雖較弱,卻仍呈單調變化,支持由粗至細理解此階層。總體而言,這些結果為一個實用控制層提供初步證據;該控制層可在詞元層級之上支援有界且保存結構的軟體製品再生成。

發表於 第 34 屆 ACM 軟體工程基礎國際會議論文集

貢獻類型 潛在空間控制方法

第 1406–1407 頁配套海報

DOI https://doi.org/10.1145/3803437.3807386

分享本論文分享

主要結果

「結構保持軟體重新生成的可檢視控制」主要結果
設定剖析成功率骨架簽章未鎖定的變更
輸入(已截短)0.9940.9940.994
編解碼器重建0.8570.8480.4930
無條件生成0.4530.0800.995
條件式,前綴 k=40.5910.2950.0610.936
條件式,簽章範圍0.60.3020.063未報告

主要結果。 鎖定粗粒度潛在碼可提升語法穩定性,同時保留可編輯區域的變更幅度;此結果顯示具備結構控制能力,但不保證功能等價。

資料集
取自 CodeParrot Clean 子集的 2,000 個預處理 Python 函式
樣本數
2,000 個預處理 Python 函式;條件式樣本的唯一性為 0.998。
指標
剖析成功率;骨架與簽章保存代理指標;未鎖定位置變更率;樣本獨特性與熵
不確定性
這篇兩頁研究僅報告點估計,未提供信賴區間或多個隨機種子的統計分析。
條件
64-token 函式、argmax 解碼、16 個頂層編碼與 32 個下層編碼;完全鎖定可精確還原編解碼器重建結果。

PDF 與引用資訊

引用本論文 建議使用 BibTeX 格式。下列各種格式皆由同一筆出版品紀錄產生。

開啟 PDF
@inproceedings{Gavrilov2026InspectableControl,
  title      = {Inspectable Control for Structure-Preserving Software Regeneration},
  author     = {Gavrilov, Alexey and Gazzaev, Alan-Barsag and Mozikov, Mikhail and Makarov, Ilya and Muravyov, Sergey},
  booktitle  = {Proceedings of the 34th ACM International Conference on the Foundations of Software Engineering},
  publisher  = {ACM},
  year       = {2026},
  pages      = {1406--1407},
  doi        = {10.1145/3803437.3807386},
  url        = {https://doi.org/10.1145/3803437.3807386},
  isbn       = {979-8-4007-2636-1},
}
下載 .bib

引用檔案:APA 純文字IEEE 純文字RISCSL-JSONSchema.org JSON-LDOAI-DC XMLOpenAIRE v4 XMLMODS XMLJATS 1.4 中繼資料 XML全文 JATS 1.4 XMLRDF Turtle連結集(JSON)連結集(HTTP)RO-Crate

DOI:https://doi.org/10.1145/3803437.3807386

完整指南

完整研究指南

方法

此方法將短 Python 函式壓縮為兩層離散碼,凍結選定的粗粒度位置,重新生成其餘位置後,再解碼回程式碼。

  1. 編碼

    以階層式 VQ-VAE 將一個 64 詞元的 Python 函式壓縮為 16 個頂層碼與 32 個下層碼。

  2. 鎖定

    選取能代表待保全結構的粗粒度碼位置,例如涵蓋函式簽章範圍的前綴。

  3. 重新生成

    僅在未鎖定位置上執行遮罩式離散生成,並將完成的階層結構解碼回原始碼。

  4. 檢視

    接受重新生成結果前,先衡量剖析成功率、結構代理指標、未鎖定位置的變化及樣本獨特性。

選定的粗粒度程式潛在碼保持固定;經遮罩的細粒度離散碼則重新生成,再解碼為修改後的 Python 函式。
階層式離散潛在碼編輯會保存選定的粗粒度程式結構,同時在可編輯區域內重新生成細粒度碼。來源: 作者依據已發表的方法與結果製作的解說圖。.再利用條款: CC BY 4.0.建議署名:Gavrilov et al. (2026), Inspectable Control for Structure-Preserving Software Regeneration。 下載 SVG.

核心構想

控制施加於詞元之上的學習式表徵:粗粒度潛在位置明確標示可凍結結構的位置,而鄰近的實作細節仍可編輯。

與相關方法的差異

提示層級或詞元層級的約束作用於表層文字。所提出的介面揭示粗粒度與細粒度的離散控制點,並測量由此產生的穩定性與自由度權衡。

新增內容

本研究提出並評估一個可檢視的階層式潛在控制層,用於範圍受限的軟體成品再生成。

本文有助於回答的問題

開啟問題,以取得以論文為依據的精簡答覆。詳細的證據邊界列於「限制」一節。

  1. AI 如何在不改寫所有內容的情況下編輯程式碼?

    本論文研究詞元層級之上的局部程式碼再生成。階層式 VQ-VAE 將短 Python 函式映射為粗粒度與細粒度離散碼;選定的粗粒度位置會被鎖定,而遮罩式離散生成僅在解碼前改變其餘潛在位置。如此便能提供明確的保存邊界,而無須重新生成整個函式。

  2. 哪些方法能在程式碼生成期間保留程式結構?

    本研究測試階層式離散潛在控制:固定粗粒度潛在位置,同時重新生成未鎖定的位置,隨後量測剖析成功率與結構代理指標。這些證據僅涉及短篇 Python 函式的機率性結構穩定度,不能證明精確保留 AST、語意等價或功能正確。

  3. 階層式離散潛在表示能否對程式碼提供局部控制?

    在所報告的 2,000 個函式實驗中,鎖定四個頂層編碼使剖析率從 0.453 提升至 0.591;同時,未鎖定位置的變更比例為 0.936,條件樣本的唯一性為 0.998。這些結果提供初步證據,顯示粗粒度潛在約束可在不消除局部編輯自由度或樣本多樣性的情況下,保持部分結構。

  4. 程式碼生成如何兼顧結構穩定性與多樣性?

    本論文同時評估穩定性與自由度,而非僅最佳化有效性。鎖定粗粒度碼可提高語法有效性,同時未鎖定位置的變化仍維持在高水準,條件式樣本也幾乎全都互不相同。此結果顯示受測設定下存在可量測的穩定性—自由度權衡,但不代表普遍最優解。

  5. 這項工作與 LLM 輔助程式碼編輯有何關聯?

    受測模型是採用遮罩離散生成的階層式 VQ-VAE,而非大型語言模型。儘管如此,此控制問題仍與 LLM 輔助編輯密切相關,因為要求區域以外的不必要變更是實務上的重要疑慮。該論文提出的是互補性的潛在空間機制與評估框架,而非 LLM 編輯基準。

與相關方法比較

「結構保持軟體重新生成的可檢視控制」與相近方法的事實比較
能力詞元層級控制階層式潛在控制
凍結粗粒度結構有限原生粗粒度程式碼鎖定
局部重新生成脆弱的表層約束對選定程式碼進行遮罩式重新取樣
可檢視控制點無明確的中介層粗粒度與細粒度離散位置
本文所提供的證據未作為完整基準進行評估語法穩定性與編輯自由度診斷

此表說明介面與研究中實際量測的證據,並不宣稱功能正確性或普遍優越性。

相關性與範圍

對於需要明確控制 AI 輔助程式碼轉換可改動哪些內容,以及程式哪些部分應維持穩定的研究,本論文最具參考價值。

  1. 可控且保留結構的程式碼生成

  2. 局部程式修復與有界重構

  3. 原始程式碼的階層式離散表徵

  4. 原始碼的遮罩式離散生成

  5. 軟體成品的潛在空間控制

查看限制與證據邊界

限制

  • 本研究僅涵蓋截短至 64 個詞元的 Python 短函式。
  • 評估採用 argmax 解碼及語法或結構代理指標,而非功能等價性測試。
  • 精確保存函式簽章的表現仍然薄弱。
  • 較低層級的控制弱於頂層控制。
  • 潛在位置尚未與 AST 範圍、函式簽章或控制流程結構等語意區域對齊。
  • 這些結果尚不足以證實實務修復、重構或儲存庫層級變更的正確性。

論文引用的參考文獻

這些條目對應論文 PDF 中按編號排列的參考文獻章節。

  1. Ali Razavi, Aaron van den Oord, Oriol Vinyals. . Generating Diverse High-Fidelity Images with VQ-VAE-2. Advances in Neural Information Processing Systems.
  2. Jacob Austin, Daniel D. Johnson, Jonathan Ho, Daniel Tarlow, Rianne van den Berg. . Structured Denoising Diffusion Models in Discrete State-Spaces. Advances in Neural Information Processing Systems.
  3. Subham Sekhar Sahoo, Marianne Arriola, Yair Schiff, Aaron Gokaslan, Edgar Marroquin, Justin T Chiu, Alexander Rush, Volodymyr Kuleshov. . Simple and Effective Masked Diffusion Language Models. Advances in Neural Information Processing Systems.
  4. Shraddha Barke, Michael B. James, Nadia Polikarpova. . Grounded Copilot: How Programmers Interact with Code-Generating Models. Proceedings of the ACM on Programming Languages.
  5. Fengji Zhang, Bei Chen, Yue Zhang, Jacky Keung, Jin Liu, Daoguang Zan, Yi Mao, Jian-Guang Lou, Weizhu Chen. . RepoCoder: Repository-Level Code Completion Through Iterative Retrieval and Generation. Proceedings of the 2023 Conference on Empirical Methods in Natural Language Processing.

資源與可重現性

出版者
ACM
出版資源
此處提供公開手稿、結果表、說明圖及引用檔案。實作程式碼與檢查點並未公開釋出。

資料聲明

來源
經預處理的 CodeParrot Clean 子集,包含 2,000 個 Python 函式。
授權條款
本網站不再散布任何資料集檔案;重複使用仍須遵守上游 CodeParrot 資料集及原始碼授權條款。
前處理
Python 函式經詞元化後截短或填補至 64 個詞元,再進行階層式編碼。
分割
海報報告使用包含 2,000 個函式的評估集;公開論文並未附上不可變更的訓練/驗證分割清單。
格式
Python 原始碼函式、GPT 風格詞元序列、長度為 16 的頂層碼序列,以及長度為 32 的下層碼序列。
版本/總和檢查碼
這篇兩頁論文未報告資料集校驗和與不可變快照識別碼。
資料取得
出版品頁面未同步釋出公開的資料取得指令碼。
使用限制
此樣本無法代表儲存庫規模的軟體、多種程式語言,或經行為驗證的修復任務。

版本

  1. 正式出版版本ACM FSE Companion, 2026
  2. 作者資源海報與簡報
  3. 書目紀錄DBLP
  4. 開啟學術紀錄OpenAlex
  5. 引用圖譜紀錄Semantic Scholar
  6. 作者分享的全文ResearchGate
  7. 白話摘要讚賞

已發布的 DOI 是主要書目識別符。本頁在各版本間皆維持為唯一的專案標準 URL。