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 ثانية

سؤال البحثكيف يستطيع نموذج توليدي تعديل أجزاء منتقاة من برنامج مع الحفاظ على عناصر مختارة من بنيته الخشنة؟

المشكلة

غالبًا ما يتطلب تعديل الشيفرة بمساعدة الذكاء الاصطناعي تغييرًا واحدًا محدود النطاق، مع إبقاء أجزاء مختارة من بنية البرنامج ثابتة. وقد تُحدث إعادة توليد البرنامج بأكمله تغييرات في مناطق غير ذات صلة، كما أن القيود على مستوى الرموز لا تتيح واجهة تحكم خشنة.

المنهج

تُرمَّز في الدراسة دوال Python بطول 64 رمزًا باستخدام VQ-VAE هرمي، وتُثبَّت شفرات متقطعة خشنة مختارة، ويُستخدم التوليد المتقطع المقنّع لإعادة توليد الشيفرة موضعيًا في المواضع الكامنة المتبقية.

النتيجة الرئيسة

يرفع تثبيت أربع شفرات عليا معدل نجاح التحليل النحوي من 0.453 إلى 0.591، مع استمرار تغيّر المواضع غير المثبّتة بمعدل 0.936 وبقاء العينات الشرطية فريدة بنسبة 0.998.

لماذا يهم ذلك؟

تُظهر النتائج مقايضة قابلة للقياس بين الاستقرار والحرية في تحرير الشفرة القابل للتحكم وإعادة التوليد الجزئي للبرامج. وهي تقدم دليلًا أوليًا على طبقة تحكم كامنة قابلة للفحص، لا برهانًا على التكافؤ الدلالي أو الصحة الوظيفية.

الملخص

تتطلب مسارات عمل هندسة البرمجيات، مثل الإصلاح المقيّد والتحسين المرحلي والتعديل الحافظ للبنية، التحكم فيما يتغير وما يظل ثابتًا. ويُعد التوليد على مستوى الرموز واجهة تحكم محدودة الفاعلية لهذه العمليات، لأنه يقيّد النص الظاهر محليًا بدلًا من الثوابت البنيوية الخشنة التي تسعى هندسة البرمجيات غالبًا إلى الحفاظ عليها. ندرس التمثيلات الكامنة المتقطعة الهرمية بوصفها تمثيلًا وسيطًا قابلًا للفحص للمصنوعات البرمجية: يضغط VQ-VAE هرمي دالة Python من 64 رمزًا إلى شفرات متقطعة خشنة ودقيقة، ولا يعيد التوليد المتقطع المقنّع سوى المواضع المختارة في ظل قيود جزئية. وعلى 2,000 دالة Python خضعت للمعالجة المسبقة، أدى تثبيت أربع شفرات من المستوى الأعلى إلى رفع معدل نجاح التحليل النحوي من 0.453 إلى 0.591، مع الإبقاء على تغيّر كبير في المواضع غير المثبّتة (حرية التعديل، 0.936) وعلى تفرّد للعينات يكاد يبلغ الحد الأقصى (التنوع، 0.998). وفي ظل سياق خشن ثابت، يكون التحسين في المستوى الأدنى أضعف، لكنه يظل رتيبًا، مما يدعم فهم التدرج الهرمي من الخشن إلى الدقيق. وإجمالًا، تقدم هذه النتائج أدلة أولية على طبقة تحكم عملية تتيح إعادة توليد محدودة النطاق وحافظة للبنية للمصنوعات البرمجية فوق مستوى الرموز.

منشور في وقائع المؤتمر الدولي الرابع والثلاثين لـ 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غير مُبلّغ عنه

النتيجة الرئيسة. يحسّن تثبيت التمثيلات الكامنة الخشنة الاستقرار النحوي من دون إلغاء التغيير في المنطقة القابلة للتحرير؛ وتُظهر النتيجة تحكمًا بنيويًا، لا تكافؤًا وظيفيًا مضمونًا.

مجموعة البيانات
2,000 دالة Python معالجة مسبقًا من مجموعة فرعية من CodeParrot Clean
حجم العينة
2,000 دالة Python معالجة مسبقًا؛ ودرجة تفرّد العينات الشرطية 0.998.
المقاييس
معدل التحليل النحوي؛ مؤشرات بديلة للحفاظ على الهيكل والتواقيع؛ معدل التغير في المواضع غير المقفلة؛ تفرّد العينات وإنتروبيتها
عدم اليقين
تعرض الدراسة المؤلفة من صفحتين تقديرات نقطية بلا فواصل ثقة أو تحليل إحصائي متعدد البذور.
الشروط
دوال من 64 رمزًا، وفك ترميز 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نص IEEERISCSL-JSONSchema.org JSON-LDOAI-DC XMLOpenAIRE v4 XMLMODS XMLبيانات JATS 1.4 الوصفية بصيغة XMLالنص الكامل بصيغة JATS 1.4 XMLRDF Turtleمجموعة الروابط (JSON)مجموعة الروابط (HTTP)RO-Crate

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

الدليل الكامل

الدليل البحثي الكامل

المنهج

تضغط الطريقة دالة Python قصيرة إلى مستويين من الشفرات المتقطعة، وتجمّد مواضع خشنة مختارة، ثم تعيد توليد المواضع المتبقية قبل فك ترميزها مجددًا إلى شفرة برمجية.

  1. ترميز

    اضغط دالة Python مؤلفة من 64 رمزًا إلى 16 شفرة في المستوى الأعلى و32 شفرة في المستوى الأدنى باستخدام VQ-VAE هرمي.

  2. ثبّت

    اختر مواضع الشفرات الخشنة التي تمثل البنية المراد الحفاظ عليها، مثل بادئة تغطي نطاق توقيع الدالة.

  3. إعادة التوليد

    نفّذ التوليد المتقطع المقنّع على المواضع غير المثبّتة وحدها، ثم فك ترميز البنية الهرمية المكتملة إلى شيفرة مصدرية.

  4. افحص

    قياس معدل التحليل النحوي، والمؤشرات البديلة للبنية، والتغير في المواضع غير المقفلة، وتفرّد العينة قبل قبول إعادة التوليد.

تظل شفرات البرنامج الخشنة المختارة ثابتة، بينما يُعاد توليد الشفرات المتقطعة الدقيقة المقنّعة وفك ترميزها إلى دالة Python معدَّلة.
يحافظ تحرير الرموز الكامنة المتقطعة الهرمية على عناصر مختارة من البنية الخشنة للبرنامج، مع إعادة توليد الرموز الدقيقة في المنطقة القابلة للتحرير.المصدر: مخطط توضيحي أعدّه المؤلف استنادًا إلى المنهج والنتائج المنشورة..شروط إعادة الاستخدام: CC BY 4.0.الإحالة المقترحة: Gavrilov et al. (2026), Inspectable Control for Structure-Preserving Software Regeneration. تنزيل SVG.

الفكرة الرئيسة

يُطبّق التحكم على تمثيل متعلَّم فوق مستوى الرموز: تحدد المواضع الكامنة الخشنة مواقع صريحة يمكن تثبيت البنية فيها، مع إبقاء تفاصيل التنفيذ المجاورة قابلة للتحرير.

الاختلاف عن المقاربات ذات الصلة

تعمل القيود على مستوى الموجِّه أو الرمز في النص الظاهري. وتتيح الواجهة المقترحة نقاط تحكم متقطعة خشنة ودقيقة، وتقيس الموازنة الناتجة بين الثبات والحرية.

ما الجديد؟

يقدّم العمل طبقة تحكم هرمي كامن قابلة للفحص ويقيّمها، بغرض إعادة التوليد المقيّد للمصنوعات البرمجية.

أسئلة يساعد هذا البحث في الإجابة عنها

افتح سؤالًا للحصول على إجابة موجزة مستندة إلى الورقة. وترد حدود الأدلة المفصلة في قسم القيود.

  1. كيف يمكن للذكاء الاصطناعي تحرير الشيفرة من دون إعادة كتابة كل شيء؟

    تدرس الورقة إعادة التوليد الجزئي للشفرة فوق مستوى الرموز. يحوّل VQ-VAE هرمي دالة Python قصيرة إلى شفرات متقطعة خشنة ودقيقة؛ وتُثبّت مواضع خشنة مختارة، ولا يغيّر التوليد المتقطع المقنّع سوى المواضع الكامنة المتبقية قبل فك الترميز. ويوفر ذلك حدود حفاظ صريحة بدلًا من إعادة توليد الدالة بأكملها.

  2. ما الأساليب التي تحفظ بنية البرنامج أثناء توليد الشفرة؟

    يختبر هذا العمل التحكم الهرمي المتقطع في الفضاء الكامن. ويمكن تثبيت المواضع الكامنة الخشنة وإعادة توليد المواضع غير المثبّتة، ثم قياس معدل التحليل النحوي والمؤشرات البنيوية البديلة. وتتعلق الأدلة باستقرار بنيوي احتمالي في دوال Python قصيرة؛ ولا تثبت الحفظ الدقيق لـ AST، أو التكافؤ الدلالي، أو الصحة الوظيفية.

  3. هل تتيح المتغيرات الكامنة المتقطعة الهرمية تحكمًا موضعيًا في الشفرة؟

    في التجربة المُبلّغ عنها، التي شملت 2,000 دالة، رفع تثبيت أربع شيفرات عليا معدل التحليل من 0.453 إلى 0.591. وفي الوقت نفسه، تغيّر 0.936 من المواضع غير المثبّتة، وكانت العينات الشرطية فريدة بنسبة 0.998. تمثّل هذه النتائج دليلًا أوليًا على أن القيود الكامنة الخشنة قد تحافظ على قدر من البنية من دون إلغاء حرية التحرير الموضعي أو تنوع العينات.

  4. كيف يمكن لتوليد الشيفرة أن يوازن بين الاستقرار البنيوي والتنوع؟

    تقيّم الورقة الاستقرار والحرية معًا بدلًا من تحسين الصحة وحدها. يرفع تثبيت الشفرات الخشنة الصحة النحوية، بينما يظل التغير في المواضع غير المثبتة مرتفعًا، وتبقى العينات الشرطية متفردة بالكامل تقريبًا. وتبرهن النتيجة على مقايضة قابلة للقياس بين الاستقرار والحرية ضمن الإعداد المختبَر، لا على أمثلية عامة.

  5. ما صلة هذا العمل بتحرير الشيفرة بمساعدة النماذج اللغوية الكبيرة؟

    النموذج المختبَر هو VQ-VAE هرمي مزوّد بتوليد متقطع مقنّع، وليس نموذجًا لغويًا كبيرًا. ومع ذلك، تظل مسألة التحكم وثيقة الصلة بالتحرير بمساعدة LLM، لأن التغييرات غير الضرورية خارج المنطقة المطلوبة تمثل مشكلة عملية. وتقدّم الورقة آلية مكمّلة في الفضاء الكامن وإطارًا للتقييم، لا معيارًا مرجعيًا لتحرير LLM.

مقارنة بالمقاربات ذات الصلة

مقارنة واقعية بين التحكم القابل للفحص لإعادة توليد البرمجيات مع الحفاظ على البنية والمقاربات القريبة
القدرةالتحكم على مستوى الرموزتحكم كامن هرمي
ثبّت البنية الخشنةمحدودالقفل الأصلي للرموز الخشنة
إعادة التوليد الجزئيقيود سطحية هشّةإعادة أخذ عينات مقنّعة للرموز المختارة
نقاط تحكم قابلة للفحصلا توجد طبقة وسيطة صريحةمواضع متقطعة خشنة ودقيقة
الأدلة الواردة في هذه الورقةلم يُقيّم بوصفه خط أساس مكتملًاتشخيصات الاستقرار النحوي وحرية التعديل

يصف الجدول الواجهات والأدلة التي قاستها الدراسة؛ ولا يدّعي الصحة الوظيفية أو التفوق العام.

الصلة والنطاق

تكتسب الورقة أكبر صلة بالأعمال التي تتطلب تحكمًا صريحًا فيما يجوز لتحويل الشفرة المدعوم بالذكاء الاصطناعي تغييره، وفي أجزاء البرنامج التي ينبغي أن تظل مستقرة.

  1. توليد شفرة قابل للتحكم ويحافظ على البنية

  2. إصلاح البرامج موضعيًا وإعادة الهيكلة المحدودة

  3. تمثيلات متقطعة هرمية للشيفرة المصدرية

  4. التوليد المتقطع المقنّع للشفرة المصدرية

  5. التحكم الكامن في المصنوعات البرمجية

اطّلع على القيود وحدود الأدلة

القيود

  • تقتصر الدراسة على دوال Python قصيرة مقطوعة عند 64 رمزًا.
  • يستخدم التقييم فك الترميز وفق 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. فتح سجل المستودعسجل Zenodo مفهرس في OpenAIRE
  3. السجل الببليوغرافيDBLP
  4. فتح السجل العلميOpenAlex
  5. سجل مخطط الاستشهاداتSemantic Scholar
  6. النص الكامل الذي أتاحه المؤلفResearchGate
  7. ملخص بلغة مبسطةKudos

يمثل DOI المنشور المعرّف الببليوغرافي الرئيس. وتظل هذه الصفحة عنوان URL المرجعي الوحيد للمشروع عبر الإصدارات.