تُعتبر مشكلة توقف البرامج (Halting Problem) أحد التحديات المركزية في علوم الحاسوب، حيث أظهر عالم الرياضيات آلان تورينج استحالة وجود خوارزمية يمكنها تحديد ما إذا كان أي برنامج يتوقف أم لا بالنسبة لجميع المدخلات. هذه القضية المعقدة تجعل من أدوات التحقق (Verification Tools) تعتمد على تقريب الحلول، وغالبًا ما تفشل في إثبات أو دحض توقف البرامج. تتعلق هذه الأدوات بهيكلية معينة لمشكلات محددة، وعادة ما تكون مرتبطة بلغات برمجة معينة.

في الآونة الأخيرة، أثارت التطورات الجديدة في نماذج اللغات الضخمة (LLMs) سؤالًا محوريًا: إلى أي مدى يمكن لهذه النماذج التفكير في مسألة توقف البرامج؟

قمنا بتقييم أحدث نماذج اللغات مثل GPT-5 وClaude Sonnet 4.5 من خلال مجموعة متنوعة من برامج بلغة C، وذلك في إطار المنافسة الدولية للتحقق من البرمجيات (SV Comp) لعام 2025. وكانت النتائج مثيرة للاهتمام، حيث تحقّق النماذج درجات مشابهة لأدوات التحقق المتقدمة، خاصة عند النظر في زمن الاختبار.

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

لتحليل هذه الفجوة، قدمنا صياغة جديدة تُسمي (Divergence Precondition)، التي تصور حالات عدم التوقف كقيود منطقية. نأمل أن تساهم هذه النتائج في تحفيز مزيد من الأبحاث على معايير التوقف الواقعية، وأيضاً على الأساليب العصبية الرمزية التي تجمع بين LLMs وطرق التحقق الرمزية. كما سيفتح هذا البحث آفاقًا جديدة للنظر في كيفية تعامل هذه النماذج مع مشاكل أخرى غير قابلة للقرار.

هل ترون أن نماذج اللغات الضخمة ستحدث ثورة في طرق التحقق من البرامج؟ شاركونا آراءكم في التعليقات!