عثرت نمذجة اللغة الإحصائية والترجمة مع المحولات العديد من التطبيقات الناجحة في فهم البرنامج ومهام الجيل، وتحديد معايير عالية للأدوات في بيئات تطوير البرمجيات الحديثة. ومع ذلك، فإن نافذة السياق المحدودة لهذه النماذج العصبية تعني أنهم لن يكونوا غير قادرين على الاستفادة من السياق الكامل بأكمله من الملفات والحزم الكبيرة لأي مهمة معينة. في حين أن هناك العديد من الجهود المبذولة لتوسيع نافذة السياق، فإننا نقدم نهجا مستقلا بالهندسة المعمارية للاستفادة من التسلسلات الهيدروجسية النحوية من التعليمات البرمجية المصدرية لإدماج سياق كامل مستوى الملف في نافذة ذات طول ثابت. باستخدام أشجار بناء جملة الخرسانة من كل ملف مصدر نستخرج التسلسلات الهرمية النحوية ودمجها في نافذة السياق عن طريق إزالة بشكل انتقائي من عرض نطاقات أكثر تحديدا وأقل أهمية لمهمة معينة. نقوم بتقييم هذا النهج على مهام توليد التعليمات البرمجية والترجمة المشتركة للغة الطبيعية ومزدئة المصدر في لغة البرمجة الثابتة، وتحقيق حالة جديدة من بين الفن في إكمال التعليمات البرمجية وتلخيص Python في معيار Codexglue. نقدم أيضا معايير CodexGlue جديدة للمهام الدوافع المتعلقة بتجربة المستخدمين: إكمال التعليمات البرمجية مع الحرفيات الطبيعية، طريقة إتمام الأسلوب / تلخيص / رمز رمز مكيف في سياق مستوى الملفات.
Statistical language modeling and translation with transformers have found many successful applications in program understanding and generation tasks, setting high benchmarks for tools in modern software development environments. The finite context window of these neural models means, however, that they will be unable to leverage the entire relevant context of large files and packages for any given task. While there are many efforts to extend the context window, we introduce an architecture-independent approach for leveraging the syntactic hierarchies of source code for incorporating entire file-level context into a fixed-length window. Using concrete syntax trees of each source file we extract syntactic hierarchies and integrate them into context window by selectively removing from view more specific, less relevant scopes for a given task. We evaluate this approach on code generation tasks and joint translation of natural language and source code in Python programming language, achieving a new state-of-the-art in code completion and summarization for Python in the CodeXGLUE benchmark. We also introduce new CodeXGLUE benchmarks for user-experience-motivated tasks: code completion with normalized literals, method body completion/code summarization conditioned on file-level context.
المراجع المستخدمة
https://aclanthology.org/
تهدف تلخيص الكود إلى توليد أوصاف لغة طبيعية موجزة من التعليمات البرمجية المصدرية، والتي يمكن أن تساعد في تحسين فهم البرنامج والصيانة. تظهر الدراسات الحديثة أن المعلومات الأساسية والهيكلية المستخرجة من أشجار بناء الجملة التجريدية (ASTS) مواتية لتوليد
يقترح البحث نظاماً جديداً يهدف إلى تخفيض زمن البحث عن ملفات الصور images عن طريق اقتراح آلية فهرسة جديدة تعالج العيوب التي عانت منها خوارزميات الفهرسة المستخدمة بحيث يصبح زمن الوصول لهذه الملفات أقل ما يمكن.
تم بدايةً في هذه الورقة توضيح أهمية الأر
يتم تدريب نماذج اللغة بشكل عام على تسلسل المدخلات القصيرة والمتقطعة، والتي تحد من قدرتها على استخدام معلومات مستوى الخطاب الموجودة في سياق طويل المدى لتحسين تنبؤاتها. أدت الجهود الأخيرة لتحسين كفاءة اهتمام الذات إلى انتشار نماذج لغة محول طويلة المدى،
نقدم COTEXT، وهو نموذج ترميز ترميز مدرب مسبقا مدرب مسبقا، يتعلم السياق التمثيلي بين اللغة الطبيعية (NL) ولغة البرمجة (PL). باستخدام الإشراف الذاتي، تم تدريب COTEX مسبقا على لغة البرمجة الكبيرة لشركة Corpora لتعلم فهم عام للغة والرمز. يدعم COTEXT مهام
يكتب مطورو البرمجيات الكثير من التعليمات البرمجية المصدر والوثائق أثناء تطوير البرمجيات. جوهريا، غالبا ما يتذكر المطورون أجزاء من شفرة المصدر أو ملخصات التعليمات البرمجية التي كتبوها في الماضي أثناء تنفيذ البرامج أو توثيقها. لتقليل رمز المطور أو سلوك