مرکزی مواد پر جائیں
ہماری سائٹ پر آنے کا شکریہ — اسے دیکھیں، یا ہمیں اپنی رائے بتائیں۔خدماتبلاگرابطہ کریںMostutor پر رجسٹر کریں — پہلے 1000 صارفین کو 3 مہینے مفت
GCSE اور A-Level کمپیوٹر سائنس

بگ ہنٹنگ: مشہور کوڈنگ غلطیاں جنہوں نے لاکھوں کا نقصان کیا

Sudershan Soniمصنف Sudershan Soni 28 July 2026 7 منٹ پڑھنے کا وقت

ایک اکیلے چھوٹے ہوئے وقفہ نشان نے لانچ کے سیکنڈوں بعد لاکھوں ڈالر کے ایک راکٹ کو تباہ کر دیا۔ ایک راؤنڈنگ غلطی ایک اسٹاک ایکسچینج کے آغاز کو تقریباً کریش کر گئی۔ سافٹ ویئر کی تاریخ کی سب سے مہنگی بگز تقریباً کبھی ڈرامائی، پیچیدہ غلطیاں نہیں ہوتیں — وہ چھوٹی اور آسانی سے نظر انداز کی جانے والی ہوتی ہیں، جو اتفاق سے بالکل غلط جگہ پر بیٹھی ہوتی ہیں۔

GCSE بنیادی

میرینر 1: وہ وقفہ نشان جس نے ایک راکٹ کا نقصان کیا

1962 میں، ناسا کا میرینر 1 پروب لانچ کے پانچ منٹ سے بھی کم وقت بعد گراؤنڈ کنٹرول کے ذریعے تباہ کر دیا گیا، اس کے گائیڈنس سافٹ ویئر کے بے حد غلط اسٹیئرنگ کمانڈز جاری کرنا شروع کرنے کے بعد۔ بنیادی وجہ ہاتھ سے لکھے گئے گائیڈنس مساوات میں ایک چھوٹے ہوئے واحد حرف تک ٹریس ہوئی — ایک اسموتھنگ فارمولا جسے چھوٹے سینسر تبدیلیوں کو اوسط کرنا چاہیے تھا، اس کے بجائے ہر چھوٹے اتار چڑھاؤ کو ایک حقیقی، فوری سمت کی اصلاح کے طور پر سمجھا، راکٹ کو اس کے مطلوبہ راستے سے بھیجتے ہوئے۔

DO 5 I = 1.10intended: DO 5 I = 1,10 (a loop) — one typo (. instead of ,)DO5I = 1.10read as: create a variable and assign it 1.10 — no loop at all

ایک چھوٹے ہوئے حرف نے ایک اسموتھنگ فارمولے کو کچھ ایسا بنا دیا جو ہر چھوٹے سینسر اتار چڑھاؤ کو ایک حقیقی اسٹیئرنگ کمانڈ کے طور پر پڑھتا ہے — ایک تباہ کن نتیجے کے ساتھ ایک معمولی فرق۔

چھوٹی بگز سب سے بڑی آفات کا سبب کیوں بنتی ہیں

ایک بڑی، واضح بگ جلدی پکڑی جاتی ہے — پروگرام فوراً کریش ہو جاتا ہے، یا ٹیسٹنگ میں کوئی ایسا جواب دیتا ہے جو واضح طور پر غلط ہے جسے کوئی نوٹس کر لیتا ہے۔ جو بگز اصل نقصان پہنچاتی ہیں وہ تقریباً ہمیشہ وہ ہوتی ہیں جو ٹیسٹنگ سے بچ کر پروڈکشن تک پہنچنے کے لیے کافی باریک ہوتی ہیں: ایک لوپ میں ایک آف بائی ون غلطی، ایک راؤنڈنگ مفروضہ جو صرف کسی غیر معمولی قدر پر ٹوٹتا ہے، ایک شرط جو 99.9% وقت درست اور باقی وقت تباہ کن طور پر غلط ہوتی ہے۔ غلطی جتنی چھوٹی اور خاموش ہوتی ہے، اتنی ہی زیادہ جگہیں ہوتی ہیں جہاں یہ چھپ سکتی ہے۔

امتحان طرز کا سوال

ایک پروگرامر ایک لوپ لکھتا ہے جس کا مقصد فہرست کے تمام 10 آئٹمز (0 سے 9 تک انڈیکس شدہ) کو پروسیس کرنا ہے، لیکن 'for i in range(0, 10)' کے بجائے 'for i in range(1, 10)' لکھتا ہے۔ وضاحت کریں کہ یہ کس قسم کی بگ ہے اور اس کا کیا اثر ہوگا۔ [3 نمبر]

نمونہ جواب اور نمبروں کی تقسیم دکھائیں
  1. یہ ایک آف بائی ون خرابی ہے (1 نمبر)
  2. چونکہ انڈیکسنگ 0 سے شروع ہوتی ہے، جیسا لکھا گیا ہے وہ لوپ 1 سے شروع ہوتا ہے اور کبھی بھی انڈیکس 0 پر موجود آئٹم کو پروسیس نہیں کرتا — فہرست کا پہلا آئٹم خاموشی سے چھوٹ جاتا ہے (1 نمبر)
  3. آخری آئٹم (انڈیکس 9) اب بھی صحیح طریقے سے پروسیس ہوتا ہے، کیونکہ range(1, 10) میں حقیقتاً 9 شامل ہے — پروگرام بغیر کریش ہوئے چلتا ہے، یہ صرف خاموشی سے ایک نامکمل نتیجہ دیتا ہے (1 نمبر)

ممتحن کس بات پر توجہ دیتا ہے: مطلوبہ حد کا لکھی گئی حد سے موازنہ کر کے بالکل معلوم کریں کہ کون سا انڈیکس چھوٹ گیا ہے، محض 'آف بائی ون خرابی' کی ایک عمومی تعریف دینے کے بجائے۔

عام غلطی: یہ فرض کرنا کہ پروگرام کریش ہو جائے گا، یا یہ کہ آخری آئٹم چھوٹ گیا ہے — یہ خاص ورژن پہلے آئٹم کو چھوڑ دیتا ہے اور بغیر کریش ہوئے چلتا ہے، یہی بالکل وہ چیز ہے جو آف بائی ون خرابیوں کو خطرناک بناتی ہے: وہ ہمیشہ خود کو ظاہر نہیں کرتیں۔

ان ناکامیوں نے اصل میں کیا بدلا

میرینر 1 کی ناکامی سافٹ ویئر انجینئرنگ تعلیم میں ایک معیاری کیس اسٹڈی بن گئی، اور اس نے براہ راست متاثر کیا کہ مشن-کریٹیکل کوڈ کا جائزہ کیسے لیا جاتا ہے — یہ خیال کہ ایک واحد ٹرانسکرپشن غلطی بغیر دوسری جانچ کے کسی لائیو گائیڈنس سسٹم تک کبھی پہنچ سکتی ہے، بالکل وہی ہے جسے جدید کوڈ ریویو، خودکار ٹیسٹنگ، اور رسمی تصدیق روکنے کے لیے موجود ہیں۔ ہر مشہور تاریخی بگ، ایک حقیقی معنوں میں، وہ وجہ ہے کہ آج ایک مخصوص انجینئرنگ حفاظتی اقدام کیوں موجود ہے۔ اگر ڈی بگنگ، ٹیسٹنگ، یا سافٹ ویئر انجینئرنگ کی مشق کو صرف امتحانی مواد کی بجائے حقیقی پیشہ ورانہ مہارت کے طور پر سمجھانے کی ضرورت ہے، تو یہی بالکل وہ ہے جس کے لیے ہماری GCSE کمپیوٹر سائنس ٹیوشن ہے — مکمل سیکھنے کا راستہ یہاں دیکھیں۔

عمومی سوالات

کیا میرینر 1 ہائیفن بگ واقعی صرف ایک حرف تھا؟

کہانی کا سب سے زیادہ دہرایا گیا ورژن ایک گائیڈنس مساوات میں ایک چھوٹا ہوا ہائیفن (یا اصل FORTRAN نوٹیشن میں، ایک اوور بار) ہے، جس کی وجہ سے راکٹ کے گائیڈنس سافٹ ویئر نے ایک فارمولے کی غلط تشریح کی اور غلط اسٹیئرنگ کمانڈز جاری کیں — راکٹ کو لانچ کے 5 منٹ سے بھی کم وقت میں جان بوجھ کر تباہ کر دیا گیا تاکہ اسے کسی آبادی والے علاقے میں گرنے سے روکا جا سکے۔ کچھ مورخین درست تکنیکی تفصیل پر بحث کرتے ہیں، لیکن بنیادی سبق — ایک چھوٹی، آسانی سے چھوٹ جانے والی غلطی جو تباہ کن ناکامی کا سبب بنتی ہے — اچھی طرح دستاویزی ہے۔

"آف بائی ون" غلطیاں اتنی بار کیوں ہوتی ہیں؟

کیونکہ کوڈ میں گنتی اکثر 0 سے شروع ہوتی ہے، 1 سے نہیں — کسی فہرست کا پہلا آئٹم عام طور پر پوزیشن 0 پر ہوتا ہے، پوزیشن 1 پر نہیں — اور کسی بھی سمت میں بالکل ایک پوزیشن سے ہٹ کر ایک لوپ یا شرط لکھنا انتہائی آسان ہے۔ یہ تمام پروگرامنگ میں سب سے عام بگ کیٹیگریز میں سے ایک ہے، بالکل اس لیے کیونکہ غلطی اتنی چھوٹی اور بغیر توجہ کیے کرنا اتنا آسان ہے۔

آج اس طرح کی بگز کو پروڈکشن تک پہنچنے سے اصل میں کیا روکتا ہے؟

خودکار ٹیسٹنگ (شپ کرنے سے پہلے کوڈ کو معلوم متوقع نتائج کے خلاف چلانا)، کوڈ ریویو (کوڈ مرج ہونے سے پہلے ایک دوسرا شخص منطق کی جانچ کرتا ہے)، اور زیادہ سختی سے ٹائپ کی گئی زبانیں جو پروگرام چلنے سے پہلے ہی کچھ قسم کی غلطیاں پکڑ لیتی ہیں۔ ان میں سے کوئی بھی صفر بگز کی ضمانت نہیں دیتا، لیکن وہ اس طرح کی چھوٹی، آسانی سے چھوٹ جانے والی غلطیوں کی بھاری اکثریت پکڑ لیتے ہیں جنہوں نے سب سے مشہور تاریخی ناکامیوں کا سبب بنا۔

قارئین کی درجہ بندی اور تبصرے

اس مضمون کو کئی مختلف پہلوؤں پر درجہ دیں — آپ کی درجہ بندی دوسرے قارئین کی مدد کرتی ہے، اور ہمیں بہتر بنانے میں مدد کرتی ہے۔

مواد
تصاویر
پیشکش
زبان کی وضاحت
افادیت

0/3000

کیا یہ مضمون مفید تھا؟

ہمیں اپنی رائے بتائیں — کوئی اصلاح، کوئی سوال جس کا جواب نہیں ملا، یا کوئی موضوع جسے آپ اگلی بار کور ہوتے دیکھنا چاہتے ہیں۔

بات کرنا پسند کریں گے؟ اپنی سہولت کے وقت مفت ویڈیو کال بک کریں: فوری سوال کے لیے 15 منٹ، باقی کے لیے 30 منٹ۔ اوقات آپ کے اپنے ٹائم زون میں دکھائے جاتے ہیں۔

Sudershan Soni

مصنف کے بارے میں

Sudershan Soni

موسٹک سروسز میں بانی اور مرکزی استاد — MSc اہلیت یافتہ ریاضی، سائنس، کمپیوٹر سائنس اور STEM کے استاد، 20 سال سے زائد پیشہ ورانہ تجربے کے ساتھ، 11+ اور GCSE سے A-Level اور اس سے آگے تک کے طلبہ کو دنیا بھر میں آن لائن پڑھاتے ہیں۔

مکمل پروفائل پڑھیں

کیا کمپیوٹر سائنس حقیقی سمجھ بنائے؟

انفرادی اسباق اصل ڈی بگنگ مہارت بناتے ہیں، صرف سنٹیکس رٹنا نہیں۔ ایک مفت گفتگو بک کریں اور ہم آپ کو دکھائیں گے کیسے۔