← أحدث الأبحاث
💻 علوم الحاسوب

Measuring Code Level Determinants of Software Sustainability: A Systematic Literature Review

تجمع هذه المراجعة المنهجية للأدبيات لـ 137 دراسة بين المحددات والمقاييس على مستوى الكود لاستدامة البرمجيات، كاشفةً عن فجوة بحثية كبيرة في قياس الكربون مقارنة بالطاقة، وتقترح إطار عمل قرارٍ مستندٍ إلى أسس واقعية وإرشادات قابلة للتنفيذ لمساعدة المطورين على بناء برمجيات أكثر رفقاً بالبيئة.

المؤلفون الأصليون: Zoya Mahboob, Atif Jilani, Qurrat Ul Ain

نُشر 2026-10-22
📖 5 دقيقة قراءة🧠 قراءة متعمّقة

المؤلفون الأصليون: Zoya Mahboob, Atif Jilani, Qurrat Ul Ain

البحث الأصلي مرخَّص بموجب CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). ✨ هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل

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

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

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

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

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

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

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

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

غارق في أبحاث مجالك؟

تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.

جرّب Digest →