في عالم [البرمجيات](/tag/البرمجيات) الحديث، تواجه الأنظمة العديد من التحديات بسبب العدد المتزايد من الثغرات المعلنة، مما يزيد الحاجة إلى [تقنيات](/tag/تقنيات) إصلاح أوتوماتيكية يمكن أن تعمل بكفاءة على مستوى المستودعات البرمجية. وعلى الرغم من أن [نماذج [اللغات](/tag/اللغات) الضخمة](/tag/[نماذج](/tag/نماذج)-[اللغات](/tag/اللغات)-الضخمة) (Large Language [Models](/tag/models)) قد أظهرت وعدًا في [إصلاح الثغرات](/tag/إصلاح-الثغرات) تلقائيًا، إلا أن معظم الأنظمة الحالية تتعامل مع [الإصلاح](/tag/الإصلاح) كخطوة واحدة فقط تعتمد على [السياق](/tag/السياق) البرمجي المرئي.

هنا يأتي دور MemRepair، مشروع مبتكر يهدف إلى تغيير كيفية التعامل مع [إصلاح الثغرات](/tag/إصلاح-الثغرات). يعتمد [MemRepair](/tag/memrepair) على إطار [عمل](/tag/عمل) معزز بالذاكرة، حيث يُعرّف [إصلاح الثغرات](/tag/إصلاح-الثغرات) كعملية تكرارية تستند إلى الخبرة. يجمع النظام بين ثلاث طبقات [ذاكرة](/tag/ذاكرة) متكاملة: [ذاكرة](/tag/ذاكرة) [تاريخ](/tag/تاريخ) [الإصلاح](/tag/الإصلاح) (History-Fix) وذاكرة الأنماط الأمنية (Security-Pattern) وذاكرة مسار [التحسين](/tag/التحسين) (Refinement-Trajectory)، مع حلقة [تحسين](/tag/تحسين) [ديناميكية](/tag/ديناميكية) منتظمة.

تسمح هذه التصميمات للوكيل باسترجاع [تقنيات الإصلاح](/tag/[تقنيات](/tag/تقنيات)-[الإصلاح](/tag/الإصلاح)) المتخصصة بالمستودع، وتطبيق [دفاعات](/tag/دفاعات) أمنية قابلة لإعادة الاستخدام، واستغلال [تجارب](/tag/تجارب) "الفشل إلى النجاح" لتعديل التصحيحات الدلالية التي قد تكون غير صالحة بناءً على [الأدلة](/tag/الأدلة) الحية من وقت التشغيل.

تم اختبار [MemRepair](/tag/memrepair) على ثلاثة [معايير](/tag/معايير) تمثيلية لإصلاح الثغرات على مستوى المستودع: SEC-Bench و PatchEval ([Python](/tag/python), Go, JavaScript) والمجموعة الفرعية C++ من Multi-[SWE-bench](/tag/swe-bench). حقق [MemRepair](/tag/memrepair) معدلات [دقة](/tag/دقة) إصلاح متفوقة تصل إلى 58.0% و58.2% و30.58%، متفوقًا بذلك على [وكلاء](/tag/وكلاء) ذوي أغراض عامة مثل [OpenHands](/tag/openhands) وSWE-agent بالإضافة إلى [أداة](/tag/أداة) [الإصلاح](/tag/الإصلاح) المتخصصة InfCode-C++. هذه النتائج تؤكد أن [الذاكرة](/tag/الذاكرة) الهرمية المستمرة يمكن أن تحسن بشكل كبير [موثوقية](/tag/موثوقية) [إصلاح الثغرات](/tag/إصلاح-الثغرات) [عبر](/tag/عبر) [لغات](/tag/لغات) وإعدادات مستودعات متنوعة.

[إصلاح الثغرات](/tag/إصلاح-الثغرات) البرمجية لم يعد مهمة صعبة بفضل [الابتكارات](/tag/الابتكارات) مثل [MemRepair](/tag/memrepair). فما رأيكم في هذه التطورات؟ هل توافقون على أهمية استخدام [الذاكرة](/tag/الذاكرة) في [تحسين](/tag/تحسين) [تقنيات](/tag/تقنيات) [إصلاح الثغرات](/tag/إصلاح-الثغرات)؟ شاركونا في [التعليقات](/tag/التعليقات)!