تشهد صناعة البرمجيات تطوراً مستمراً، مما يجعل من الضروري التأكد من أن أي تعديلات تُجرى على الكود لا تخل بسير العمل المتوقع. هنا يأتي دور عملية تحقق التراجع (Regression Verification) التي تسعى لحل هذه المعضلة. لكن، كما هو معروف، تتطلب التقنيات المستخدمة حالياً في هذا المجال موارد كبيرة للتفكير الشامل في البرنامج أو تعتمد على مواصفات مكتوبة يدوياً، والتي نادراً ما تكون متاحة في الواقع.
لكل من يبحث عن حلول جديدة، نقدم لكم الأداة الأولى في مجال تحقق التراجع المعتمدة على العقود. تضمن صحة العقود من خلال إثبات تطابق جميع نسخ الوظائف مع سلوك التطبيق المتوقع. يقوم العقد بالتحقق من تدفق البرنامج من خلال افتراض-ضمان (Assume-Guarantee). يطرح الباحثون سؤالًا مثيرًا: هل يكفي استخدام عقد جزئي يكون كافياً للمناديات، بدلاً من الاعتماد على مواصفة سلوكية كاملة؟
قام فريق البحث بدراساتهم على مشاكل Frama-C ووجدوا أن العقود المستفادة كانت أكثر تشديدًا مما تحتاجه المناشئ، مما يشير إلى أن العقود الجزئية قادرة على التقاط الكثير من الضيق المستهدف بالفعل. وهذه النتيجة تعني أن التوقف عند حد الكفاية للمنادي لا يكلف سوى القليل. الأداة أثبتت أيضًا صحتها؛ حيث لم تسجل أي مزاعم خاطئة عند فحصها باستخدام مجموعة EqBench-C. علاوة على ذلك، تمكنت من تسليط الضوء على تسع أزواج كانت أداة أخرى تصنفها بشكل خاطئ.
تتمثل أبرز ميزات هذه الأداة في أنها تستخرج العقود تلقائيًا من أمثلة عدم الصحة للمدقق، دون الحاجة إلى خطوة مواصفة منفصلة، ما يجعل نتائج التحقق تتطابق مع حلولا مثل AutoSpec وPreguss. وهذا يدعونا للتفكير في مدى أهمية التحقق المستمر من الأمان في برامجنا.
تحقق التراجع الذكي: أدوات جديدة لتقليل التكاليف وتحسين الكفاءة!
تم الكشف عن أداة تحقق تراجع جديدة تعزز الكفاءة وتقلل التكاليف المرتبطة بالتحقق البرمجي. هذه الأداة تعتمد على العقود الجزئية لتبسيط عملية التحقق دون الحاجة للعودة إلى الشيفرة الأصلية بالكامل.
المصدر الأصلي:أركايف للذكاء
زيارة المصدر الأصلي ←جاري تحميل التفاعلات...
