Inspectable Control for Structure-Preserving Software Regeneration

Überprüfbare Steuerung für die strukturerhaltende Regenerierung von Software

Steuerbare partielle Code-Regenerierung mithilfe hierarchischer diskreter latenter Repräsentationen.

Alexey Gavrilov1Alan-Barsag Gazzaev1Mikhail Mozikov2Ilya Makarov2Sergey Muravyov1

  1. ITMO University, Saint Petersburg, Russian Federation
  2. AXXX, Moskau, Russische Föderation

Vollständigen Beitrag im HTML-Format lesenDurchsuchbarer Text mit Formeln, Tabellen, Abbildungen und Literaturangaben.

Druckfertiges Autorenmanuskript mit endgültiger Autorenliste und DOI. CC BY 4.0 author manuscript; the ACM DOI page remains the version of record. Bedingungen für Veröffentlichung und Wiederverwendung.

Der Beitrag in 30 Sekunden

ForschungsfrageWie kann ein generatives Modell ausgewählte Teile eines Programms ändern und dabei bestimmte Elemente seiner groben Struktur erhalten?

Problemstellung

Bei KI-gestützten Codeänderungen ist häufig eine einzelne begrenzte Änderung erforderlich, während ausgewählte Programmstrukturen unverändert bleiben. Die Regenerierung des gesamten Programms kann nicht betroffene Bereiche beeinträchtigen, und Beschränkungen auf Tokenebene bieten keine grobe Steuerungsebene.

Ansatz

Die Studie kodiert Python-Funktionen mit 64 Token mittels eines hierarchischen VQ-VAE, fixiert ausgewählte grobe diskrete Codes und nutzt maskierte diskrete Generierung zur lokalen Regenerierung von Code an den verbleibenden latenten Positionen.

Hauptergebnis

Das Sperren von vier Codes der obersten Ebene erhöht die Parserfolgsrate von 0.453 auf 0.591, während sich nicht gesperrte Positionen weiterhin mit einer Rate von 0.936 ändern und die bedingten Stichproben zu 0.998 einzigartig bleiben.

Warum dies relevant ist

Die Ergebnisse zeigen ein messbares Verhältnis von Stabilität und Freiheit bei steuerbarer Codebearbeitung und partieller Programmregenerierung. Sie liefern frühe Evidenz für eine überprüfbare latente Steuerungsschicht, jedoch keinen Beweis semantischer Äquivalenz oder funktionaler Korrektheit.

Zusammenfassung

Arbeitsabläufe der Softwaretechnik wie beschränkte Reparatur, stufenweise Verfeinerung und strukturerhaltende Modifikation erfordern Kontrolle darüber, was sich ändert und was unverändert bleibt. Die Generierung auf Tokenebene bietet hierfür nur eine schwache Steuerungsfläche, da sie lokalen Oberflächentext beschränkt und nicht die groben strukturellen Invarianten, deren Erhalt in der Softwaretechnik häufig angestrebt wird. Wir untersuchen hierarchische diskrete latente Variablen als überprüfbare Zwischendarstellung für Softwareartefakte: Ein hierarchischer VQ-VAE komprimiert eine Python-Funktion mit 64 Token in grobe und feine diskrete Codes; die maskierte diskrete Generierung erzeugt unter partiellen Beschränkungen ausschließlich ausgewählte Positionen neu. Bei 2,000 vorverarbeiteten Python-Funktionen erhöht das Fixieren von vier Codes der obersten Ebene die Parserfolgsrate von 0.453 auf 0.591, während erhebliche Änderungen an nicht fixierten Positionen (Editierfreiheit, 0.936) und eine nahezu maximale Einzigartigkeit der Stichproben (Diversität, 0.998) erhalten bleiben. Bei festem grobem Kontext fällt die Verfeinerung auf der unteren Ebene schwächer aus, bleibt jedoch monoton und stützt damit eine Interpretation der Hierarchie vom Groben zum Feinen. Insgesamt liefern diese Ergebnisse erste Evidenz für eine praktikable Steuerungsschicht, die oberhalb der Tokenebene eine begrenzte, strukturerhaltende Regenerierung von Softwareartefakten ermöglicht.

Erschienen in Tagungsband der 34th ACM International Conference on the Foundations of Software Engineering

Art des Beitrags Steuerungsverfahren für den latenten Raum

S. 1406–1407Begleitposter

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

Diesen Beitrag teilenTeilen

Zentrale Ergebnisse

Zentrale Ergebnisse von „Überprüfbare Steuerung für die strukturerhaltende Regenerierung von Software“
VersuchsaufbauParser-ErfolgsquoteGerüstSignaturNicht fixierte Änderung
Eingabe (gekürzt)0.9940.9940.994
Codec-Rekonstruktion0.8570.8480.4930
Unbedingte Generierung0.4530.0800.995
Bedingt, Präfix k=40.5910.2950.0610.936
Bedingt, Signaturbereich0.60.3020.063nicht berichtet

Zentrales Ergebnis. Das Sperren grober latenter Positionen verbessert die syntaktische Stabilität, ohne Änderungen im bearbeitbaren Bereich zum Erliegen zu bringen; das Ergebnis belegt strukturelle Steuerung, jedoch keine garantierte funktionale Äquivalenz.

Datensatz
2.000 vorverarbeitete Python-Funktionen aus einer Teilmenge von CodeParrot Clean
Stichprobengröße
2.000 vorverarbeitete Python-Funktionen; die Eindeutigkeit der bedingten Stichproben beträgt 0,998.
Metriken
Parser-Erfolgsquote; Proxy-Metriken für den Erhalt von Gerüst und Signaturen; Änderungsquote entsperrter Positionen; Einzigartigkeit und Entropie der Stichproben
Unsicherheit
Die zweiseitige Studie berichtet Punktschätzungen ohne Konfidenzintervalle oder statistische Analyse über mehrere Seeds hinweg.
Bedingungen
Funktionen mit 64 Token, Argmax-Decodierung, 16 Codes der obersten und 32 Codes der unteren Ebene; bei vollständiger Sperrung wird die Codec-Rekonstruktion exakt wiederhergestellt.

PDF und Zitierhinweise

Diese Arbeit zitieren BibTeX ist das empfohlene Format. Alle nachstehenden Varianten werden aus demselben Publikationseintrag erzeugt.

PDF öffnen
@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 herunterladen

Zitationsdateien:APA-TextIEEE-TextRISCSL-JSONSchema.org JSON-LDOAI-DC XMLOpenAIRE v4 XMLMODS XMLJATS-1.4-Metadaten-XMLVolltext im Format JATS 1.4 XMLRDF TurtleLink-Set (JSON)Link-Set (HTTP)RO-Crate

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

Vollständiger Leitfaden

Vollständiger Forschungsleitfaden

Methode

Das Verfahren komprimiert eine kurze Python-Funktion in zwei Ebenen diskreter Codes, fixiert ausgewählte grobe Positionen und generiert die übrigen Positionen neu, bevor sie wieder zu Code decodiert werden.

  1. Codieren

    Eine Python-Funktion mit 64 Token mittels eines hierarchischen VQ-VAE in 16 Codes der oberen und 32 Codes der unteren Ebene komprimieren.

  2. Sperren

    Grobe Codepositionen auswählen, die die zu erhaltende Struktur repräsentieren, etwa ein Präfix, das den Bereich der Funktionssignatur abdeckt.

  3. Neu erzeugen

    Die maskierte diskrete Generierung ausschließlich über nicht gesperrte Positionen ausführen und die vervollständigte Hierarchie wieder in Quellcode dekodieren.

  4. Prüfen

    Vor Annahme einer Regenerierung Parser-Erfolgsquote, strukturelle Proxy-Metriken, Änderungen an entsperrten Positionen und Einzigartigkeit der Stichproben messen.

Ausgewählte grobe Codes der Programmrepräsentation bleiben unverändert, während maskierte feine diskrete Codes neu generiert und zu einer modifizierten Python-Funktion dekodiert werden.
Bei der Bearbeitung hierarchischer diskreter latenter Codes bleibt ausgewählte grobe Programmstruktur erhalten, während feine Codes im bearbeitbaren Bereich neu generiert werden.Quelle: Von den Autoren erstelltes Erläuterungsdiagramm auf Grundlage der veröffentlichten Methode und Ergebnisse..Bedingungen für die Nachnutzung: CC BY 4.0.Empfohlene Quellenangabe: Gavrilov et al. (2026), Inspectable Control for Structure-Preserving Software Regeneration. SVG herunterladen.

Grundgedanke

Die Steuerung greift auf einer erlernten Repräsentation oberhalb der Tokenebene an: Grobe latente Positionen legen explizite Stellen fest, an denen Struktur fixiert werden kann, während benachbarte Implementierungsdetails bearbeitbar bleiben.

Abgrenzung gegenüber verwandten Ansätzen

Beschränkungen auf Prompt- oder Tokenebene wirken auf den Oberflächentext. Die vorgeschlagene Schnittstelle stellt grobe und feine diskrete Steuerungspunkte bereit und misst die daraus resultierende Abwägung zwischen Stabilität und Freiheit.

Was ist neu?

Die Arbeit führt eine überprüfbare hierarchische latente Steuerungsschicht für die begrenzte Regenerierung von Softwareartefakten ein und evaluiert sie.

Fragen, zu deren Beantwortung dieser Beitrag beiträgt

Öffnen Sie eine Frage für eine knappe, auf der Publikation beruhende Antwort. Detaillierte Evidenzgrenzen sind unter „Einschränkungen“ aufgeführt.

  1. Wie kann KI Code bearbeiten, ohne alles neu zu schreiben?

    Der Beitrag untersucht die partielle Coderegenerierung oberhalb der Tokenebene. Ein hierarchischer VQ-VAE bildet eine kurze Python-Funktion auf grobe und feine diskrete Codes ab; ausgewählte grobe Positionen werden gesperrt, und die maskierte diskrete Generierung verändert vor dem Decodieren ausschließlich die übrigen latenten Positionen. Dadurch entsteht eine explizite Erhaltungsgrenze, anstatt die gesamte Funktion neu zu generieren.

  2. Welche Methoden erhalten die Programmstruktur während der Codegenerierung?

    Diese Arbeit untersucht hierarchische diskrete latente Steuerung. Grobe latente Positionen können fixiert werden, während nicht fixierte Positionen regeneriert werden; anschließend werden Parserfolgsrate und strukturelle Proxymaße bestimmt. Die Evidenz betrifft probabilistische Strukturstabilität bei kurzen Python-Funktionen; sie belegt weder exakte AST-Erhaltung noch semantische Äquivalenz oder funktionale Korrektheit.

  3. Ermöglichen hierarchische diskrete latente Repräsentationen eine lokalisierte Steuerung von Code?

    Im beschriebenen Experiment mit 2,000 Funktionen erhöhte das Sperren von vier Codes der obersten Ebene die Parserfolgsrate von 0.453 auf 0.591. Zugleich änderten sich 0.936 der nicht gesperrten Positionen, und die bedingten Stichproben waren zu 0.998 einzigartig. Diese Ergebnisse liefern erste Hinweise darauf, dass grobe Beschränkungen im latenten Raum einen Teil der Struktur bewahren können, ohne den lokalen Bearbeitungsspielraum oder die Vielfalt der Stichproben aufzuheben.

  4. Wie lässt sich bei der Codegenerierung ein ausgewogenes Verhältnis zwischen struktureller Stabilität und Vielfalt erreichen?

    Der Beitrag bewertet Stabilität und Freiheit gemeinsam, statt ausschließlich die Gültigkeit zu optimieren. Das Sperren grober Codes erhöht die syntaktische Gültigkeit, während Änderungen an nicht gesperrten Positionen auf hohem Niveau verbleiben und bedingte Stichproben nahezu vollständig einzigartig bleiben. Das Ergebnis belegt für die untersuchte Konfiguration ein messbares Verhältnis von Stabilität und Freiheit, jedoch kein allgemeingültiges Optimum.

  5. In welchem Verhältnis steht diese Arbeit zur LLM-gestützten Codebearbeitung?

    Das untersuchte Modell ist ein hierarchischer VQ-VAE mit maskierter diskreter Generierung, kein großes Sprachmodell. Das Steuerungsproblem ist dennoch für LLM-gestützte Bearbeitung relevant, da unnötige Änderungen außerhalb eines angeforderten Bereichs praktisch bedeutsam sind. Die Arbeit steuert einen ergänzenden Mechanismus im latenten Raum und einen Evaluationsrahmen bei, nicht jedoch einen Benchmark für LLM-gestützte Bearbeitung.

Vergleich mit verwandten Ansätzen

Sachlicher Vergleich von „Überprüfbare Steuerung für die strukturerhaltende Regenerierung von Software“ mit verwandten Ansätzen
FähigkeitSteuerung auf TokenebeneHierarchische latente Steuerung
Grobe Struktur fixierenBegrenztNative Sperrung grober Codes
Partielle RegenerierungFragile OberflächenbeschränkungenMaskiertes erneutes Sampling ausgewählter Codes
Überprüfbare SteuerungspunkteKeine explizite ZwischenschichtGrobe und feine diskrete Positionen
Evidenz in dieser VeröffentlichungNicht als vollständige Baseline evaluiertDiagnostik syntaktischer Stabilität und Editierfreiheit

Die Tabelle beschreibt Schnittstellen und die in der Studie gemessene Evidenz; sie beansprucht weder funktionale Korrektheit noch universelle Überlegenheit.

Relevanz und Geltungsbereich

Der Beitrag ist insbesondere für Arbeiten relevant, die eine explizite Kontrolle darüber benötigen, was eine KI-gestützte Codetransformation verändern darf und welche Programmteile stabil bleiben sollen.

  1. Steuerbare und strukturerhaltende Codegenerierung

  2. Lokale Programmreparatur und begrenztes Refactoring

  3. Hierarchische diskrete Repräsentationen für Quellcode

  4. Maskierte diskrete Generierung von Quellcode

  5. Steuerung im latenten Raum für Softwareartefakte

Einschränkungen und Grenzen der Evidenz anzeigen

Einschränkungen

  • Die Studie ist auf kurze, auf 64 Token gekürzte Python-Funktionen beschränkt.
  • Die Evaluation verwendet Argmax-Decodierung und syntaktische oder strukturelle Proxymaße anstelle von Tests auf funktionale Äquivalenz.
  • Der exakte Erhalt von Signaturen bleibt unzureichend.
  • Die Steuerung auf unteren Ebenen ist schwächer als die Steuerung auf der obersten Ebene.
  • Latente Positionen sind bislang nicht auf semantische Bereiche wie AST-Spannen, Signaturen oder Kontrollflussstrukturen ausgerichtet.
  • Die Ergebnisse belegen keine Korrektheit für praktische Reparaturen, Refactorings oder Änderungen auf Repository-Ebene.

Im Beitrag zitierte Literatur

Diese Einträge entsprechen dem nummerierten Literaturverzeichnis im PDF der Arbeit.

  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.

Ressourcen und Reproduzierbarkeit

Verlag
ACM
Publikationsressourcen
Das öffentliche Manuskript, die Ergebnistabellen, die erläuternde Abbildung und die Zitationsdateien sind hier verfügbar. Implementierungscode und Checkpoints wurden nicht öffentlich freigegeben.

Erklärung zur Datengrundlage

Quelle
Eine vorverarbeitete Teilmenge von CodeParrot Clean mit 2.000 Python-Funktionen.
Lizenz
Diese Website verbreitet keine Datensatzdateien weiter; für die Wiederverwendung gelten weiterhin die Lizenzen des zugrunde liegenden CodeParrot-Datensatzes und des Quellcodes.
Vorverarbeitung
Python-Funktionen werden tokenisiert und vor der hierarchischen Kodierung auf 64 Token gekürzt oder aufgefüllt.
Aufteilung
Das Poster berichtet über einen Evaluationsdatensatz mit 2,000 Funktionen; ein unveränderliches Manifest der Trainings-/Validierungsaufteilung ist im öffentlich zugänglichen Beitrag nicht enthalten.
Format
Python-Quellfunktionen, Tokenfolgen im GPT-Stil, übergeordnete Codesequenzen der Länge 16 und untergeordnete Sequenzen der Länge 32.
Version / Prüfsumme
In dem zweiseitigen Beitrag werden weder eine Prüfsumme des Datensatzes noch eine unveränderliche Snapshot-Kennung angegeben.
Beschaffung
Mit der Publikationsseite wird kein öffentliches Skript zur Datenbeschaffung bereitgestellt.
Nutzungsgrenzen
Die Stichprobe ist weder für Software auf Repository-Ebene noch für mehrere Programmiersprachen oder verhaltensgeprüfte Reparaturaufgaben repräsentativ.

Versionen

  1. Veröffentlichte FassungACM FSE Companion, 2026
  2. Repositoriumseintrag öffnenVon OpenAIRE indexierter Zenodo-Eintrag
  3. Ressourcen der AutorenPoster und Foliensatz
  4. Bibliografischer EintragDBLP
  5. Wissenschaftlichen Datensatz öffnenOpenAlex
  6. Datensatz im ZitationsgraphenSemantic Scholar
  7. Von den Autoren bereitgestellter VolltextResearchGate
  8. Allgemein verständliche ZusammenfassungKudos

Die veröffentlichte DOI ist der primäre bibliografische Identifikator. Diese Seite bleibt versionsübergreifend die einzige kanonische Projekt-URL.