icon

البروفيسور أحمد حسن

علوم وتكنولوجيا المعلومات والاتصالات

مولود :

1976

الجنسیة:

مصر

الأعمال:

التنقيب في مستودعات البرمجيات (MSR)

السيرة الذاتية‌

هندسة البرمجيات المستقبلية
مع تقدم التكنولوجيا الحديثة، أصبح الذكاء الاصطناعي، والتنقيب عن البيانات، وتحليل البيانات الضخمة الركائز الأساسية لتحول البرمجيات. في هذا الإطار، يبرز دور الباحثين المؤثرين مثل أحمد حسن بشكل متزايد. فهو، من خلال دمج مبادئ هندسة البرمجيات، والذكاء الاصطناعي، والتنقيب عن البيانات، يسعى إلى رفع جودة البرمجيات، وزيادة أمان البيانات، والاستفادة المثلى من المعلومات الضخمة في الأنظمة الرقمية. وقد بنى هذا الباحث دراساته حول محور التنقيب في مستودعات البرمجيات (MSR) ويتيح هذا المجال الدراسي تحليل بيانات البرمجيات الموجودة باستخدام خوارزميات متقدمة في تعلم الآلة، مما يساعد مطوري البرمجيات على التعلم من الاتجاهات السابقة واتخاذ قرارات أكثر كفاءة لتطوير أنظمة المستقبل.
في مجرى الأحداث الكبيرة
ولد أحمد حسن في عام 1976 في مصر. أكمل تعليمه حتى المرحلة الثانوية في وطنه، ثم قامت والدته بالهجرة إلى كندا، مما وضعه في بيئة حياة جديدة تماما. كانت والدته مترجمة تلفزيونية في مصر، وفقدت زوجها في ذلك الوقت. كان عليها مواجهة مسؤولية تربية أبنائها بمفردها، بالإضافة إلى التحديات المهنية المحدودة في كندا، لكنها تحملت كل الصعوبات من أجل تقدم ولديها. أتم أحمد دراسته الجامعية في جامعة واترلو، ثم انتقل إلى الولايات المتحدة ليعمل على مشروع لشركة آي بي إم في سان خوسيه. ونظرا لأن قيادة المشاريع البحثية تتطلب شهادات أعلى من البكالوريوس، عاد أحمد إلى كندا وأكمل دراسته العليا (الماجستير).
من اللعب إلى النمو
في طفولته، انطلقت الشرارة الأولى لمسير أحمد العلمية بفضل عمه وزوجة عمه، اللذين اشتروا له حاسوبا كبيرا وقديما للعب والترفيه، وكان استخدامه يتطلب قراءة دليل المستخدم. أحمد، الذي لم يستخدم نظاما كهذا من قبل، أظهر فضولا كبيرا لفهمه. ونظرا لأن هذه العملية كانت منطقية ومعتمدة على الرياضيات، ومنذ البداية كان مهتما بهذه المادة، غير مساره العلمي من الرياضيات إلى علوم الحاسوب. ومع مرور الوقت وتقدم هذا الباحث في العمر، تعمق اهتمامه بهذا المجال بشكل اكبر. كان تركيز أحمد على تقدم الفراعنة والعالم الإسلامي القديم مقارنة بمستوى التقدم البشري الحالي، دافعا قويا له للمضي قدما. ويرى هذا الباحث أن مصر والعالم الإسلامي يجب أن يعوضا الفجوة التي نشأت ويعودا إلى مكانتهما السابقة.

وجهة للفخر
واصل أحمد حسن مسيرته العلمية والمهنية في مجال الحاسوب وهندسة البرمجيات، وسرعان ما أصبح باحثا بارزا في هذا التخصص. يشغل حاليا منصب أستاذ في جامعة كوينز ومدير مختبر الذكاء الاصطناعي وتحليل البرمجيات في الجامعة نفسها. إلى جانب ذلك، يعمل حسن كمدير لقسم الأبحاث الصناعية في مجلس الأبحاث الهندسية والعلوم الطبيعية في كندا. وقد مكّنته إنجازاته العلمية من أن يكون عضوا مكرما في معهد مهندسي الكهرباء والإلكترونيات وجمعية الآلات الحاسوبية. كما تعتبره المجتمعات الحاسوبية ومعهد مهندسي الكهرباء والإلكترونيات مؤسس مجال التنقيب في مستودعات البرمجيات (MSR) حصل حسن على جائزة المصطفى(ص) لعام 2023 وكان أصغر الفائزين بها، ويرى أن هذه الجائزة تمثل تقديرا عالميا لجهوده. بالإضافة إلى ذلك، لديه عدة براءات اختراع مسجلة في دول مثل كندا والولايات المتحدة والهند وأوروبا واليابان.
تأسيس مجتمع بحثي
من أهم إنجازات أحمد حسن تأسيس مجتمع بحثي واسع في مجال التنقيب في مستودعات البرمجيات. أطلق ورشة عمل تخصصية تحولت اليوم إلى ثاني أكبر مؤتمر في هندسة البرمجيات. ويؤمن أن إنشاء هذا المجتمع ضروري وهام جدا للتقدم في هذا المجال، حيث يمكن للمطورين الاستفادة من خبرات بعضهم البعض. يقول أحد أساتذة الجامعات في مجال هندسة الحاسوب عن آفاق هذه التكنولوجيا: "لن يستطيع البشر أبدا إنتاج برمجيات خالية تماما من الأخطاء". ومع زيادة متطلبات المستخدمين، ستصبح أنظمة البرمجيات أكثر تعقيدا، لذا فإن وجود مثل هذه الأساليب يساعد المطورين على بناء برمجيات أكثر كفاءة.
في مجال التعاون
يرى أحمد حسن أن العلاقات تشكل جزءا كبيرا من عملية نمو وتطوير مجتمع التنقيب في مستودعات البرمجيات على مستوى العالم. إضافة إلى ذلك، إقناع المديرين والمنظمات الممولة يعد جانبا مهما من عملية النمو هذه. تغلب حسن على طبيعته الانطوائية وتمكن من دفع مسيرته البحثية إلى الأمام وتحقيق نجاحاته‘ وبقوله: "الاتصال بالنسبة لكل عالم مهم للغاية". ومن عوامل نجاحه ارتباطه القوي مع شركات التكنولوجيا الكبرى مثل مايكروسوفت، وجوجل، وبلاك بيري، وآي بي إم، ونورتل. أتاح له هذا التعاون تطبيق أساليبه في هندسة البرمجيات على نطاق عالمي. ويؤمن أن العلاقة بين الجامعات والصناعات تساعد على تجاوز البحث العلمي النظري وتطبيقه في منتجات وخدمات واقعية.
محور التركيز
يركز حسن في أبحاثه على عدة محاور أساسية؛ منها هندسة البرمجيات المعتمدة على البيانات، حيث يتم استخراج أنماط مثلى لتطوير البرمجيات باستخدام الأساليب الإحصائية وتعلم الآلة. اضافة الى ذلك يتعمق في التنقيب في مستودعات البرمجيات، بتحليل البيانات السابقة والقديمة لفهم سلوك البرمجيات وتحسين أدائها. ومن المجالات الأخرى التي يهتم بها زيادة أمان أنظمة البرمجيات باستخدام الذكاء الاصطناعي للكشف عن التهديدات الأمنية واقتراح حلول لمواجهتها. إضافة إلى ذلك، يركز على أتمتة عملية تطوير البرمجيات ويصمم أدوات تجعل البرمجة أبسط وأكثر كفاءة.
المسيرة العلمية لأحمد حسن تظهر أن النجاح في التقنيات المتقدمة لا يقتصر على المهارة الفنية فقط، بل تشمل الرؤى طويلة الأمد، والاستجابة للاحتياجات الناشئة، والقدرة على بناء علاقات بين الأشخاص والمجالات العلمية المختلفة. بلا شك، سيكون المستقبل في هندسة البرمجيات بحاجة إلى قادة مثل هؤلاء؛ قادة يفهمون العلم ويطبقونه.
 

التعريف بالأعمال

رحلة في تطور البرمجيات
مستكشف مستودعات البرمجيات
قبل سنوات عديدة، عندما كانت الحواسيب تعرف فقط كأدوات لحساب المعادلات الرياضية، كان المخترعون الذين لا يكلون يعملون على إدخال الحاسوب إلى عالم العمل، يجب أن يدركوا أن ما يخلقونه هو أكثر من مجرد آلة حاسبة. في بداية التسعينيات من القرن العشرين، كانت أولى آلات الحساب مثل الآلة التحليلية1 لتشارلز باباج2 تستخدم بطاقات مثقبة لإدخال نصوص البرامج والبيانات إلى النظام وتخزين المعلومات. في هذه الطريقة، وجود ثقب في جزء معين يعني قيمة واحد في جبر بول (Boolean Algebra) . استُخدمت بطاقات المثقبة على نطاق واسع حتى عام 1950، بحيث كانت شركة IBM في عام 1937 تنتج عشرة ملايين من هذه البطاقات يوميا. ومع ذلك، كانت كل بطاقة مثقبة قادرة فقط على تخزين 70 بايت من البيانات. ومن ثم، جميعها معا لم تكن قادرة سوى على تخزين 679 ميجابايت من البيانات.
تجاوز القيود
في عالم اليوم، حجم معلومات شركة برمجيات بسيطة يمكن أن يتراوح في المتوسط بين عدة تيرابايتات إلى عدة عشرات من التيرابايتات! في الواقع، يبدو أن تطور الذكاء الاصطناعي ساهم بشكل كبير في التحسين المستمر في مجالي الذاكرة والتخزين في الحواسيب. عندما وصلت تقنية الذاكرة إلى مستوى يمكنها فيه معالجة وتخزين البيانات الهائلة بسرعة وكفاءة عالية، شهدت خوارزميات التعلم الآلي المعقدة3، وبالأخص فرع يسمى التعلم العميق4، انفجارا في النمو. في الماضي، كانت قيود الذاكرة تمنع تشغيل نماذج تحوي مليارات المعاملات. مع تحسن هذا الجانب، أصبح بالإمكان معالجة البيانات الكبيرة، وتوسعت حدود الابتكار في الذكاء الاصطناعي. زيادة سرعة الوصول إلى الذاكرة، تحسين سعة التخزين وتقليل التأخير، بالإضافة إلى الاستخدام المتزايد لتقنيات حديثة مثل ذواكر DRAM الحديثة ومحركات  NVMe، أتاح للحواسيب القدرة على إجراء حسابات كثيفة وثقيلة في نفس الوقت. لذا، كانت التزامن بين التقدم في الأجهزة والخوارزميات العامل الرئيسي في التطور السريع للذكاء الاصطناعي.
خلف كواليس الأكواد
هندسة البرمجيات5 هي العلم والفن في إنشاء أنظمة برمجية معقدة، وهي منهجية منظمة لتصميم وتطوير واختبار ونشر وصيانة هذه الأنظمة. بمعنى آخر، يهدف هذه التخصص إلى إنتاج برمجيات ذات جودة وأداء عالٍ وكذلك قابلة للصيانة والتطوير المستقبلي من خلال تطبيق مبادئ الهندسة. بالتالي، تساهم التكنولوجيا والخدمات في هذا المجال في مساعدة المستخدمين على تحسين الإنتاجية والاستفادة. يعتبر أحمد حسن، الباحث المعروف في هذا المجال، أن هندسة البرمجيات وسيلة تجمع عددا كبيرا من الأشخاص معا لخلق شيء متميز ومبتكر. النقطة المهمة هي جمع الناس معا والتعقيدات المتعلقة بإدارتهم، لأن هندسة البرمجيات لا تشمل فقط الجوانب الفنية للحاسوب، بل تدمج الأبعاد الإدارية وكذلك الجوانب المتعلقة بمستخدمي الحاسوب لتعمل معا على إنتاج منتج له تأثير واضح على المجتمع.
من البيانات إلى المعرفة
استكشاف مستودعات البرمجيات6 (MSR) هو مجال جديد يهدف إلى تحليل وفحص البيانات الغنية المتاحة لاستخلاص معلومات مفيدة وموثقة من مستودعات البرمجيات مثل مستودعات التحكم في الإصدارات7، أرشيف قوائم البريد الإلكتروني، أنظمة تتبع الأخطاء وغيرها8، بخصوص نظام البرمجيات الخاص بنا. يركز هذا المجال أيضا على كشف التبعيات والنظام المتعلق بالبيانات المرتبطة. مستودعات البرمجيات في الواقع قاعدة بيانات ذات حجم كبير للاحتفاظ بالسجلات التي تخزن بيانات متعلقة بمنتجات شركة حاسوبية. عادة ما تتكون مستودعات البرمجيات من جزأين؛ تُخزن البيانات في نظام التحكم في الإصدارات أو التحكم بالمصدر، بينما تُخزن بيانات التعريف (الميتاداتا) الخاصة بالتغييرات المتعلقة بكل جزء من هذه البيانات في الجزء الثاني. بعض الباحثين يعرفون استخراج أرشيفات البرمجيات على أنه عملية للحصول على الأدلة الأولية عبر استخراج البيانات من مستودعات البرمجيات. إضافة إلى ذلك، يعرف البعض مصادر البيانات كمنتجات موجهة مثل الشيفرة المصدرية9، وثائق المتطلبات، أو أرشيفات النسخ، بمعنى أن هذه المصادر هي وثائق تم إنشاؤها ذاتيا بناء على عملية بناء المنتجات نفسها. ويزعمون أن هذه المصادر لم تتأثر بشكل مباشر، ولكنها مع ذلك تظل متأثرة ومجزأة إلى حد ما.
من تقنيات MSR يمكن الإشارة إلى تحليل التغييرات الزوجية10. تقوم فكرة تحليل التغييرات الزوجية على أساس أن المطورين يقومون بشكل متكرر بتغيير الكيانات البرمجية معا لإصلاح أخطاء أو إضافة ميزات جديدة. غالبا لا تُذكر هذه العلاقات بين مكونات الشيفرة بشكل صريح داخل الكود أو الوثائق الأخرى. خاصة المطورون الجدد في المشروع قد لا يعرفون أي الكيانات يجب أن تتغير معا. هدف تحليل التغييرات الزوجية هو استخراج هذه العلاقات من نظام التحكم في النسخ الخاص بالمشروع. من خلال دراسة التغييرات المسجلة في مواقع مختلفة (commits)  وتوقيت هذه التغييرات، يمكن التعرف على الكيانات التي تغيرت بشكل متزامن بشكل مستمر. بعد ذلك، يمكن تقديم هذه المعلومات للمطورين القريبين من تعديل أحد هذه الكيانات لدعمهم في التغييرات القادمة.
من تقنيات أخرى لاستكشاف مستودعات البرمجيات تحليل مواقع التغييرات المسجلة11 في عملية إنتاج البرمجيات والتي تعرف بـ commit في أنظمة التحكم في النسخ، هناك أنواع مختلفة من الـ commits مثل تلك الـ commits المتعلقة بإصلاح الأخطاء، إضافة الميزات، التوثيق، وغيرها. لاتخاذ قرارات مبنية على حقائق بناء على الـ commits السابقة التي تؤدي إلى نتائج أدق، من الضروري اختيار مجموعات فرعية من الـ commits المتعلقة بالجزء المعني وإثراء المعلومات. كما تعد إنتاج الإحصائيات والوثائق12 من التقنيات المهمة في هذا المجال؛ حيث تسمح بإنتاج وثائق مفيدة عبر استخراج البيانات المتوفرة في مستودعات البرمجيات. على سبيل المثال، بحساب إحصائيات الاستهلاك، تساعد هذه العملية المطورين الجدد على التعرف بسرعة على الأجزاء الأكثر استخداما. بحيث يتم استخراج البيانات الأساسية من أنظمة التحكم في النسخ.
أبحاث أحمد حسن في هندسة البرمجيات تسهم بشكل ملحوظ في تسريع تقدم مجالات البرمجة والبرمجيات. وهو يعتقد أن "الفكرة العامة لجمع هذا الكم من البيانات تحولت إلى مجال واسع وناجح من الأبحاث في جميع أنحاء العالم، والآن العديد من الشركات الكبرى مثل جوجل، مايكروسوفت، وأمازون دمجت هذه الطريقة في بيئات الإنتاج والتطوير الخاصة بها ورفعت جودة برمجياتها." يمكن القول إن أبحاث استكشاف مستودعات البرمجيات تعد بمثابة دليل تجريبي يشجع المبرمجين ويمنعهم من التكرار والإعادة غير الضرورية للأخطاء. ولحسن الحظ، مع وجود باحثين مثل حسن، يتواجد هذا الدليل في الشركات الكبرى في العالم ويمنحنا أملا في تقدم أكثر ذكاءً وسرعة في التكنولوجيا.