حدد الصفحة

إنتل تكتشف عن نظام برمجة آلي لاستكشاف أخطاء التعليمات البرمجية

إنتل تكتشف عن نظام برمجة آلي لاستكشاف أخطاء التعليمات البرمجية

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

“يمثل نظام ControlFlag أداة جديدة وفعالة يمكنها أن تختصر بشكل كبير من زمن وتكاليف تقييم وتصحيح أخطاء التعليمات البرمجية؛ حيث تظهر دراسات جديدة أن مطوري البرمجيات يمضون حوالي 50٪ من وقت عملهم في تصحيح الأخطاء. ونعتقد أن استخدام نظام ControlFlag وأنظمة مشابهة سيتيح للمبرمجين تصحيح الأخطاء خلال زمنٍ أقل، إضافة إلى تخصيص وقتٍ أكبر لإنجاز المهام بشكل أفضل وابتكار أفكار إبداعية جديدة لتطوير أداء وعمل الأجهزة والآلات”.

- جاستين جوتشليش، عالم رئيسي ومدير- مؤسس في قسم أبحاث برمجة الآلات لدى مختبرات إنتل
– جاستين جوتشليش، عالم رئيسي ومدير- مؤسس في قسم أبحاث برمجة الآلات لدى مختبرات إنتل

أهمية هذا الإنجاز: وسط عالمٍ يعتمد بشكلٍ متزايد على البرمجيات، يمضي المطورون وقتاً طويلاً في إصلاح الأخطاء والعيوب بدلاً من تركيزهم بشكلٍ كافي على البرمجة والترميز. وفي الواقع، تشير التقديرات إلى أن قطاع تكنولوجيا المعلومات ينفق نحو 1.25 تريليون دولار أمريكي على تطوير البرمجيات سنوياً، ويتم تخصيص 50% من ذلك الإنفاق لتصحيح الأخطاء والعيوب البرمجية.[1]

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

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

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

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

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

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

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

الخطوة التالية: أثبت نظام ControlFlag قدرته فعلياً على تحديد الأخطاء في رموز جودة الإنتاج التي قام مطوري البرامج بمراجعتها سابقاً. على سبيل المثال، وعند قيام نظام ControlFlag بتحليل واجهة (cURL)، وهي سطور أوامر مخصصة لنقل البيانات ومتوفرة في مصدر مفتوح ويعتمد عليها المبرمجون بشكلٍ كبير لتمكين عمليات التنزيل عبر الإنترنت، سيعمل النظام على رصد أخطاء لم يتم التعرف عليها مسبقاً، مما يتيح لمطوري واجهات cURL اقتراح حلٍ أفضل.

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


[1] http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.370.9611&rep=rep1&type=pdf

عن المؤلف

اخر الأخبار

WP Twitter Auto Publish Powered By : XYZScripts.com