# Inspectable Control for Structure-Preserving Software Regeneration

Canonical HTML: https://aogavrilov.com/vi/publications/inspectable-control/

Document language: vi

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.

[Alexey Gavrilov](https://orcid.org/0009-0006-3147-5430) 1 [Alan-Barsag Gazzaev](https://orcid.org/0009-0000-0334-312X) 1 [Mikhail Mozikov](https://orcid.org/0000-0003-0594-867X) 2 [Ilya Makarov](https://orcid.org/0000-0002-3308-8825) 2 [Sergey Muravyov](https://orcid.org/0000-0002-4251-1744) 1

1. [Đại học ITMO, Saint Petersburg, Liên bang Nga](https://en.itmo.ru/)
2. [AXXX, Moscow, Russian Federation](https://axxx.tech/)

[Đọc toàn văn bài báo ở định dạng HTML](https://aogavrilov.com/publications/inspectable-control/full-text/) Vă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](https://creativecommons.org/licenses/by/4.0/) .

## Bài báo trong 30 giây

**Câu hỏi nghiên cứu** Là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

Ngày 5 tháng 7 năm 2026 tr. 1406–1407 Áp phích đi kèm

DOI [https://doi.org/10.1145/3803437.3807386](https://doi.org/10.1145/3803437.3807386)

## Nội dung trên trang này

## 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ải kết quả: [CSV](https://aogavrilov.com/publications/inspectable-control/results.csv) [JSON](https://aogavrilov.com/publications/inspectable-control/results.json) [Markdown](https://aogavrilov.com/publications/inspectable-control/results.md) Bản sao bên ngoài: [Thẻ tập dữ liệu Hugging Face](https://huggingface.co/datasets/aogavrilov/inspectable-control-results)

## 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},
}
```

Tệp trích dẫn: [Văn bản APA](https://aogavrilov.com/publications/inspectable-control/citation-apa.txt) [Văn bản IEEE](https://aogavrilov.com/publications/inspectable-control/citation-ieee.txt) [RIS](https://aogavrilov.com/publications/inspectable-control/citation.ris) [CSL-JSON](https://aogavrilov.com/publications/inspectable-control/citation.json) [Schema.org JSON-LD](https://aogavrilov.com/publications/inspectable-control/metadata.jsonld) [OAI-DC XML](https://aogavrilov.com/publications/inspectable-control/oai-dc.xml) [OpenAIRE v4 XML](https://aogavrilov.com/publications/inspectable-control/openaire.xml) [MODS XML](https://aogavrilov.com/publications/inspectable-control/mods.xml) [XML siêu dữ liệu JATS 1.4](https://aogavrilov.com/publications/inspectable-control/metadata.jats.xml) [Toàn văn JATS 1.4 XML](https://aogavrilov.com/publications/inspectable-control/full-text/article.jats.xml) [RDF Turtle](https://aogavrilov.com/publications/inspectable-control/metadata.ttl) [Tập hợp liên kết (JSON)](https://aogavrilov.com/publications/inspectable-control/linkset.json) [Tập hợp liên kết (HTTP)](https://aogavrilov.com/publications/inspectable-control/linkset) [RO-Crate](https://aogavrilov.com/publications/inspectable-control/ro-crate-metadata.json)

DOI: [https://doi.org/10.1145/3803437.3807386](https://doi.org/10.1145/3803437.3807386)

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.

1. 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.
2. 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.
3. 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.
4. 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.

![Các mã chương trình mức thô đã chọn được giữ cố định, còn các mã rời rạc mức tinh được che mặt nạ sẽ được sinh lại rồi giải mã thành một hàm Python đã sửa đổi.](https://aogavrilov.com/publications/inspectable-control/hierarchical-discrete-latent-code-editing.svg)

**Chỉnh sửa mã qua biểu diễn tiềm ẩn rời rạc phân cấp bảo toàn phần cấu trúc chương trình mức thô đã chọn, đồng thời sinh lại các mã mức tinh trong vùng có thể chỉnh sửa.* Nguồn: [Sơ đồ diễn giải do tác giả xây dựng dựa trên phương pháp và kết quả đã công bố.](https://doi.org/10.1145/3803437.3807386) . Điều khoản tái sử dụng: [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) . Trích dẫn đề xuất: Gavrilov et al. (2026), Inspectable Control for Structure-Preserving Software Regeneration. [Tải SVG](https://aogavrilov.com/publications/inspectable-control/hierarchical-discrete-latent-code-editing.svg) .*

### Ý 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ế.

1. 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.
2. 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.
3. 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.
4. 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.
5. 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.

1. Sinh mã có thể điều khiển và bảo toàn cấu trúc
2. Sửa chữa chương trình cục bộ và tái cấu trúc có giới hạn
3. Biểu diễn rời rạc phân cấp cho mã nguồn
4. Sinh rời rạc có che cho mã nguồn
5. Đ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.

1. Ali Razavi, Aaron van den Oord, Oriol Vinyals. 2019 . [Generating Diverse High-Fidelity Images with VQ-VAE-2](https://arxiv.org/abs/1906.00446) . Advances in Neural Information Processing Systems .
2. Jacob Austin, Daniel D. Johnson, Jonathan Ho, Daniel Tarlow, Rianne van den Berg. 2021 . [Structured Denoising Diffusion Models in Discrete State-Spaces](https://arxiv.org/abs/2107.03006) . 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. 2024 . [Simple and Effective Masked Diffusion Language Models](https://arxiv.org/abs/2406.07524) . Advances in Neural Information Processing Systems .
4. Shraddha Barke, Michael B. James, Nadia Polikarpova. 2023 . [Grounded Copilot: How Programmers Interact with Code-Generating Models](https://doi.org/10.1145/3586030) . 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. 2023 . [RepoCoder: Repository-Level Code Completion Through Iterative Retrieval and Generation](https://doi.org/10.18653/v1/2023.emnlp-main.151) . Proceedings of the 2023 Conference on Empirical Methods in Natural Language Processing .

## Tài nguyên và khả năng tái lập

## 

### Tuyên bố về dữ liệu

## Các phiên bản

## 

1. **Phiên bản đã công bố** [ACM FSE Companion, 2026](https://doi.org/10.1145/3803437.3807386)
2. **Bản thảo của tác giả** [Bản thảo hoàn thiện để xuất bản có thể truy cập dưới dạng văn bản, kèm danh sách tác giả cuối cùng và DOI](https://aogavrilov.com/publications/inspectable-control/paper.pdf)
3. **Bản sao toàn văn bên ngoài** [Bản thảo tác giả theo giấy phép CC BY 4.0 trên Hugging Face](https://huggingface.co/datasets/aogavrilov/inspectable-control-results/resolve/main/paper.pdf)
4. **Mở bản ghi kho lưu trữ** [Bản ghi Zenodo được OpenAIRE lập chỉ mục](https://zenodo.org/records/21605395)
5. **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ộ](https://zenodo.org/records/21605395/files/fse2026-posters-final11%20%284%29.pdf?download=1)
6. **Tài nguyên của tác giả** [Áp phích và bộ trang chiếu](https://aogavrilov.com/publications/inspectable-control/media/)
7. **Bản ghi thư mục** [DBLP](https://dblp.org/rec/conf/sigsoft/GavrilovGMMM26)
8. **Mở bản ghi học thuật** [OpenAlex](https://openalex.org/W7169573479)
9. **Bản ghi đồ thị trích dẫn** [Semantic Scholar](https://www.semanticscholar.org/paper/93c3de037596ce177d9d882d214ccad5c5405b00)
10. **Toàn văn do tác giả chia sẻ** [ResearchGate](https://www.researchgate.net/publication/410435483_Inspectable_Control_for_Structure-Preserving_Software_Regeneration)
11. **Tóm tắt bằng ngôn ngữ phổ thông** [Kudos](https://www.growkudos.com/publications/10.1145%252F3803437.3807386/reader)

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.

## Công bố liên quan

- [Where Quality Breaks in Compressed Short-Text Generation: Staged Bottleneck Localization](https://aogavrilov.com/vi/publications/where-quality-breaks/)

Đọc [Chỉnh sửa mã có thể điều khiển](https://aogavrilov.com/vi/projects/discrete-latent-generation/) hướng dẫn nghiên cứu. [Giới thiệu tác giả](https://aogavrilov.com/about/) .

### Ghi chú nghiên cứu trọng tâm

Các câu trả lời theo từng ý định, có ranh giới bằng chứng và liên kết trở lại bài báo này.

- [Sửa đổi mã cục bộ bằng mô hình sinh](https://aogavrilov.com/vi/research-notes/localized-code-modification-generative-models/)
- [Sinh mã có ràng buộc cho kỹ nghệ phần mềm](https://aogavrilov.com/vi/research-notes/constrained-code-generation-software-engineering/)
- [Tái cấu trúc có AI hỗ trợ: phương pháp và bằng chứng](https://aogavrilov.com/vi/research-notes/ai-assisted-refactoring-evidence/)
- [Sinh mã có thể dự đoán đòi hỏi một hợp đồng bảo toàn](https://aogavrilov.com/vi/research-notes/predictable-code-generation-preservation-contract/)
