بگ کیا ہے؟ سافٹ ویئر بگ ایک سادہ غلطی یا ناکامی سے زیادہ کچھ نہیں ہے جو کمپیوٹر پروگرام سسٹم میں ہو سکتا ہے۔ جس کا نتیجہ آپ کے ڈویلپر کے ارادے سے غیر متوقع اور غلط رویے کا نتیجہ ہوگا۔
اس قسم کی بہت سی ناکامیوں کا اندازہ لگانا واقعی زیادہ مشکل ہو سکتا ہے اور اس کے نتیجے میں بہت بڑی پریشانیاں بھی ہو سکتی ہیں۔ مثال کے طور پر، کارکردگی کا نقصان، مجازی جرائم اور معلومات اور ڈیٹا کی چوری.
تو یہ ایک منطقی ناکامی ہے، جو اس وقت ہوتی ہے جب پروگرامنگ زبان میں کچھ تنازعات کا سامنا ہوتا ہے۔ اور اس کی وجہ سے پروگرام صحیح طریقے سے چلنا بند ہو سکتے ہیں۔
کیڑے مختلف ماخذ ہوسکتے ہیں جیسے، ریاضی، منطق، نحو، ملٹی تھریڈنگ، خصوصیات، انٹرفیس اور بہت کچھ۔ لہذا، ان کو پہچاننے اور اس طرح ان کی ظاہری شکل سے بچنے کے لیے، بہت سی کمپنیاں ڈیبگنگ اور بہت سے ٹیسٹ کرواتی ہیں۔
ہمیں یقین ہے کہ آپ سمجھ سکتے ہیں کہ بگ صحیح کیا ہے۔ آئیے اب اس اصطلاح کی اصل کے بارے میں کچھ اور جانتے ہیں۔ چلو!
آپ کی اصل کیا ہے؟
لفظ "Bug" انگریزی ہے، جس کا لفظی ترجمہ "Insect" ہے۔ یہ لفظ 1870 کی دہائی میں انجینئروں نے کاموں میں نقائص کو پیش کرنے کے لیے پہلے ہی استعمال کیا تھا۔ اور دیکھو اس وقت چھوٹی چھوٹی الیکٹرانکس، کمپیوٹر اور سافٹ ویئر نہیں تھے۔
کچھ مکینیکل مشینوں کو بیان کرنے کے لیے اس اصطلاح کے ریکارڈ بھی موجود ہیں جو ٹھیک سے کام نہیں کرتی تھیں۔ صرف آپ کو ایک خیال دینے کے لیے، یہاں تک کہ عظیم موجد ٹامس ایڈسن نے بھی اس موضوع پر بات کرنے والے دوستوں کو خطوط بھیجے۔
تو اس سب کے ساتھ اس اصطلاح کو کائنات کی طرف منتقل کیا گیا۔ کمپیوٹرزیہ 1940 کی دہائی کی بات ہے۔ جب گریس ہوپر، ایک کمپیوٹر سائنس دان، ہارورڈ میں مارک II کمپیوٹر کے ساتھ کام کر رہے تھے۔
چنانچہ کچھ دیر مشین میں خرابی تلاش کرنے کی کوشش کے بعد، اس کے ساتھیوں نے ریلے میں ایک کیڑا پھنسا پایا۔ اس وقت کسی نے اس کا نوٹس نہیں لیا۔
لیکن جیسے جیسے وقت گزرتا گیا، اس طرح کہانی کو مختلف طریقے سے بتایا جانے لگا، جسے کمپیوٹنگ کائنات میں بگ کا پہلا کیس سمجھا جاتا ہے۔
یہاں تک کہ نیشنل میوزیم آف امریکن ہسٹری، جو کہ ریاستہائے متحدہ میں ہے، نے 9 دسمبر 1947 کے واقعات کی ریکارڈ بک کو 7 کلیدوں کے نیچے رکھا ہے۔ اب تک کا پہلا حقیقی گھر ہے۔
پی سی کے لیے کیڑے اور کمزوری:
اب جب کہ آپ جانتے ہیں کہ یہ کیا ہے، یہ اصطلاح کیسے آئی تو آئیے اس مسئلے کے بارے میں بات کرتے ہیں جو وہ لاتے ہیں۔ خاص طور پر اگر وہ ناکامیوں اور سیکیورٹی کے مسائل سے منسلک ہوں۔
بہت سے ہیکرز سسٹم میں اس کمزوری کا فائدہ اٹھانا چاہتے ہیں اور جرائم کا ارتکاب کرنا چاہتے ہیں، جیسے کہ کریڈٹ کارڈز، پاس ورڈز اور بہت کچھ جیسی حساس معلومات چرانا۔
عام طور پر جب ہیکرز بگز کا فائدہ اٹھاتے ہیں، تو وہ ایک ساتھ بہت سارے وائرس اور مالویئر پھیلاتے ہیں، جو کہ بہت سے لوگوں کے کمپیوٹرز کو بھی نقصان پہنچا سکتے ہیں۔ اس کی وجہ سے، بڑی کمپنیاں نظام کی حفاظت میں ممکنہ خامیوں کو جلد از جلد درست کرنے کے لیے پروگرام تیار کرتی ہیں۔
بیٹا ٹیسٹ:
آج کل، مارکیٹ میں ریلیز ہونے والے تمام سافٹ ویئر بیٹا ٹیسٹوں کی ایک سیریز سے گزرتے ہیں، یہ خامیوں کا پتہ لگانے اور انہیں دور کرنے میں کام کرتا ہے۔ ٹیسٹنگ عام طور پر اس وقت کی جاتی ہے جب تمام خصوصیات موجود ہوں، لیکن پروگرام ابھی تک غیر مستحکم نہیں ہے۔
بیٹا ٹیسٹنگ کے بہت سے مراحل QA محکموں کے ملازمین کے ذریعے کیے جاتے ہیں۔ لیکن بیٹا ریلیزز بھی ہیں، جو خود ہی صارف ہیں جو ٹیسٹ کرواتے ہیں۔
یہ بیٹا ریلیز پیشہ ور عام طور پر عوامی لوگ ہوتے ہیں اور کچھ نجی ادارے بھی، کیونکہ جتنے زیادہ لوگوں کی جانچ ہوتی ہے اتنا ہی بہتر ہوتا ہے۔ اس طرح، کمپنی متعدد فیڈ بیکس حاصل کرتی ہے اور کسی بھی چھوٹی چھوٹی چیز کو زیادہ تیزی سے حل کرتی ہے۔
یہ بتانا ضروری ہے کہ کئی قسم کے پروگرام دائمی بیٹا ٹیسٹنگ کی حالت میں رہتے ہیں، جہاں ہر نئی ریلیز کے ساتھ نئی خصوصیات متعارف کرائی جاتی ہیں۔ لیکن وہ کبھی بھی حتمی ورژن میں نہیں آتے ہیں۔
گوگل کمپنی اکثر ایسا کرتی ہے، خاص طور پر جی میل اور گوگل نیوز کے ساتھ، وہ 2000 سے مستقل بیٹا کی حالت میں ہیں۔ وہ 2009 تک بیٹا ٹیسٹنگ میں تھے، پھر وہ چلے گئے۔
یہ بہترین تکنیک اجازت دیتا ہے۔ ڈویلپرز ممکنہ مسائل کی ذمہ داری لینے اور اس طرح پروگراموں کو مکمل تعاون کی پیشکش کرنے سے پہلے، زیادہ انتظار کرنے کے قابل۔
بگ فکسنگ سافٹ ویئر:
کمپیوٹنگ میں کیڑے تلاش کرنے اور درست کرنے کے عمل کو ڈیبگنگ کہا جاتا ہے۔ فلو کنٹرول کا تجزیہ کرنے سے لے کر میموری ڈمپ تک، ایسا کرنے کے لیے بہت ساری تکنیکیں اور حکمت عملی موجود ہیں۔
جیسا کہ ہم نے پہلے ذکر کیا ہے، ڈیبگنگ کی اصطلاح کمپیوٹر کا حوالہ دینے کے لیے لفظ بگ کے پہلے استعمال کے ساتھ سامنے آئی۔
مسائل کو تلاش کرنے کے لیے خودکار ٹولز ڈیبگرز یا ڈیبگرز کے نام سے جانے جاتے ہیں۔ جان لیں کہ اس قسم کے سافٹ وئیر میں پروگرام کوڈ کو ورچوئل مشین کے اندر چلانا بہت عام ہے۔ تاکہ اس نظام کے اندر موجود خرابیوں کا پتہ چل جائے۔
سب سے مشہور ڈیبگرز سے ملیں:
- چاند گرہن - جاوا
- آرم ڈی ڈی ٹی – C++
- والگرینڈ - لینکس
- فائر فاکس جاوا اسکرپٹ ڈیبگر - جاوا اسکرپٹ
- WinDbg - مائیکروسافٹ ونڈوز
- ایکس پیڈیٹر - مین فریم
مشہور مقدمات:
میڈیا کی توجہ کی وجہ سے کمپیوٹر کے بہت سے کیڑے آج بھی بہت سے لوگوں کو یاد ہیں۔ سب سے زیادہ مشہور میں سے ایک یقینی طور پر ہے Y2K (ملینیم بگ کے نام سے جانا جاتا ہے)۔ ہم پہلے ہی اس کے بارے میں بات کریں گے، کیونکہ وہ معزز یا ذلت آمیز ذکر کے مستحق ہیں۔
اہم راکٹ Ariane 5 تھا، جسے CNES (فرانسیسی خلائی ایجنسی) نے 06/4/1996 کو لانچ کیا تھا۔ Ariane 5 راکٹ لانچ کے 30 سیکنڈ بعد پھٹ گیا، جس سے تقریباً 370 ملین ڈالر کا نقصان ہوا۔ اور خوش قسمتی سے کسی کو نقصان نہیں پہنچا، کیونکہ یہ صرف ایک ٹیسٹ تھا اور جہاز میں کوئی نہیں تھا۔ چیک کریں دھماکے کی ویڈیو.
دھماکے کی وجہ؟ ایک کمپیوٹر بگ، جہاں غلطی 64 بٹ ڈیٹا کو تبدیل کرنے میں تھی، جو کہ 16 بٹ ڈیٹا کے مقابلے میں بہت زیادہ پیچیدہ ہے۔
یہ مسئلہ کے طور پر جانا جاتا ہے اوور فلو کو مربوط کریں۔جس کا مطلب ہے Integral Extravasation۔ جو بدلے میں 16 بٹ متغیر کے ذریعہ تعاون یافتہ اس سے بڑا نمبر بنانے پر مشتمل ہوتا ہے۔
تو سال 2013 میں کرس رینالڈز جاگتے ہی چونکا، وہ دنیا کا امیر ترین آدمی بن چکا تھا۔ یہ سب پے پال سافٹ ویئر میں ایک بگ کی وجہ سے ہے۔ وہ اکاؤنٹ میں $ 92,233,720,368,547,800 quadrillion ڈالر کے ساتھ جاگ گیا۔
یہ اور بھی مضحکہ خیز ہے کیونکہ مسٹر۔ رینالڈس یہاں تک کہ اگر مختصر مدت کے لیے میکسیکن کارلوس سلم سے صرف 1 ملین گنا زیادہ امیر ہو۔ جو اس وقت دنیا کا امیر ترین آدمی تھا، جس کی دولت $ 67 بلین ڈالر تھی۔
چنانچہ جیسے ہی پے پال کے ادائیگی کے نظام کے ذریعے غلطی کا پتہ چلا، آپریشن کو تیزی سے تبدیل کر دیا گیا اور مسٹر۔ رینالڈس معمول پر آ گئے۔
ملینیم بگ کیا ہے؟
ملینیم بگ، جسے Y2K بگ کے نام سے بھی جانا جاتا ہے، ایک ایسا بگ تھا جہاں یہ خیال کیا جاتا تھا کہ ہزار سال کے اختتام پر، تمام کمپیوٹرز سال 2000 کی بجائے یکم جنوری 1900 کی تاریخ دکھانا شروع کر دیں گے۔
یہ سب 60 کی دہائی کے سافٹ ویئر کی وجہ سے ہے جو سال کی قدر کی نمائندگی کرنے کے لیے صرف 2 ہندسوں کا استعمال کرتا ہے۔ اس سے میموری کی جگہ اور یقینا پیسہ بچ گیا۔ اس طرح، صرف "60" درج کیا گیا تھا، مثال کے طور پر، "19" کے ساتھ جو اس کے سامنے ظاہر ہوگا۔
چنانچہ کئی سالوں میں بہت سے پروگراموں کو نئے فارمیٹس میں اپ ڈیٹ کیا جا رہا تھا، جس نے بدلے میں سال 2000 کو سپورٹ کیا اور اس طرح مسئلہ حل ہو گیا۔
لیکن 1990 کی دہائی کے آخر میں، یہ پتہ چلا کہ بہت سی کمپنیاں، خاص طور پر بڑی کمپنیوں نے اس صورت حال سے نمٹنے کے لیے ابھی تک اپنے سافٹ ویئر کو اپ ڈیٹ نہیں کیا تھا۔
اور چیزوں کو مزید پیچیدہ بنانے کے لیے، Bios کا نظام موجود تھا، جو زیادہ تر وقت صرف دو ہندسوں کو تاریخ دکھانے کے لیے استعمال کرتا تھا۔ اور اس کے نتیجے میں مالیاتی نظام کے بارے میں بہت زیادہ تشویش پیدا ہوئی۔ کیا عیب اس پر بھی اثر انداز ہو سکتا ہے اور اس کے نتائج کیا ہوں گے؟
اگر تاریخ خود بخود جنوری 1900 مقرر کر دی جائے تو سود منفی ہو جائے گا، اور جس کے پاس رقم واجب الادا ہے وہ پھر مقروض ہو جائے گا۔ اور ٹکٹ؟ جہاں تک ان لوگوں کا تعلق ہے جو، بدلے میں، نئے ہزاریہ کے پہلے مہینے کے لیے ہونے والے تھے، وہ اس وقت 100 سال پیچھے ہوں گے۔
ملینیم بگ کو کیسے ٹھیک کیا گیا؟
ہم صرف اتنا جانتے ہیں کہ آخر کچھ نہیں ہوا، وہ سب کچھ نہیں ہوا جس کی پیشین گوئی کی گئی تھی۔ نظام کی طے شدہ تاریخ کی وجہ سے کوئی تباہی یا سانحہ رونما نہیں ہوا۔
اگرچہ کچھ نہیں ہوا، یہ واضح تھا کہ یہ صرف پروگراموں کی عام اپ ڈیٹ کی دوڑ تھی، جس سے پوری دنیا میں بہت زیادہ اخراجات ہوئے۔
اس بات کا تذکرہ نہ کرنا کہ ہزار سال کے اختتام پر بہت سے لوگ، اور یہاں تک کہ کمپنیاں، پہلے ہی سال 2000 کے تعاون کے ساتھ نئے اور زیادہ جدید کمپیوٹر خرید چکے تھے۔
کچھ چھوٹے واقعات رونما ہوئے، جیسے سپین میں جہاں کچھ پارکنگ میٹروں نے اپنے آپریشن میں غلطیاں دکھائیں۔
فرانس میں یکم جنوری کے لیے موسم کی پیشن گوئی 19,100 نیشنل انسٹی ٹیوٹ آف میٹرولوجی نے دی، یہ اعلان ان کی اپنی ویب سائٹ پر حقیقی وقت میں کیا گیا۔ اور آسٹریا میں بس ٹکٹوں کی تصدیق کرنے والی چند مشینوں نے بھی کام کرنا چھوڑ دیا۔
نتیجہ:
اب آپ جانتے ہیں کہ بگ کیا ہوتا ہے، جان لیں کہ وہ چھوٹی غلطیوں سے لے کر بڑے حفاظتی مسائل تک کی نمائندگی کرتے ہیں، جو پریشانی کا باعث ہو سکتے ہیں۔ لیکن وہ مسٹر کی طرح مضحکہ خیز اور تفریحی کہانیاں بھی لے سکتے ہیں۔ رینالڈس جو کیش میں گھومتے ہوئے اٹھے۔
لیکن کسی بھی طرح سے، وہ ایسے مسائل ہیں جن سے سافٹ ویئر ڈویلپر زیادہ سے زیادہ بچنے کی کوشش کرتے ہیں۔ اور اسی مقصد کے لیے بیٹا ٹیسٹوں کو فروغ دیا جاتا ہے جن کا ہم نے پہلے ذکر کیا تھا۔
کیونکہ بیٹا ٹیسٹ کے ساتھ آپ کو پروڈکٹ کو اس کے آخری ورژن میں لانچ کرنے سے پہلے بہت زیادہ فیڈ بیک ملتا ہے، اور یہ کہ یہ مارکیٹ کے لیے مستحکم ہے۔
اس لیے ہماری سفارش یہ ہے کہ: اپنے پروگراموں اور آپریٹنگ سسٹم کو ہمیشہ اپ ٹو ڈیٹ رکھیں۔ یہ بہت اہم ہے کیونکہ یہ سادہ اپ گریڈ اکثر بہت سے مسائل اور حفاظتی سوراخوں کو ٹھیک کر دیتے ہیں۔ اپنے پروگراموں کو بہت زیادہ محفوظ رکھنے کے علاوہ۔
تو بس، ہم امید کرتے ہیں کہ آپ کو ہمارا مضمون پسند آیا ہو گا، آئیے یہیں رکتے ہیں۔ اور اب جب کہ آپ جانتے ہیں کہ بگ کیا ہے، ان سے دور رہنے کی کوشش کریں۔ ایک بڑا گلے اور کامیابی؟