لمز سکول آف سائنس اینڈ انجینیئرنگ میں پی ایچ ڈی کمپیوٹر سائنس کی طالبہ عاطرہ انعم احمد کی شاندار تحقیق ، جو اس پریشانی کا حل تلاش کرنے میں معاونت فراہم کرتی ہے۔ عاطرہ نےحال ہی میں قابلِ تحسین تحقیقی نتائج کی بنیاد پر اپنے فائنل تھیسز کا کامیاب دفاع کیا۔
ہم جانتے ہیں کہ کمپیوٹرز ہارڈویئر اور سافٹ ویئر کا امتزاج ہیں ۔لیکن سافٹ ویئر انجینئرنگ1 کے مروجہ طریقے( جیسے کوڈ کا دوبارہ استعمال اور یکسانیت) سافٹ ویئر کے سائز ،پیچیدگی ، حفاظتی کمزوریوں اور خرابیوں کے امکانات میں نمایاں اضافہ کردیتے ہیں ۔ مزید برآں یہ طریقے سافٹ ویئر کی کارکردگی اور وثوق کوبھی کم کرتے ہیں۔ یہ صورتحال سافٹ ویئر بلوٹ2 کے مسئلے کا بنیادی سبب ہے، جو میموری3 میں وسائل کے ضیاع کا باعث بھی ہے۔
سافٹ ویئر بلوٹنگ کے عارضے کے تدارک کے لیے موجود ہ متعدد جدید ترین طریقہ کار کو بادی النظر میں دو گروہوں میں تقسیم کیا جا سکتا ہے۔ ایک وہ جنھیں تحریری طور پر اعلیٰ سطحی تفصیلی تصریحات مثلاً ٹیسٹ کیسز 4 کی ضرورت ہوتی ہے ۔ یہ طریقہ کار صارفین کے لیے بوجھل اور غیر موزوں ہو سکتے ہیں۔ دوسرے وہ طریقےہیں جو تشکیلاتی معلومات 5 واضح کرنے کے لیے سطر الامر دلائل (کمانڈ لائن آرگیومنٹس6 ) کا استعمال کرتے ہیں۔ ان کوایپلی کیشن کے کوڈ میں مستقل 7 کے طور پر پھیلاتے ہیں اورڈیڈ کوڈ کو حذف کرتے ہیں جو مستقلات موجود ہونے پر عمل میں نہیں آتا ہے ۔
اس کےپیش نظر عاطرہ کی تحقیق مندرجہ ذیل نکات پر مرکوز ہے:
اول:تحقیق میں یہ استدلال کیا گیا ہے کہ جدید ٹولز میں استعمال ہونے والے طریقہ کار، ڈیڈ کوڈ کے خاتمے کے معاملے میں غیر موثر ہیں ۔ کیونکہ وہ سیاق و سباق سے بے نیاز ہو کر کوڈ میں مستقل کو پھیلا دیتے ہیں۔ لہذا عاطرہ کے کام میں سیاق و سباق کی حساسیت پر مبنی خفیف مستقل پھیلاؤ 8 متعارف کرایا گیا ، جو صرف تشکیلاتی معلومات کے حامل متغیرات کے لیے مستقلات کی افزائش کرتا ہے ۔
دوم: جدید ٹولز جامد تشکیلاتی فائل9 سے قطع نظر یا توصرف سطر الامر دلائل10 پر انحصار کرتے ہیں یاایسی فائل سے نمٹنے کے لیے دستکارانہ طریقہ فراہم کرتے ہیں۔ اس مسئلے کو حل کرنے کے لیے خودکار فائل آئی /او تخصص11 کی تجویز پیش کی گئی ، یعنی، فائل میں جامد تشکیلاتی معلومات کوڈ میں مستقل کے طور پر اٹھائی جائے۔ یہ طریقہ کار فائل کا تجزیہ کرنے والے کوڈ کو آسان بناتا ہے اور ڈید کوڈ کو حذف کر دیتا ہے ۔
سوم: خود کار انداز سے کوڈ سائز میں کمی کے سلسلے میں تخصص کے فوائد دینے والےافعال کی نشاندہی کے لیےڈیپ لرننگ کے طریقے12 تجویز کیے گئے ہیں۔اس ضمن میں تخصص سے وابستہ افعال کی دو اقسام پر مبنی ایک تربیتی ڈیٹاسیٹ13 تیار کیا جائے گا ۔ صارف اپنے ماڈل کو اس ڈیٹاسیٹ پر تربیت دے کر ایپلی کیشنز میں قابل تخصیص اورنا قابل تخصیص افعال کی پیش گوئی کر سکیں گے۔
عاطرہ نے ٹرمر 14 پر سیاق و سباق کی خفیف حساسیت اور فائل آئی / او تخصص کو نافذ کیا ۔ انھوں نے 20 لینکس یوٹیلیٹیز 15 (بشمول جامد تشکیلاتی فائلز کے متقاضی چھے بینچ مارکس)پر اپنی مجوزہ سفارشات کو پرکھا ۔ یہ سفارشات ،سیاق و سباق کی حساسیت اور غیر حساسیت کے مقابلے میں، مشترکہ حفاظتی خطرات کو دور کرنے کے ساتھ ساتھ کوڈ کے سائز میں اوسطاً زیادہ کمی فراہم کرتی ہیں ۔
عاطرہ کے نزدیک پی ایچ ڈی آسان نہیں۔ یہ منصوبہ وقت طلب ہے۔ یہ صرف محنت یا ذہانت نہیں ہے بلکہ یہ کثیر تبادلہ خیال، مستقل مزاجی، وجوہات کی کھوج میں طویل اوقات کام کرنے، دباؤ محسوس کرنے، کئی بار ناکام ہونے اور دوبارہ کھڑے ہونے کے بارے میں ہے۔ بعض اوقات، آپ کو اپنی ذاتی ترجیحات، خاندان اور دوستوں کو نظر اندازبھی کرنا پڑتا ہے۔ الغرض صورت حال کچھ بھی ہو، اس سفر میں ثابت قدمی اور انتہائی بلند حوصلے کی ضرورت ہوتی ہے۔ وہ اپنے اس کامیاب سفر کے لیے لمز سکول آف سائنس اینڈ انجینیئرنگ کےقابل اساتذہ ، معاون عملے اور حوصلہ افزا ساتھیوں کی تہہ دل سے مشکور ہیں۔ آج کل عاطرہ ایک پرائیوٹ یونیورسٹی میں لیکچرار کی خدمات سرانجام دے رہی ہیں ۔ وہ مستقبل میں شعبہ تعلیم سے وابستہ رہنے اور معیاری تحقیق شائع کرنے کی متمنی ہیں۔
- Software Engineering
- Software Bloat
- Computer Memory
- Test Cases
- Configuration Information
- Command-Line Arguments
- Constant
- Sparse Constant Propagation
- Static Configuration File
- Command Line Arguments
- Automated File I/O Specialization
- Deep Learning
- Training Dataset
- TRIMMER - a configuration-driven code debloating tool
- Linux Utilities