ذكري المظهر

كيفية تجنب مشاكل البرامج

Week 4, continued

Week 4, continued

جدول المحتويات:

Anonim

في هذا العصر الرقمي ، يجب أن تكون قد سمعت عن عمالقة الوسائط الاجتماعية مثل Facebook و Twitter ومنصات التجارة الإلكترونية مثل Alibaba و Amazon. تعتمد مواقع الويب هذه على حزم البرامج المختلفة لتشغيلها. لقد غيرت هذه البرامج بصراحة الطريقة التي نعمل بها ونفكر ونعيش فيها.

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

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

، نتحدث عن 4 مناسبات غاب فيها أداء البرنامج عن بصمته وكيفية تجنب مشكلات البرامج هذه.

اقرأ أيضًا: 10 أسباب يجب ألا تكون في عجلة من أمرنا لشراء جهاز iPhone X

1. الولايات المتحدة متعددة الدول 911 انقطاع

911 هي خدمة حرجة تتيح للأفراد الاتصال بأفراد الطوارئ كلما دعت الحاجة. في بعض الأحيان ، يمكن أن يحدث التواصل مع المرسلين للطوارئ عبر 911 الفرق بين الحياة والموت.

لذلك ، كانت الكارثة تمامًا عندما فشل 911 توجيه المكالمات في 9 ولايات أمريكية في 9 أبريل 2014 ، بما في ذلك كاليفورنيا وفلوريدا ومينيسوتا ونورث كارولينا وبنسلفانيا وساوث كارولينا وواشنطن.

نتج هذا الانقطاع عن خطأ ترميز يمكن الوقاية منه ، والذي حدث في مركز لإدارة مكالمات الطوارئ في كولورادو كانت تملكه شركة Intrado.

2. تأريض أسطول الخطوط الجوية المتحدة

في يوليو 2015 ، اضطرت United Airlines إلى وضع أسطول طائراتها بالكامل بسبب خلل في البرنامج. وقد أثر ذلك على أكثر من 4900 رحلة حول العالم وترك العديد من الركاب عالقين في المطارات وإحباطهم تمامًا.

ربما كان هناك تأثير اقتصادي أيضًا لأن شركة الطيران كان يتعين عليها تعويض العديد من الركاب عن الإزعاج. ربما كان هناك أيضًا العديد من اجتماعات العمل المهمة التي تم إجهاضها بسبب الأرضية.

3. تويوتا كامري مسرع دواسة عطل

في سبتمبر 2007 ، كانت جان بوكوت تسافر على الطريق السريع 69 في أوكلاهوما مع الراكبة باربرا شوارز ، عندما واجهت صعوبات في السيطرة على سيارتها تويوتا كامري.

حاولت رفع قدميها عن دواسة الوقود ولكن السيارة استمرت في التسارع. فشلت دواسة الفرامل في إيقاف السيارة واضطرت إلى استخدام فرامل الطوارئ.

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

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

أصبح رمز Toyota فوضى متشابكة بعد عدة سنوات من الرموز الجديدة التي تراكمت على الرموز القديمة. يشار إلى هذا عادة باسم "رمز السباغيتي".

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

ومع ذلك ، أدى حادث Bookout إلى تسليط الضوء على هذه المشكلة وسلط الضوء على عيوب تويوتا في عملية برمجياتها. لقد وجد أن هناك أكثر من 10 ملايين طريقة لإمكانية حدوث تسارع غير مرغوب فيه ، بناءً على الطريقة التي تم بها هيكلة كود تويوتا.

عش ترموستات الفشل

Nest هي شركة مملوكة لشركة Alphabet ، والتي تقوم بتصنيع الحرارة الذكية. هذه الترموستاتات أنيقة للغاية وتسمح للمستخدمين بالتحكم في درجة الحرارة في منازلهم من هواتفهم الذكية.

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

انظر التالي: صور شخصية ليست تافهة كما فعلت وسائل الاعلام الاجتماعية جعلتها في الآونة الأخيرة

تحليل موجز لقضايا البرمجيات

تتيح المقاربات مثل التصميم القائم على النماذج و TLA + للمطورين الحصول على نظرة عامة أكبر على الصورة حول كيفية عمل برامجهم.

يعتقد بريت فيكتور ، وهو باحث بارز في مجال الكمبيوتر ، أن هناك انفصالًا بين المبرمجين والمشاكل التي يحاولون حلها باستخدام الرموز.

بسبب هذا الانفصال ، يصبح من الصعب على المبرمجين تصور ما يحاولون وضعه في أكواد. يعتقد Victor أن هذا أحد العوامل المساهمة في تعج البرمجيات بالاختراقات.

ومع ذلك ، هناك أمل. تتيح المقاربات مثل التصميم القائم على النماذج و TLA + للمطورين الحصول على نظرة عامة أكبر على الصورة حول كيفية عمل برامجهم.

التصميم القائم على النماذج ، كما يوحي الاسم ، يسمح لتطوير البرمجيات عبر النماذج البصرية. TLA + ، والتي تقصر باختصار Temporal Logic of Actions ، هي لغة مصممة لكتابة مواصفات برنامج كمبيوتر. إن الشيء الرائع في TLA + هو أنه يسمح بإجراء اختبار شامل والتحقق من البرنامج قبل نشره.

لقد أثبت كل من التصميم القائم على النماذج و TLA + بالفعل أنه ملح. تستخدم تقنيات Esterel ، وهي شركة لتطوير البرمجيات ، تصميمًا قائمًا على النماذج لإنشاء برنامج حاسم للسلامة ، بينما تم استخدام TLA + من قبل أمثال Microsoft لإصلاح خطأ Xbox محتمل محتمل ، ومن قبل وكالة الفضاء الأوروبية لإعادة كتابة الرموز لإجراء تحقيق هبطت على المذنب.

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

اقرأ أيضا: نحن ندفع أطفالنا نحو العمى

افكار اخيرة

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

تعتمد العمليات مثل الأتمتة اعتمادًا كبيرًا على البرامج هذه الأيام ولكن خطأ واحد في سطر التعليمات البرمجية يمكن أن يؤدي بنا إلى نكسات كبيرة كما تظهر الحالات المذكورة أعلاه.

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

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

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

انظر التالي: الذكاء الاصطناعي: الأنواع والمستقبل الذي يحمله للبشر