Software assurance
سافٹ ویئر اشورینس (ایس ڈبلیو اے) سافٹ ویئر کی ترقی میں ایک اہم عمل ہے جو سافٹ ویئر مصنوعات کی وشوسنییتا، حفاظت اور سلامتی کو یقینی بناتا ہے۔ اس میں مختلف قسم کی سرگرمیاں شامل ہیں، جن میں ضروریات کا تجزیہ، ڈیزائن کے جائزے، کوڈ معائنہ، جانچ اور رسمی تصدیق شامل ہیں۔ سافٹ ویئر اشورینس کا ایک اہم جزو محفوظ کوڈنگ کے طریقے ہیں، جو صنعت کے قبول شدہ معیارات اور بہترین طریقوں پر عمل کرتے ہیں، جیسے کہ سافٹ ویئر انجینئرنگ انسٹی ٹیوٹ (ایس ای آئی) نے اپنے سی ای آر ٹی سیکیور کوڈنگ اسٹینڈرڈز (ایس سی ایس) میں بیان کیا ہے۔ سافٹ ویئر اشورینس کا ایک اور اہم پہلو ٹیسٹنگ ہے، جو سافٹ ویئر ڈویلپمنٹ کے عمل کے مختلف مراحل پر کیا جانا چاہیے اور اس میں فنکشنل ٹیسٹنگ، پرفارمنس ٹیسٹنگ اور سیکیورٹی ٹیسٹنگ شامل ہو سکتی ہے۔ جانچ سافٹ ویئر مصنوعات میں کسی بھی نقائص یا کمزوریوں کی نشاندہی کرنے میں مدد کرتی ہے اس سے پہلے کہ وہ جاری کیے جائیں۔ مزید برآں، سافٹ ویئر اشورینس میں رسک مینجمنٹ اور کوالٹی مینجمنٹ جیسے تنظیمی اور انتظامی طریقے شامل ہیں تاکہ یہ یقینی بنایا جا سکے کہ سافٹ ویئر پروڈکٹس اسٹیک ہولڈرز کی ضروریات اور توقعات کو پورا کرتی ہیں۔ سافٹ ویئر کی یقین دہانی کا مقصد یہ یقینی بنانا ہے کہ سافٹ ویئر خطرے اور افعال سے پاک ہے جیسا کہ سافٹ ویئر ڈویلپمنٹ کے عمل کو کنٹرول کرنے والی تمام ضروریات اور معیارات کے مطابق ہے۔ [3] مزید برآں، سافٹ ویئر اشورینس کا مقصد سافٹ ویئر پر مبنی ایسے نظام تیار کرنا ہے جو زیادہ محفوظ ہوں۔ اس کو حاصل کرنے کے لیے، ممکنہ کمزوریوں کا ایک روک تھام متحرک اور جامد تجزیہ درکار ہے، اور ایک جامع، نظام کی سطح کی تفہیم کی سفارش کی جاتی ہے۔ آرکیٹیکچرل رسک تجزیہ کسی بھی سافٹ ویئر سیکیورٹی پروگرام میں ایک اہم کردار ادا کرتا ہے، کیونکہ ڈیزائن کی خامیاں 50 فیصد حفاظتی مسائل کا سبب بنتی ہیں، اور انہیں صرف کوڈ کو گھور کر نہیں پایا جا سکتا۔ صنعت کے منظور شدہ معیارات اور بہترین طریقوں پر عمل کرتے ہوئے، جانچ اور انتظامی طریقوں کو شامل کرتے ہوئے، اور آرکیٹیکچرل رسک تجزیہ کرتے ہوئے، سافٹ ویئر اشورینس سسٹم کی ناکامیوں اور سیکیورٹی کی خلاف ورزیوں کے خطرے کو کم کر سکتا ہے، جس سے یہ سافٹ ویئر ڈویلپمنٹ کا ایک اہم پہلو بن جاتا ہے۔ پہل سافٹ ویئر کی یقین دہانی کے اقدامات پروگرام اور سرگرمیاں ہیں جو سافٹ ویئر سسٹمز کے معیار، وشوسنییتا اور سلامتی کو یقینی بنانے کے لیے بنائے گئے ہیں۔ یہ اقدامات اہم ہیں کیونکہ سافٹ ویئر کا استعمال کاروباری کارروائیوں سے لے کر اہم بنیادی ڈھانچے تک وسیع پیمانے پر ایپلی کیشنز میں کیا جاتا ہے، اور سافٹ ویئر میں نقائص یا کمزوریوں کے سنگین نتائج ہو سکتے ہیں۔ سافٹ ویئر کی یقین دہانی کے اقدامات کی کئی قسمیں ہیں، جن میں شامل ہیں: تصدیق اور منظوری: یہ پروگرام سافٹ ویئر کی ترقی کے لیے معیارات اور رہنما خطوط قائم کرتے ہیں، اور تصدیق کرتے ہیں کہ سافٹ ویئر کی مصنوعات ان معیارات پر پورا اترتی ہیں۔ تصدیق اور منظوری اس بات کو یقینی بنانے میں مدد کر سکتی ہے کہ سافٹ ویئر کی مصنوعات قابل اعتماد، محفوظ اور ضابطوں اور صنعت کے معیارات کے مطابق ہوں۔ تربیت اور تعلیم: یہ اقدامات سافٹ ویئر ڈویلپرز کو وہ علم اور مہارتیں فراہم کرتے ہیں جن کی انہیں اعلی معیار، محفوظ سافٹ ویئر بنانے کے لیے ضرورت ہوتی ہے۔ تربیت اور تعلیم میں سافٹ ویئر ٹیسٹنگ، محفوظ کوڈنگ کے طریقوں، اور صنعت کے معیارات اور بہترین طریقوں پر کورسز شامل ہو سکتے ہیں۔ کوڈ تجزیہ اور جانچ: یہ اقدامات سافٹ ویئر کوڈ کا تجزیہ کرنے اور نقائص یا کمزوریوں کی نشاندہی کرنے کے لیے ٹولز اور تکنیکوں کا استعمال کرتے ہیں۔ کوڈ تجزیہ اور جانچ میں دیگر تکنیکوں کے علاوہ جامد تجزیہ، متحرک تجزیہ، اور فز ٹیسٹنگ شامل ہو سکتی ہیں۔ تھریٹ ماڈلنگ اور رسک اسسمنٹ: یہ اقدامات سافٹ ویئر سسٹم کے لیے ممکنہ خطرات اور خطرات کا جائزہ لیتے ہیں، اور ان خطرات کو کم کرنے کے لیے حکمت عملیوں کی نشاندہی کرتے ہیں۔ تھریٹ ماڈلنگ اور رسک اسسمنٹ اس بات کو یقینی بنانے میں مدد کر سکتے ہیں کہ سافٹ ویئر سسٹم حملوں اور دیگر خطرات کے لیے لچکدار ہونے کے لیے بنائے گئے ہیں۔ [21] سافٹ ویئر کی یقین دہانی کیوں اہمیت رکھتی ہے؟ آج کی ڈیجیٹل دنیا میں، سافٹ ویئر کا استعمال گاڑیوں، طبی آلات، مالیاتی نظاموں اور فوجی آلات سمیت آلات اور نظاموں کی ایک وسیع رینج کو کنٹرول کرنے کے لیے کیا جاتا ہے۔ اس لیے سافٹ ویئر مصنوعات کی وشوسنییتا، حفاظت اور سلامتی کو یقینی بنانا اہم ہے۔ مناسب جانچ اور تصدیق کے بغیر، سافٹ ویئر میں نقائص اور کمزوریاں ہو سکتی ہیں جو نظام کی ناکامیوں، حفاظتی خلاف ورزیوں اور دیگر سنگین مسائل کا باعث بن سکتی ہیں جن کے مجموعی طور پر افراد، کاروبار اور معاشرے کے لیے منفی نتائج ہو سکتے ہیں۔ نیشنل انسٹی ٹیوٹ آف اسٹینڈرڈز اینڈ ٹیکنالوجی (این آئی ایس ٹی) نے سافٹ ویئر اشورینس کی تعریف "اس اعتماد کی سطح کے طور پر کی ہے کہ سافٹ ویئر کمزوریوں سے پاک ہے، یا تو جان بوجھ کر سافٹ ویئر میں ڈیزائن کیا گیا ہے یا غلطی سے اپنے لائف سائیکل کے دوران کسی بھی وقت داخل کیا گیا ہے، اور یہ کہ سافٹ ویئر مطلوبہ انداز میں کام کرتا ہے"۔ [22] تنظیمیں سافٹ ویئر کی یقین دہانی کو یقینی بنا کر مہنگے سسٹم کی ناکامیوں، ڈیٹا کی خلاف ورزیوں اور دیگر منفی نتائج کے خطرے کو کم کر سکتی ہیں۔ سافٹ ویئر کے نقائص اور کمزوریوں سے وابستہ ممکنہ خطرات کے علاوہ، سافٹ ویئر کی یقین دہانی سے متعلق قانونی اور ریگولیٹری تقاضے بھی ہیں۔ ان ضوابط کی تعمیل کرنے میں ناکامی کے نتیجے میں قانونی اور مالی جرمانے ہو سکتے ہیں۔ مثال کے طور پر، وہ تنظیمیں جو بعض صنعتوں کے لیے سافٹ ویئر تیار کرتی ہیں وہ ان قواعد و ضوابط کے تابع ہو سکتی ہیں جن کے تحت انہیں اپنی مصنوعات کی حفاظت کو یقینی بنانا ہوتا ہے۔ بہت سے اہم کام، جیسے قومی دفاع، بینکنگ، صحت کی دیکھ بھال، ٹیلی مواصلات، ہوا بازی، اور خطرناک مواد کا کنٹرول، سافٹ ویئر کے درست اور قابل پیش گوئی آپریشن پر منحصر ہے۔ اگر ان سرگرمیوں کی حمایت کرنے والے سافٹ ویئر پر مبنی نظام ناکام ہو جاتے ہیں، تو وہ شدید طور پر متاثر ہو سکتے ہیں۔ لہذا، تنظیموں کے لیے یہ ضروری ہے کہ وہ سسٹم کی ناکامی اور حفاظتی خلاف ورزیوں کے خطرے کو کم کرنے کے لیے سافٹ ویئر ٹیسٹنگ اور تصدیق کی تکنیکوں اور ٹولز کو نافذ کریں۔ ایگزیکیوشن سافٹ ویئر اشورینس کو سرگرمیوں کے ایک سلسلے کے ذریعے انجام دیا جاتا ہے جس کا مقصد سافٹ ویئر مصنوعات کی وشوسنییتا، حفاظت اور سلامتی کو یقینی بنانا ہے۔ ان سرگرمیوں میں ضروریات کا تجزیہ، ڈیزائن کے جائزے، کوڈ معائنہ، جانچ اور رسمی تصدیق شامل ہیں۔ [1] تقاضوں کے تجزیے میں سافٹ ویئر پروڈکٹ کی فعال اور غیر فعال ضروریات کی شناخت اور وضاحت شامل ہے۔ اس میں سافٹ ویئر کے مقصد، اس کے مطلوبہ صارفین، اور کسی بھی متعلقہ معیارات یا ضوابط کو سمجھنا شامل ہے جن کو پورا کرنا ضروری ہے۔ ڈیزائن کے جائزوں میں سافٹ ویئر کے ڈیزائن کا جائزہ لینا شامل ہے تاکہ یہ یقینی بنایا جا سکے کہ یہ ضروریات کو پورا کرتا ہے اور قابل عمل ہے۔ اس میں ڈیزائن کی خامیوں، غلطیوں، یا غلطیوں کی جانچ کرنا شامل ہے جو سافٹ ویئر کی وشوسنییتا، حفاظت، یا سلامتی کو متاثر کر سکتی ہیں۔ [24] ضابطے کے معائنے میں ضابطے کا جائزہ لینا شامل ہے تاکہ یہ یقینی بنایا جا سکے کہ یہ صنعت کے منظور شدہ معیارات اور بہترین طریقوں کے مطابق ہے۔ اس میں کوڈ کے معیار، پڑھنے کی اہلیت، اور برقرار رکھنے کی اہلیت کی جانچ پڑتال کے ساتھ ساتھ ممکنہ خطرات یا حفاظتی مسائل کی نشاندہی کرنا بھی شامل ہے۔ [2] جانچ میں سافٹ ویئر کو ان نقائص یا کمزوریوں کی نشاندہی کرنے کے لیے انجام دینا شامل ہے جو اس کی وشوسنییتا، حفاظت یا سلامتی کو متاثر کر سکتے ہیں۔ اس میں دیگر اقسام کی جانچ کے علاوہ فنکشنل ٹیسٹنگ، پرفارمنس ٹیسٹنگ، اور سیکیورٹی ٹیسٹنگ شامل ہیں۔ [3] رسمی تصدیق میں ریاضیاتی یا منطقی طریقوں کا استعمال شامل ہے تاکہ یہ ثابت کیا جا سکے کہ سافٹ ویئر ارادہ کے مطابق برتاؤ کرتا ہے اور اس میں کوئی نقائص یا کمزوریاں نہیں ہیں۔ اس میں ماڈل چیکنگ، تھیوریم پروفنگ، اور جامد تجزیہ جیسی تکنیکیں شامل ہیں۔ [1] تکنیک سافٹ ویئر کی جانچ اور تصدیق ایسی تکنیکیں ہیں جو سافٹ ویئر کوڈ میں نقائص اور کمزوریوں کی شناخت اور ان سے نمٹنے کے لیے استعمال ہوتی ہیں۔ جانچ اور تصدیق کی تکنیکوں کی کئی قسمیں ہیں، جن میں فنکشنل ٹیسٹنگ، پرفارمنس ٹیسٹنگ، اور سیکیورٹی ٹیسٹنگ شامل ہیں۔ [3] سافٹ ویئر کے مسائل کا پتہ لگانے کے لیے سافٹ ویئر اشورینس میں مشین لرننگ کا استعمال تیزی سے بڑھ رہا ہے۔ بڑی مقدار میں ڈیٹا کا تجزیہ کرنے کی صلاحیت کے ساتھ، مشین لرننگ ان نمونوں اور بے ضابطگیوں کی نشاندہی کر سکتی ہے جن پر انسانوں کا دھیان نہیں جا سکتا۔ مشین لرننگ کا استعمال بالآخر سافٹ ویئر کے معیار اور سلامتی کو بہتر بنا سکتا ہے۔ فنکشنل ٹیسٹنگ کا استعمال اس بات کو یقینی بنانے کے لیے کیا جاتا ہے کہ سافٹ ویئر ان افعال کو انجام دیتا ہے جو اسے انجام دینے کا ارادہ رکھتے ہیں۔ اس قسم کی جانچ میں سافٹ ویئر کو چلانا اور اس کی خصوصیات اور فعالیت کی جانچ کرنا شامل ہے تاکہ یہ یقینی بنایا جا سکے کہ یہ توقع کے مطابق کام کرتا ہے۔ [4] کارکردگی کی جانچ سافٹ ویئر کی رفتار، ردعمل اور استحکام کی پیمائش کے لیے استعمال ہوتی ہے۔ اس قسم کی جانچ میں حقیقی دنیا کے منظرناموں کی تقلید کرنا شامل ہے تاکہ یہ یقینی بنایا جا سکے کہ سافٹ ویئر بوجھ کو سنبھال سکتا ہے اور مختلف حالات میں اچھی کارکردگی کا مظاہرہ کر سکتا ہے۔ [4] حفاظتی جانچ کا استعمال سافٹ ویئر میں موجود کمزوریوں اور کمزوریوں کی نشاندہی کرنے کے لیے کیا جاتا ہے جن کا استحصال حملہ آور کر سکتے ہیں۔ اس قسم کی جانچ میں سافٹ ویئر کی سیکیورٹی کی خلاف ورزی کرنے کی کوشش کے لیے مختلف تکنیکوں کا استعمال شامل ہے، جیسے دخول کی جانچ اور کمزوری کی اسکیننگ۔ [3] جانچ کے علاوہ، تصدیق کی تکنیکوں کا استعمال اس بات کو یقینی بنانے کے لیے کیا جاتا ہے کہ سافٹ ویئر کوڈ درست اور نقائص سے پاک ہے۔ اس میں کوڈ کے جائزے، رسمی تصدیق، اور جامد تجزیہ جیسی تکنیکیں شامل ہیں۔ [1] کوڈ کے جائزوں میں کوڈ کی جانچ پڑتال شامل ہے تاکہ یہ یقینی بنایا جا سکے کہ یہ صنعت کے منظور شدہ معیارات اور بہترین طریقوں کے مطابق ہے۔ اس میں کوڈ کے معیار، پڑھنے کی اہلیت، اور برقرار رکھنے کی اہلیت کی جانچ پڑتال کے ساتھ ساتھ ممکنہ خطرات یا حفاظتی مسائل کی نشاندہی کرنا بھی شامل ہے۔ [2] رسمی تصدیق میں ریاضیاتی یا منطقی طریقوں کا استعمال شامل ہے تاکہ یہ ثابت کیا جا سکے کہ سافٹ ویئر ارادہ کے مطابق برتاؤ کرتا ہے اور اس میں کوئی نقائص یا کمزوریاں نہیں ہیں۔ اس میں ماڈل چیکنگ، تھیوریم پروفنگ، اور جامد تجزیہ جیسی تکنیکیں شامل ہیں۔ [1] جامد تجزیے میں سافٹ ویئر کوڈ کو نافذ کیے بغیر اس کا تجزیہ کرنا، ممکنہ نقائص یا کمزوریوں کی نشاندہی کرنا شامل ہے۔ اس میں کوڈ تجزیہ ٹولز اور کوڈ معائنہ جیسی تکنیکیں شامل ہیں۔ ٹولز سافٹ ویئر ٹیسٹنگ اور تصدیقی ٹولز کا استعمال سافٹ ویئر کوڈ میں نقائص اور کمزوریوں کی شناخت اور ان سے نمٹنے کے لیے کیا جاتا ہے۔ جانچ اور تصدیق کے ٹولز کی کئی قسمیں ہیں، جن میں شامل ہیں: سافٹ ویئر کوڈ میں نقائص اور کمزوریوں کی شناخت اور ان سے نمٹنے کے لیے سافٹ ویئر اشورینس میں مصنوعی ذہانت (اے آئی) کا تیزی سے استعمال کیا جا رہا ہے۔ اے آئی تکنیک جیسے مشین لرننگ اور نیچرل لینگویج پروسیسنگ کو جانچ اور تصدیق کے عمل کو خودکار بنانے کے لیے استعمال کیا جا سکتا ہے، جس سے وہ تیز اور زیادہ موثر ہو جاتے ہیں۔ جامد تجزیہ ٹولز: یہ ٹولز سافٹ ویئر ایپلی کیشن کے سورس کوڈ کا تجزیہ کرتے ہیں اسے انجام دیے بغیر، ممکنہ نقائص یا کمزوریوں کی نشاندہی کرنے کے لیے۔ جامد تجزیہ ٹولز کو کوڈ کے معیار، سیکیورٹی، اور کوڈنگ کے معیارات کی تعمیل سے متعلق مسائل کا پتہ لگانے کے لیے استعمال کیا جا سکتا ہے۔ متحرک تجزیہ ٹولز: یہ ٹولز سافٹ ویئر ایپلی کیشن کے چلنے کے دوران اس کے رویے کا تجزیہ کرتے ہیں، تاکہ ان نقائص یا کمزوریوں کی نشاندہی کی جا سکے جو سورس کوڈ میں ظاہر نہیں ہو سکتے ہیں۔ متحرک تجزیہ ٹولز کو کارکردگی، میموری کے استعمال اور سیکیورٹی سے متعلق مسائل کا پتہ لگانے کے لیے استعمال کیا جا سکتا ہے۔ [25] فز ٹیسٹنگ ٹولز: یہ ٹولز سافٹ ویئر ایپلی کیشن میں بے ترتیب ان پٹ تیار کرتے ہیں، تاکہ غیر متوقع یا ناقص ڈیٹا کے لیے اس کی لچک کی جانچ کی جا سکے۔ فز ٹیسٹنگ ٹولز کا استعمال ان پٹ کی توثیق، میموری مینجمنٹ اور سیکیورٹی سے متعلق مسائل کا پتہ لگانے کے لیے کیا جا سکتا ہے۔ [25] دخول کی جانچ کے اوزار: یہ اوزار سافٹ ویئر ایپلی کیشن پر حملوں کی تقلید کرتے ہیں، تاکہ ان خطرات کی نشاندہی کی جا سکے جن کا حملہ آور استحصال کر سکتے ہیں۔ دخول کی جانچ کے ٹولز کو سیکیورٹی سے متعلق مسائل کا پتہ لگانے کے لیے استعمال کیا جا سکتا ہے، جیسے کہ ایس کیو ایل انجیکشن، کراس سائٹ اسکرپٹنگ، اور بفر اوور فلو۔ ٹیسٹ مینجمنٹ ٹولز: یہ ٹولز سافٹ ویئر ٹیسٹنگ کے عمل کو منظم کرنے کے لیے استعمال ہوتے ہیں، بشمول ٹیسٹ کیس تخلیق، عمل درآمد، اور رپورٹنگ۔ ٹیسٹ مینجمنٹ ٹولز اس بات کو یقینی بنانے میں مدد کر سکتے ہیں کہ تمام مطلوبہ ٹیسٹ کیے جائیں، اور نقائص کا سراغ لگایا جائے اور انہیں حل کیا جائے۔ [24] متبادل تعریفیں ریاستہائے متحدہ کا محکمہ ہوم لینڈ سیکیورٹی (ڈی ایچ ایس) ڈی ایچ ایس کے مطابق، سافٹ ویئر کی یقین دہانی سے پتہ چلتا ہے: وشوسنییتا-کوئی استحصال کے قابل خطرات موجود نہیں ہیں، یا تو بدنیتی سے یا غیر ارادی طور پر داخل کیا گیا ہے۔ پیش گوئی کے قابل عمل-جائز اعتماد کہ سافٹ ویئر، جب اس پر عمل درآمد کیا جاتا ہے، تو مطلوبہ مقصد کے مطابق کام کرتا ہے۔ مطابقت-کثیر الضابطہ سرگرمیوں کا منصوبہ بند اور منظم مجموعہ جو سافٹ ویئر کے عمل اور مصنوعات کو ضروریات، معیارات/طریقہ کار کے مطابق یقینی بناتا ہے۔ ایس ڈبلیو اے کے مضامین میں حصہ ڈالنا، جو علم اور بنیادی صلاحیتوں کے اداروں میں واضح ہے: سافٹ ویئر انجینئرنگ، سسٹمز انجینئرنگ، انفارمیشن سسٹمز سیکیورٹی انجینئرنگ، انفارمیشن اشورینس، ٹیسٹ اور تشخیص، حفاظت، سلامتی، پروجیکٹ مینجمنٹ، اور سافٹ ویئر کے حصول۔ سافٹ ویئر اشورینس سافٹ ویئر میں سالمیت، سلامتی اور وشوسنییتا کو فروغ دینے کے لیے امریکی محکمہ ہوم لینڈ سیکیورٹی (ڈی ایچ ایس) کا ایک اسٹریٹجک اقدام ہے۔ ایس ڈبلیو اے پروگرام سائبر اسپیس کو محفوظ بنانے کی قومی حکمت عملی پر مبنی ہے-ایکشن/سفارش 2-14: "ڈی ایچ ایس سافٹ ویئر کوڈ کی ترقی میں سالمیت، سلامتی اور وشوسنییتا کو فروغ دینے والے بہترین طریقوں اور طریقہ کار کو فروغ دینے کے لیے ایک قومی عوامی-نجی کوشش کو آسان بنائے گا، جس میں وہ عمل اور طریقہ کار شامل ہیں جو غلط کوڈ، بدنیتی پر مبنی کوڈ، یا ٹریپ ڈور کے امکانات کو کم کرتے ہیں جو ترقی کے دوران متعارف کرائے جا سکتے ہیں۔" سافٹ ویئر اشورینس کے لیے اوپن سورس سافٹ ویئر ٹولز ہیں جو ممکنہ حفاظتی خطرات کی نشاندہی کرنے میں مدد کرتے ہیں۔ ریاستہائے متحدہ کا محکمہ دفاع (ڈی او ڈی) ڈی او ڈی کے لیے، ایس ڈبلیو اے کی تعریف "اعتماد کی اس سطح کے طور پر کی گئی ہے کہ سافٹ ویئر صرف مطلوبہ مقصد کے مطابق کام کرتا ہے اور کمزوریوں سے پاک ہے، یا تو جان بوجھ کر یا غیر ارادی طور پر ڈیزائن کیا گیا ہے یا سافٹ ویئر کے حصے کے طور پر داخل کیا گیا ہے، پورے لائف سائیکل میں۔ ڈی او ڈی ایس ڈبلیو اے کو ایک ساؤنڈ سسٹمز انجینئرنگ پریکٹس کے طور پر تیار کر رہا ہے جیسا کہ جے ایف اے سی کی مالی اعانت سے چلنے والی دو حالیہ اشاعتوں نے سافٹ ویئر انجینئرنگ انسٹی ٹیوٹ (ایس ای آئی) اور ملٹری سروسز اور این ایس اے کے ماہر پریکٹیشنرز کی قیادت میں ترقی کے ساتھ ظاہر کیا ہے۔ پروگرام منیجر کی ایس ڈبلیو اے گائیڈ بک سے پتہ چلتا ہے کہ ایس ڈبلیو اے کی منصوبہ بندی، وسائل اور انتظام کیسے کیا جانا چاہیے جبکہ ڈویلپر کی ایس ڈبلیو اے گائیڈ بک پورے لائف سائیکل میں موزوں تکنیکی طریقوں کی سفارش کرتی ہے۔ یہ دونوں دستاویزات اپنی نوعیت کی پہلی ہیں، اور انہیں نوازا گیا ہے۔ ڈی او ڈی کی ایس ڈبلیو اے صلاحیت کی تعمیر میں دو انٹرپرائز پیمانے کی تنظیمیں جوائنٹ فیڈریٹڈ ایشورینس سینٹر (جے ایف اے سی) اور ڈی او ڈی ایس ڈبلیو اے کمیونٹی آف پریکٹس ہیں جو مسلسل 32 سہ ماہی کالجیئل فورم کے طور پر کام کر رہی ہیں۔ دونوں امریکی حکومت کے دیگر حصوں کے لیے کھلے ہیں۔ جے ایف اے سی چارٹر اس کی ویب سائٹ پر دستیاب ہے۔ تجارتی طور پر دستیاب ایس ڈبلیو اے ٹولز کے خاندانوں کے بارے میں وسیع تر صورتحال سے متعلق آگاہی پیدا کرنے کے لیے، جے ایف اے سی نے اسٹیٹ آف دی آرٹ ریسورس (ایس او اے آر) تیار کرنے کے لیے انسٹی ٹیوٹ فار ڈیفنس اینالیسس (آئی ڈی اے) کو مالی اعانت فراہم کی۔ "انجینئرنگ-ان" ایس ڈبلیو اے میں ایک حالیہ اختراع پورے لائف سائیکل میں منتخب این آئی ایس ٹی 800-53 کنٹرولز کو انجینئرنگ کے کاموں سے جوڑنا ہے تاکہ انجینئرنگ کے نتائج رسک مینجمنٹ فریم ورک (آر ایم ایف) کی وضاحت کریں اور اتھارٹی ٹو آپریٹ (اے ٹی او) کو چلائیں۔ ایک پیکیج جس میں ڈیٹا آئٹم کی تفصیل (ڈی آئی ڈی)، مشین سے پڑھنے کے قابل کمزوری کی رپورٹ کے فارمیٹ، اور تکنیکوں کا ایک مختصر جائزہ لینے والا اطلاق شامل ہے، جے ایف اے سی کی ویب سائٹ پر دستیاب ہے۔ دیگر خلل ڈالنے والی اختراعات کا عمل جاری ہے۔ سافٹ ویئر اشورینس میٹرکس اینڈ ٹول ایویلیوایشن (SAMATE) پروجیکٹ NIST SAMATE پروجیکٹ کے مطابق، سافٹ ویئر اشورینس "سرگرمیوں کا منصوبہ بند اور منظم مجموعہ ہے جو اس بات کو یقینی بناتا ہے کہ سافٹ ویئر کے عمل اور مصنوعات کو حاصل کرنے میں مدد کے لیے ضروریات، معیارات اور طریقہ کار کے مطابق ہوں: وشوسنییتا-کوئی استحصال کے قابل کمزوریاں موجود نہیں ہیں، یا تو بدنیتی پر مبنی یا غیر ارادی اصل، اور پیش گوئی کے قابل عمل-جائز اعتماد کہ سافٹ ویئر، جب اس پر عمل درآمد کیا جاتا ہے، مقصد کے مطابق کام کرتا ہے"۔ نیشنل ایروناٹکس اینڈ اسپیس ایڈمنسٹریشن (ناسا) ناسا کے مطابق، سافٹ ویئر اشورینس سرگرمیوں کا ایک "منصوبہ بند اور منظم مجموعہ ہے جو اس بات کو یقینی بناتا ہے کہ سافٹ ویئر کے عمل اور مصنوعات ضروریات، معیارات اور طریقہ کار کے مطابق ہوں۔ اس میں کوالٹی اشورینس، کوالٹی انجینئرنگ، تصدیق اور توثیق، غیر مطابقت پذیری رپورٹنگ اور اصلاحی کارروائی، حفاظتی یقین دہانی، اور حفاظتی یقین دہانی اور سافٹ ویئر لائف سائیکل کے دوران ان کے اطلاق کے شعبے شامل ہیں۔ ناسا سافٹ ویئر ایشورینس اسٹینڈرڈ یہ بھی کہتا ہے: "سافٹ ویئر ڈویلپمنٹ لائف سائیکل کے دوران ان مضامین کا اطلاق سافٹ ویئر ایشورینس کہلاتا ہے۔" آبجیکٹ مینجمنٹ گروپ (او ایم جی) او ایم جی کے مطابق، سافٹ ویئر اشورینس "قائم شدہ کاروباری اور حفاظتی مقاصد کو پورا کرنے میں جائز وشوسنییتا" ہے۔ او ایم جی کا ایس ڈبلیو اے اسپیشل انٹرسٹ گروپ (ایس آئی جی)، پلیٹ فارم اور ڈومین ٹاسک فورسز اور سافٹ ویئر انڈسٹری کے دیگر اداروں اور او ایم جی سے باہر کے گروپوں کے ساتھ کام کرتا ہے، تاکہ سافٹ ویئر اشورینس فریم ورک کے لیے ایک تفصیلات کی ترقی کو آسان بنا کر سافٹ ویئر وشوسنییتا سے متعلق معلومات کے تجزیے اور تبادلے کے لیے ایک مشترکہ فریم ورک کے قیام کو مربوط کیا جا سکے جو: سافٹ ویئر پراپرٹیز کا ایک مشترکہ فریم ورک قائم کرے جو سافٹ ویئر کی کسی بھی/تمام کلاسوں کے سافٹ ویئر کی نمائندگی کے لیے استعمال کیا جا سکے تاکہ سافٹ ویئر سپلائرز اور حصول کار متعلقہ شواہد کے ساتھ اپنے دعووں اور دلائل (بالترتیب) کی نمائندگی کر سکیں، خودکار ٹولز (ایڈریس اسکیل) کا استعمال کرتے ہوئے تصدیق کریں کہ سافٹ ویئر ایشورینس فورم فار ایکسی لینس ان کوڈ (SAFECode) SAFECode کے مطابق، سافٹ ویئر ایشورینس "اعتماد ہے کہ سافٹ ویئر، ہارڈ ویئر اور خدمات جان بوجھ کر اور غیر ارادی طور پر کمزوریوں سے پاک ہیں اور یہ کہ سافٹ ویئر مطلوبہ مقصد کے مطابق کام کرتا ہے۔ سافٹ ویئر کوالٹی ایشورینس حوالہ جات بیرونی لنکس DHS" بلڈ سیکیورٹی ان "انفارمیشن ریسورس DHS Swa کمیونٹی آف پریکٹس پورٹل NIST سافٹ ویئر ایشورینس میٹرکس اینڈ ٹول ایویلیوایشن (SAMATE) پروجیکٹ آبجیکٹ مینجمنٹ گروپ Swa SIG سافٹ ویئر ایشورینس فورم فار ایکسی لینس ان کوڈ (SAFECode) NASA سافٹ ویئر ایشورینس گائیڈ بک اینڈ اسٹینڈرڈ (IEEE 610.12 IEEE سٹینڈرڈ گلوسری آف سافٹ ویئر انجینئرنگ ٹرمینولوجی میں معیار کی یقین دہانی دیکھیں)۔ سافٹ ویئر سیکیورٹی اشورینس اسٹیٹ آف دی آرٹ رپورٹ (ایس او اے آر) کوالٹی اشورینس سافٹ ویئر کا معیار