في عالم البرمجة، يعتبر التحقق الرسمي من البرامج ضامنًا أساسيًا لجودتها وأمانها. لكن، تواجه البرامج الكبيرة بلغة C صعوبة كبيرة بسبب انفجار الفضاء الحالة (State-Space Explosion)، حيث تحتاج أدوات التحقق التقليدية إلى تحليل جميع الحالات حتى الحد المحدد من خلال تفكيك كل البنى المتداخلة.
هنا تظهر أداة ConVer، التي تمثل نقلة نوعية في هذا المجال. تعتمد ConVer على استراتيجية التحقق التركيبية من الأعلى إلى الأسفل، حيث تأخذ البرنامج بلغة C الذي يحتوي على تأكيدات أساسية وتبدأ بفكك التحقق بطريقة مهنية. تستخدم الأداة نموذج لغة كبير (Large Language Model - LLM) لتوليد عقود الوظائف من الخصائص النظامية، وتقوم بالتناوب بين الفحوصات على المستوى النظامي والمستوى الوظيفي ضمن حلقة CEGAR-CEGIS. إذا فشل الفحص، يتم تحسين العقود من خلال تسليط الضوء على الأخطاء بواسطة تقنية التعلم SMART ICE.
تم تقييم ConVer على أربع طُرق مرجعية ذات صعوبة متزايدة ومقارنتها مع أدوات أخرى رائدة في المجال. على سبيل المثال، في مجموعة Frama-C التي تحتوي على 45 برنامجًا بسيطًا بلغة C، حققت ConVer نجاح التحقق بنسبة تتراوح بين 82% و96% عبر ثلاثة أنظمة دعم لنموذج اللغة. بل الأدهى، أن 93-95% من البرامج التي تم التحقق منها تطلبت فقط دورة واحدة من CEGAR-CEGIS.
على صعيد آخر، في مجموعة المحللات X.509 والتي تحتوي على ست برامج، حققت ConVer نجاحًا بنسبة 33-50%. أما في مجموعة LF2C-Simple المكونة من 17 برنامجًا، فقد كان النجاح يتراوح بين 82-88%.
بالإضافة إلى ذلك، تم تقديم أداة ESBMC-LF كمساعد لمعالجة نماذج LF وتحويلها إلى C مع الحفاظ على خصائص ملفات LF، مما يمكن ConVer من التحقق منها. تم تحويل طُرق التحقق LF إلى C، وظهرت تحت عنوان LF-Hard، حيث أظهرت ConVer قدرتها على التحقق من 67% من هذه الحدود الصعبة.
بهذه الطريقة، تُحدث ConVer ثورة في كيفية التحقق من البرمجيات، مما يجعل عملية التحقق أكثر كفاءة وفعالية. هل تعتقد أن هذا التطور يمكن أن يغير مجرى تطوير البرمجيات؟ شاركونا آراءكم في التعليقات!
ثورة في التحقق الرسمي للبرمجيات: تعرف على أداة ConVer لتجاوز تعقيدات البرمجة!
أداة ConVer تقدم نهجًا مبتكرًا للتحقق الرسمي من البرامج الكبيرة بلغة C، متجاوزةً مشكلات الفضاء الحالة. بفضل دمج نماذج لغة ضخمة، تحقق ConVer نجاحاً ملحوظاً في تقليل الحاجة لفحص الحالات.
المصدر الأصلي:أركايف للذكاء
زيارة المصدر الأصلي ←جاري تحميل التفاعلات...
