Inspectable Control for Structure-Preserving Software Regeneration
Cơ chế điều khiển có thể kiểm tra trong tái sinh phần mềm bảo toàn cấu trúc
Tái sinh cục bộ mã có kiểm soát bằng biểu diễn tiềm ẩn rời rạc phân cấp.
Đọc toàn văn bài báo ở định dạng HTMLVăn bản có thể tìm kiếm, bao gồm công thức, bảng, hình và tài liệu tham khảo.
Bản thảo hoàn chỉnh của tác giả với danh sách tác giả cuối cùng và DOI. CC BY 4.0 author manuscript; the ACM DOI page remains the version of record. Điều khoản đăng tải và tái sử dụng.
Bài báo trong 30 giây
Câu hỏi nghiên cứuLàm thế nào mô hình sinh có thể sửa đổi những phần được chọn của chương trình trong khi vẫn bảo toàn các thành phần đã chọn thuộc cấu trúc thô?
Vấn đề
Sửa đổi mã có AI hỗ trợ thường chỉ cần một thay đổi trong phạm vi xác định, đồng thời giữ cố định những thành phần cấu trúc chương trình đã chọn. Sinh lại toàn bộ chương trình có thể làm xáo trộn các vùng không liên quan, còn ràng buộc ở cấp token không cung cấp một giao diện điều khiển ở mức thô.
Phương pháp
Nghiên cứu mã hóa các hàm Python dài 64 token bằng VQ-VAE phân cấp, khóa một số mã rời rạc thô được chọn và dùng cơ chế sinh rời rạc có che mặt nạ để tái sinh mã cục bộ tại các vị trí tiềm ẩn còn lại.
Kết quả chính
Khóa bốn mã cấp cao nhất làm tỷ lệ phân tích cú pháp tăng từ 0.453 lên 0.591, trong khi các vị trí không khóa vẫn thay đổi với tỷ lệ 0.936 và độ duy nhất của mẫu có điều kiện vẫn đạt 0.998.
Vì sao điều này quan trọng
Kết quả cho thấy sự đánh đổi có thể đo lường giữa độ ổn định và mức tự do trong chỉnh sửa mã có kiểm soát và tái sinh cục bộ chương trình. Đây là bằng chứng ban đầu cho một lớp điều khiển tiềm ẩn có thể kiểm tra, không phải bằng chứng về tương đương ngữ nghĩa hay tính đúng đắn chức năng.
Tóm tắt
Các quy trình kỹ nghệ phần mềm như sửa chữa có ràng buộc, tinh chỉnh theo giai đoạn và sửa đổi bảo toàn cấu trúc đòi hỏi khả năng kiểm soát phần nào được thay đổi và phần nào được giữ cố định. Sinh ở cấp token là một giao diện điều khiển còn hạn chế cho các thao tác này, vì nó ràng buộc văn bản bề mặt cục bộ thay vì các bất biến cấu trúc ở mức thô mà kỹ nghệ phần mềm thường cần bảo toàn. Chúng tôi khảo sát các biểu diễn tiềm ẩn rời rạc phân cấp như một biểu diễn trung gian có thể kiểm tra cho các tạo tác phần mềm: VQ-VAE phân cấp nén một hàm Python dài 64 token thành các mã rời rạc mức thô và mức tinh, còn cơ chế sinh rời rạc che mặt nạ chỉ tái sinh những vị trí được chọn dưới các ràng buộc cục bộ. Trên 2,000 hàm Python đã tiền xử lý, khóa bốn mã cấp cao nhất làm tỷ lệ phân tích cú pháp tăng từ 0.453 lên 0.591, đồng thời vẫn duy trì mức thay đổi đáng kể tại các vị trí không khóa (mức tự do chỉnh sửa, 0.936) và độ duy nhất của mẫu gần tối đa (tính đa dạng, 0.998). Khi ngữ cảnh mức thô được cố định, quá trình tinh chỉnh ở cấp thấp hơn yếu hơn nhưng vẫn đơn điệu, qua đó củng cố cách diễn giải hệ phân cấp từ thô đến tinh. Nhìn chung, các kết quả này cung cấp bằng chứng ban đầu cho một lớp điều khiển thực tiễn, hỗ trợ tái sinh tạo tác phần mềm ở cấp cao hơn token trong phạm vi xác định và có bảo toàn cấu trúc.
Công bố tại Kỷ yếu Hội nghị Quốc tế ACM lần thứ 34 về Nền tảng Kỹ nghệ Phần mềm
Loại hình đóng góp Phương pháp điều khiển trong không gian tiềm ẩn
tr. 1406–1407Áp phích đi kèm
Các kết quả chính
| Thiết lập | Tỷ lệ phân tích cú pháp | Khung sườn | Chữ ký | Thay đổi không bị khóa |
|---|---|---|---|---|
| Đầu vào (đã cắt bớt) | 0.994 | 0.994 | 0.994 | — |
| Tái dựng codec | 0.857 | 0.848 | 0.493 | 0 |
| Sinh không điều kiện | 0.453 | 0.08 | 0 | 0.995 |
| Có điều kiện, tiền tố k=4 | 0.591 | 0.295 | 0.061 | 0.936 |
| Có điều kiện, khoảng chữ ký | 0.6 | 0.302 | 0.063 | không được báo cáo |
Kết quả chính. Khóa các biến tiềm ẩn mức thô cải thiện độ ổn định cú pháp mà không triệt tiêu thay đổi trong vùng có thể chỉnh sửa; kết quả cho thấy khả năng điều khiển cấu trúc, chứ không bảo đảm tương đương chức năng.
- Tập dữ liệu
- 2,000 hàm Python đã tiền xử lý từ một tập con của CodeParrot Clean
- Cỡ mẫu
- 2,000 hàm Python đã tiền xử lý; độ duy nhất của mẫu có điều kiện là 0.998.
- Chỉ số đánh giá
- Tỷ lệ phân tích cú pháp; Các đại lượng đại diện cho khả năng bảo toàn khung và chữ ký; Tỷ lệ thay đổi tại vị trí không khóa; Tính duy nhất và entropy của mẫu
- Độ bất định
- Nghiên cứu dài hai trang chỉ báo cáo các ước lượng điểm, không có khoảng tin cậy hay phân tích thống kê với nhiều seed.
- Điều kiện
- Các hàm dài 64 token, giải mã argmax, 16 mã cấp cao nhất và 32 mã cấp thấp hơn; khóa toàn bộ khôi phục chính xác kết quả tái dựng codec.
Tải kết quả:CSVJSONMarkdownBản sao bên ngoài:Thẻ tập dữ liệu Hugging Face
PDF và trích dẫn
Trích dẫn bài báo này BibTeX là định dạng được khuyến nghị. Mọi biến thể dưới đây đều được tạo từ cùng một bản ghi công bố.
@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},
}
Gavrilov, A., Gazzaev, A.-B., Mozikov, M., Makarov, I., and Muravyov, S. (2026). Inspectable Control for Structure-Preserving Software Regeneration. In Proceedings of the 34th ACM International Conference on the Foundations of Software Engineering (pp. 1406–1407). ACM. https://doi.org/10.1145/3803437.3807386A. Gavrilov, A.-B. Gazzaev, M. Mozikov, I. Makarov, and S. Muravyov, “Inspectable Control for Structure-Preserving Software Regeneration,” in Proceedings of the 34th ACM International Conference on the Foundations of Software Engineering, 2026, pp. 1406–1407, doi: 10.1145/3803437.3807386.TY - CPAPER
TI - Inspectable Control for Structure-Preserving Software Regeneration
AU - Gavrilov, Alexey
AU - Gazzaev, Alan-Barsag
AU - Mozikov, Mikhail
AU - Makarov, Ilya
AU - Muravyov, Sergey
PY - 2026
DA - 2026-07-05
T2 - Proceedings of the 34th ACM International Conference on the Foundations of Software Engineering
SP - 1406
EP - 1407
PB - ACM
DO - 10.1145/3803437.3807386
UR - https://doi.org/10.1145/3803437.3807386
SN - 979-8-4007-2636-1
ER -
Tệp trích dẫn:Văn bản APAVăn bản IEEERISCSL-JSONSchema.org JSON-LDOAI-DC XMLOpenAIRE v4 XMLMODS XMLXML siêu dữ liệu JATS 1.4Toàn văn JATS 1.4 XMLRDF TurtleTập hợp liên kết (JSON)Tập hợp liên kết (HTTP)RO-Crate
Hướng dẫn đầy đủ
Hướng dẫn nghiên cứu đầy đủ
Phương pháp
Phương pháp nén một hàm Python ngắn thành hai cấp mã rời rạc, cố định các vị trí mức thô đã chọn và sinh lại những vị trí còn lại trước khi giải mã thành mã nguồn.
Mã hóa
Nén một hàm Python dài 64 token thành 16 mã cấp cao nhất và 32 mã cấp thấp hơn bằng VQ-VAE phân cấp.
Khóa
Chọn các vị trí mã mức thô đại diện cho cấu trúc cần bảo toàn, chẳng hạn một tiền tố bao phủ khoảng chữ ký hàm.
Tái sinh
Chỉ thực hiện sinh rời rạc có che mặt nạ trên các vị trí không bị khóa, rồi giải mã cấu trúc phân cấp hoàn chỉnh trở lại thành mã nguồn.
Kiểm tra
Trước khi chấp nhận một kết quả tái sinh, hãy đo tỷ lệ phân tích cú pháp, các đại lượng đại diện cho cấu trúc, mức thay đổi tại những vị trí không khóa và tính duy nhất của mẫu.
Ý tưởng chính
Cơ chế điều khiển tác động lên một biểu diễn học được ở cấp cao hơn token: các vị trí tiềm ẩn mức thô xác định rõ nơi cấu trúc có thể được cố định, trong khi những chi tiết triển khai lân cận vẫn có thể chỉnh sửa.
Khác biệt so với các cách tiếp cận gần kề
Các ràng buộc ở cấp prompt hoặc cấp token tác động lên văn bản bề mặt. Giao diện được đề xuất cung cấp các điểm điều khiển rời rạc ở cả mức thô lẫn mức tinh, đồng thời đo lường sự đánh đổi giữa độ ổn định và mức tự do phát sinh.
Điểm mới
Công trình giới thiệu và đánh giá một lớp điều khiển tiềm ẩn phân cấp có thể kiểm tra nhằm tái sinh có giới hạn các tạo tác phần mềm.
Những câu hỏi mà bài báo này góp phần giải đáp
Mở một câu hỏi để xem câu trả lời ngắn gọn dựa trên bài báo. Ranh giới bằng chứng chi tiết được trình bày trong phần Hạn chế.
Làm thế nào để AI chỉnh sửa mã mà không phải viết lại mọi thứ?
Bài báo khảo sát việc tái sinh cục bộ mã ở cấp cao hơn token. VQ-VAE phân cấp ánh xạ một hàm Python ngắn thành các mã rời rạc mức thô và mức tinh; những vị trí mức thô đã chọn được khóa, còn cơ chế sinh rời rạc che mặt nạ chỉ thay đổi các vị trí tiềm ẩn còn lại trước khi giải mã. Cách này tạo ra một ranh giới bảo toàn tường minh thay vì sinh lại toàn bộ hàm.
Những phương pháp nào bảo toàn cấu trúc chương trình trong quá trình sinh mã?
Công trình này kiểm thử cơ chế điều khiển tiềm ẩn rời rạc phân cấp. Có thể cố định các vị trí tiềm ẩn thô trong khi tái sinh những vị trí không khóa, rồi đo tỷ lệ phân tích cú pháp và các đại lượng đại diện cho cấu trúc. Bằng chứng chỉ liên quan đến độ ổn định cấu trúc theo xác suất trên các hàm Python ngắn; không xác lập việc bảo toàn AST chính xác, tương đương ngữ nghĩa hay tính đúng đắn chức năng.
Biểu diễn tiềm ẩn rời rạc phân cấp có thể cho phép điều khiển mã theo vùng hay không?
Trong thí nghiệm trên 2,000 hàm được báo cáo, việc khóa bốn mã cấp cao nhất làm tỷ lệ phân tích cú pháp tăng từ 0.453 lên 0.591. Đồng thời, 0.936 số vị trí không bị khóa đã thay đổi và tỷ lệ mẫu có điều kiện là duy nhất đạt 0.998. Đây là bằng chứng ban đầu cho thấy các ràng buộc tiềm ẩn thô có thể bảo toàn một phần cấu trúc mà không triệt tiêu độ tự do chỉnh sửa cục bộ hay tính đa dạng của mẫu.
Quá trình sinh mã có thể cân bằng tính ổn định cấu trúc và tính đa dạng như thế nào?
Bài báo đánh giá đồng thời độ ổn định và mức tự do thay vì chỉ tối ưu tính hợp lệ. Việc khóa mã thô làm tăng tính hợp lệ cú pháp, trong khi mức thay đổi tại các vị trí không khóa vẫn cao và các mẫu có điều kiện hầu như hoàn toàn khác biệt. Kết quả cho thấy sự đánh đổi có thể đo lường giữa độ ổn định và mức tự do trong cấu hình đã thử nghiệm, chứ không phải một điểm tối ưu phổ quát.
Công trình này liên hệ như thế nào với chỉnh sửa mã có LLM hỗ trợ?
Mô hình được kiểm thử là VQ-VAE phân cấp với cơ chế sinh rời rạc có che mặt nạ, không phải mô hình ngôn ngữ lớn. Tuy vậy, bài toán điều khiển vẫn liên quan đến chỉnh sửa có LLM hỗ trợ, bởi những thay đổi không cần thiết bên ngoài vùng được yêu cầu là một vấn đề thực tiễn. Đóng góp của bài báo là một cơ chế bổ trợ trong không gian tiềm ẩn và một khung đánh giá, chứ không phải chuẩn đánh giá chỉnh sửa bằng LLM.
So sánh với các cách tiếp cận gần kề
| Khả năng | Điều khiển ở cấp token | Điều khiển tiềm ẩn phân cấp |
|---|---|---|
| Cố định cấu trúc thô | Hạn chế | Khóa mã thô nguyên bản |
| Tái sinh một phần | Các ràng buộc bề mặt mong manh | Lấy mẫu lại có che đối với các mã được chọn |
| Các điểm điều khiển có thể kiểm tra | Không có tầng trung gian tường minh | Các vị trí rời rạc mức thô và mức tinh |
| Bằng chứng trong bài báo này | Chưa được đánh giá như một đường cơ sở hoàn chỉnh | Chẩn đoán độ ổn định cú pháp và mức tự do chỉnh sửa |
Bảng mô tả các giao diện và bằng chứng thực nghiệm của nghiên cứu; bảng không khẳng định tính đúng đắn chức năng hay ưu thế phổ quát.
Mức độ liên quan và phạm vi
Bài báo đặc biệt phù hợp với các công trình cần kiểm soát rõ những gì phép biến đổi mã có AI hỗ trợ được phép thay đổi và những phần nào của chương trình phải giữ ổn định.
Sinh mã có thể điều khiển và bảo toàn cấu trúc
Sửa chữa chương trình cục bộ và tái cấu trúc có giới hạn
Biểu diễn rời rạc phân cấp cho mã nguồn
Sinh rời rạc có che cho mã nguồn
Điều khiển biểu diễn tiềm ẩn cho các sản phẩm phần mềm
Hạn chế
- Nghiên cứu chỉ xét các hàm Python ngắn được cắt còn 64 token.
- Quy trình đánh giá sử dụng giải mã argmax cùng các chỉ số đại diện về cú pháp hoặc cấu trúc, thay vì kiểm thử tính tương đương chức năng.
- Khả năng bảo toàn chính xác chữ ký vẫn còn hạn chế.
- Khả năng điều khiển ở cấp thấp yếu hơn ở cấp cao nhất.
- Các vị trí tiềm ẩn chưa được căn chỉnh với những vùng ngữ nghĩa như khoảng AST, chữ ký hoặc cấu trúc luồng điều khiển.
- Các kết quả không xác lập tính đúng đắn đối với sửa chữa thực tiễn, tái cấu trúc hoặc thay đổi ở cấp kho mã.
Tài liệu tham khảo được bài báo trích dẫn
Các mục này tương ứng với phần Tài liệu tham khảo được đánh số trong tệp PDF của bài báo.
- Ali Razavi, Aaron van den Oord, Oriol Vinyals. . Generating Diverse High-Fidelity Images with VQ-VAE-2. Advances in Neural Information Processing Systems.
- 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.
- 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.
- Shraddha Barke, Michael B. James, Nadia Polikarpova. . Grounded Copilot: How Programmers Interact with Code-Generating Models. Proceedings of the ACM on Programming Languages.
- 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.
Tài nguyên và khả năng tái lập
- Nhà xuất bản
- ACM
- Bản PDF văn bản cục bộ
- Bản thảo hoàn chỉnh của tác giả với danh sách tác giả cuối cùng và DOI
- Tài nguyên công bố
- Bản thảo công khai, các bảng kết quả, hình minh họa giải thích và tệp trích dẫn được cung cấp tại đây. Mã triển khai và các checkpoint chưa được phát hành công khai.
Tuyên bố về dữ liệu
- Nguồn
- Một tập con đã tiền xử lý của CodeParrot Clean, gồm 2,000 hàm Python.
- Giấy phép
- Trang web này không phân phối lại bất kỳ tệp dữ liệu nào; việc tái sử dụng vẫn phải tuân theo các giấy phép của bộ dữ liệu CodeParrot thượng nguồn và mã nguồn.
- Tiền xử lý
- Các hàm Python được token hóa, sau đó cắt ngắn hoặc đệm thành 64 token trước khi mã hóa phân cấp.
- Phân tách
- Poster báo cáo một tập đánh giá gồm 2,000 hàm; bài báo công khai không kèm bản kê phân chia tập huấn luyện/xác thực bất biến.
- Định dạng
- Các hàm mã nguồn Python, chuỗi token kiểu GPT, chuỗi mã cấp cao có độ dài 16 và chuỗi cấp thấp có độ dài 32.
- Phiên bản / checksum
- Bài báo dài hai trang không báo cáo tổng kiểm dữ liệu và mã định danh ảnh chụp bất biến.
- Thu thập
- Trang công bố không phát hành kèm tập lệnh thu thập công khai.
- Giới hạn sử dụng
- Mẫu này không đại diện cho phần mềm ở quy mô kho mã, nhiều ngôn ngữ lập trình hoặc các tác vụ sửa chữa đã được kiểm chứng về hành vi.
Các phiên bản
- Phiên bản đã công bốACM FSE Companion, 2026
- Bản sao toàn văn bên ngoàiBản thảo tác giả theo giấy phép CC BY 4.0 trên Hugging Face
- Mở bản ghi kho lưu trữBản ghi Zenodo được OpenAIRE lập chỉ mục
- Mở toàn văn trong kho lưu trữBản thảo của tác giả trên Zenodo theo giấy phép CC BY 4.0; nội dung văn bản tương đương bản thảo cục bộ
- Tài nguyên của tác giảÁp phích và bộ trang chiếu
- Bản ghi thư mụcDBLP
- Mở bản ghi học thuậtOpenAlex
- Bản ghi đồ thị trích dẫnSemantic Scholar
- Toàn văn do tác giả chia sẻResearchGate
- Tóm tắt bằng ngôn ngữ phổ thôngKudos
DOI đã công bố là định danh thư mục chính. Trang này vẫn là URL dự án chính tắc duy nhất xuyên suốt các phiên bản.