← أحدث الأبحاث
💻 computer science

CodeCureAgent: Automatic Classification and Repair of Static Analysis Warnings

تقدم هذه الورقة CodeCureAgent، وهو إطار عمل وكيل يعتمد على النماذج اللغوية الكبيرة (LLM) يقوم تلقائياً بتصنيف وإصلاح تحذيرات التحليل الساكن من خلال جمع السياق بشكل تكراري وتطبيق آلية تحقق ثلاثية الخطوات، محققاً معدل إصلاح معقول بنسبة 96.8% ومعدل إصلاح صحيح بنسبة 86.3% على مجموعة بيانات جافا واسعة النطاق، متفوقاً بشكل كبير على النماذج المرجعية الحالية.

المؤلفون الأصليون: Pascal Joos, Islem Bouzenia, Michael Pradel

نُشر 2026-04-02
📖 4 دقيقة قراءة☕ قراءة في استراحة قهوة

المؤلفون الأصليون: Pascal Joos, Islem Bouzenia, Michael Pradel

البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل

تخيل أنك مدير لمكتبة ضخمة وصاخبة (وهي تمثل الكود البرمجي الخاص بك). لقد وظفت أمين مكتبة صارمًا وشديد اليقظة (أداة تحليل ثابت - Static Analysis Tool) ليتجول في الممرات ويشير إلى أي انتهاكات للقواعد.

أمين المكتبة بارع في إيجاد المشكلات: "هذا الكتاب في الرف الخطأ!"، "هذه الصفحة ممزقة!"، "هذه القصة بها فجوة في الحبكة!".

ولكن، هناك عقبة:

  1. أمين المكتبة مفرط في الحماس: أحيانًا، يصرخ أمين المكتبة: "هذا الكتاب يفتقر إلى غلاف!" بينما الكتاب في الواقع نسخة رقمية خاصة لا تحتاج إلى غلاف. هذه هي النتائج الإيجابية الخاطئة (False Positives).
  2. الإصلاح صعب: أحيانًا يكون أمين المكتبة محقًا، لكن إصلاح المشكلة يتطلب نقل كتب عبر ثلاث غرف مختلفة، وإعادة كتابة الفهرس، والتحقق مما إذا كان الترتيب الجديد سيؤثر على القصة. هذا أمر مرهق للمديرين البشريين.
  3. النتيجة: نظرًا لأن إصلاح هذه المشكلات مرهق للغاية، فإن المديرين البشر غالبًا ما يتجاهلون ملاحظات أمين المكتبة. فتصبح المكتبة فوضوية، وفي النهاية يصبح النظام بأكمله غير موثوق به.

إليك CodeCureAgent.

فكر في CodeCureAgent كأنه متدرب ذكاء اصطناعي فائق الذكاء والدؤوب يعمل بجانبك. وبدلاً من مجرد إصلاح كل شيء يشير إليه أمين المكتبة بشكل أعمى، يمتلك هذا الذكاء الاصطناعي قوة خارقة من ثلاث خطوات: الاكتشاف، والقرار، والإصلاح.

1. مرحلة المحقق (التصنيف)

قبل أن يلمس الذكاء الاصطناعي أي كتاب، فإنه يعمل كمحقق.

  • الطريقة القديمة: كانت الأدوات السابقة تشبه الروبوتات التي تتبع أوامر أمين المكتبة بشكل أعمى. إذا قال أمين المكتبة "أصلح هذا"، يحاول الروبوت إصلاحه، حتى لو كان أمين المكتبة مخطئًا. وهذا غالبًا ما يؤدي إلى كسر الأشياء.
  • طريقة CodeCure: يسأل الذكاء الاصطناعي: "مهلًا لحظة. هل أمين المكتبة محق حقًا هنا؟"
    • يقرأ كتاب القواعد (توثيق الكود).
    • ينظر في سياق الكتاب المحدد.
    • القرار: إذا كان أمين المكتبة مخطئًا (نتيجة إيجابية خاطئة)، يقول الذكاء الاصطناعي: "تجاهل هذه الملاحظة"، ويضع عليها علامة "رجاء عدم الإزعاج". أما إذا كان أمين المكتبة محقًا (نتيجة إيجابية حقيقية)، فيقول: "حسنًا، نحتاج لإصلاح هذا".

2. مرحلة المهندس المعماري (الإصلاح)

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

  • السياق هو الملك: إذا قال أمين المكتبة "هذا الرف مرتفع جدًا"، فإن الذكاء الاصطناعي لا يكتفي بخفض الرف فحسب، بل يتحقق مما إذا كانت الكتب الموجودة على الرف أعلاه ستسقط، أو ما إذا كان الشخص الذي يقرأها عادةً سيتمكن من الوصول إليها. إنه ينظر إلى المكتبة بأكملها، وليس فقط إلى رف واحد.
  • الإصلاحات متعددة الطوابق: أحيانًا يتطلب إصلاح مشكلة واحدة نقل كتب في القبو، والعليّة، والقاعة الرئيسية. الذكതി الاصطناعي ذكي بما يكفي لتنسيق التغييرات عبر ملفات (غرف) متعددة في وقت واحد، وهو أمر لم تستطع الأدوات القديمة القيام به.

3. مرحلة مراقبة الجودة (التحقق)

هذا هو الجزء الأهم. قبل أن يسلم الذكاء الاصطناعي العمل إليك، فإنه يجري فحص سلامة صارم:

  1. اختبار البناء: هل لا تزال المكتبة قائمة؟ (هل يعمل الكود/Compile؟)
  2. فحص القواعد: هل توقف أمين المكتبة عن الصراخ بشأن هذه المشكلة تحديدًا؟ (هل اختفت التحذيرات؟)
  3. عدم خلق مشكلات جديدة: هل تسببنا بالخطأ في خلق فوضى جديدة أثناء تنظيف الفوضى القديمة؟
  4. اختبار القصة: هل لا تزال القصة منطقية؟ (هل تجتاز الاختبارات الآلية؟)

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

لماذا يعد هذا أمرًا بالغ الأهمية؟

  • أرخص من البشر: تشير الورقة البحثية إلى أن هذا الذكاء الاصطناعي يكلف حوالي 2.9 سنتًا (أقل من سنت واحد!) ويستغرق حوالي 4 دقائق لكل تحذير. قد يقضي المطور البشري ساعات في نفس المهمة.
  • أكثر ذكاءً: في الاختبارات التي أجريت على 1,000 تحذير من العالم الحقيقي، نجح هذا الذكاء الاصطناعي في إصلاح أو تجاهل 96.8% منها بشكل صحيح. بينما تمكنت الأدوات التالية له في الكفاءة من تحقيق حوالي 60-70% فقط.
  • يوقف عادة "التجاهل": نظرًا لأن الذكاء الاصطناعي يقوم بالعمل الممل والمتكرر بهذا المستوى من الجودة، يمكن للمطورين أخيرًا التوقف عن تجاهل ملاحظات أمين المكتبة. وهذا يحافظ على نظافة الكود، وأمانه، وصحته.

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

غارق في أبحاث مجالك؟

تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.

جرّب Digest →