ControlFlag: أداة تصحيح التعليمات البرمجية

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

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

وفقًا للبحث ، غالبًا ما يتم العثور على الأخطاء وإزالتها يدويًا ويستغرق أكثر من 50٪ من وقت عمل المطورين. 

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

حول ControlFlag

النظام يتم تدريبه من خلال بناء نموذج إحصائي من مصفوفة شفرة المصدر الحالية مفتوح منشور على GitHub والمستودعات العامة المماثلة. في مرحلة التدريب ، يحدد النظام قوالب نموذجية لبناء هياكل في الكود ويبني شجرة نحوية من الاتصالات بين هذه القوالب ، مما يعكس تدفق تنفيذ الكود في البرنامج.

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

من الخصائص من الإصدار ControlFlag 1.0 ، يتم تمييز الدعم الكامل لقوالب C والقدرة على الكشف الشذوذ في عبارات "إذا" الشرطية.

على سبيل المثال ، عند تحليل مقتطف الشفرة "if (x = 7) y = x؛" سيكتشف النظام أن بنية "المتغير == number" تُستخدم عمومًا في عبارة "if" لمقارنة القيم الرقمية ، لذلك من المحتمل أن يكون مؤشر "المتغير = الرقم" في عبارة "if" ناتجًا عن خطأ مطبعي.

الكيت يوفر برنامجًا نصيًا يسمح بتنزيل مستودعات C المتوفرة على GitHub واستخدامها لبناء نموذج. تتوفر أيضًا الطرز الجاهزة للاستخدام ، مما يتيح لك البدء في التحقق من الكود على الفور

النظام هو جزء من مشروع بحث برمجة الآلة (MPR) من Intel ، هدفها الرئيسي هو تقليل الوقت اللازم لتطوير البرامج بمقدار 1000 مرة بسبب الأتمتة.

على وجه الخصوص ، تعمل إنتل حاليًا على تدريب Controlflag على تصحيح الأخطاء المكتشفة تلقائيًا. في عام 2020 أيضًا ، أصدرت الشركة أداة MISIM ، التي تم تطويرها بالاشتراك مع مختبرات MIT ، والتي يمكنها دراسة مقتطفات التعليمات البرمجية لفهم الغرض من جزء من التعليمات البرمجية. يهدف النظام إلى استخدامه لتزويد المطورين بطرق لتحسين كفاءة التعليمات البرمجية.

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

"الميزة الرئيسية لنهج ControlFlag غير الخاضع للإشراف للتعرف على الأنماط هي أنه يمكنك أساسًا تعلم كيفية التكيف مع أسلوب المطور. لأن البرنامج لديه مدخلات محدودة لأدوات التحكم التي تحتاج إلى تقييمها. يمكن لـ ControlFlag تحديد الاختلافات المطبعية في لغات البرمجة بنفس الطريقة التي يمكن للقراء من خلالها التعرف على الاختلافات الكاملة بين الكلمات واستخدام الاختصارات الإنجليزية ".

أخيرا إذا كنت مهتمًا بمعرفة المزيد عنها حول ControlFlag ، يجب أن تعلم أنه مكتوب بلغة C ++ ومفتوح المصدر بموجب ترخيص MIT وكودها مستضاف على جيثب.


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.