例えば銀行のオンラインシステム（勘定系システム）などは、社会基盤を支える重要度の高いシステムであるが、年に数度ダウンする程度が目安となる。それ以上の品質を確保するよりも、問題が顕在化した時点で対処した方が、費用対効果の点で有益であると判断されるからである。
出荷後は、開発元が想定・考慮していない操作を行なった際にバグが発見されることが多い。メーカーのプログラマやテスト担当者は専門家としての知識・経験があるため、無意識のうちに危険な操作や負荷のかかる操作を避けてしまうことも多く、逆に想定外の操作により発生するバグの発見はしばしば困難である。このようなバグは専門知識の無い一般利用者が使用することで発見されることも少なくない。
では、バグが残っていることを前提にした上で、最新の機能や修正した機能を搭載したソフトウェアをアルファ版やベータ版として一般利用者に試用してもらい、報告されたバグを正式版までに修正するという手法もよくとられる。特にセキュリティ上の脆弱性や致命的なバグの発見者に対して報奨金を支払うベンダーもある。また、ゲーム製品などでは、素人の一般人に試用してもらいバグを発見する専門の仕事もある。
また、では本来想定していない動作ではあるが、基本動作に影響がない場合に「仕様」としてしまうこともある。
AIの発達に伴い、プログラマーの書くコードをAIに監視させ、バグにつながりそうなコードを書いたら警告を与えてバグの発生を未然に防ぐ手法もある。難点としては大量の学習用データとマシンパワーが必要とされている。
バグ管理.
バージョン管理システム.
消費者向けアプリケーションソフトウェアの場合、一般的にはバージョン管理システムと呼ばれる数値で行うことが多い。バージョンの数値が大きいほど、バグの修正や機能の追加が行われていることを表す。コンシューマ向けOSなどの場合、メーカーではこれらを定期的に修正した修正プログラムを提供している。既知の問題の修正箇所を、個別に修正の実施と未実施を調べる。近年ではバグ管理システムなどに移行している。