ソフトウェアの信頼性をどのように分析できますか? アプリケーションや製品の信頼性を確認するにはどうすればよいですか?
4 に答える
まず、「ソフトウェアの信頼性」とそれを定量化する方法を定義してみてください。
このタスクを達成すると、おそらくこの特性を「確認」できるようになります。
信頼性を確認する最も効果的な方法は、ソフトウェアを実行し、実際の信頼性に関する統計を収集することです。NASAのような大規模なリソースを持つグループを除いて、実行前に信頼性を現実的に分析するには、ハードウェアレベルとソフトウェアレベルの両方で変数が多すぎます。
ソフトウェアの一部が仕様を満たしているかどうかを判断するにはさまざまな方法がありますが、実際に生産的な方法のほとんどは、構造によって、つまり、ソフトウェアが正しいことを簡単に示すことができるように、ソフトウェアの記述方法を制約することによってこれを行います。この種のことを行うためのスキームについては、VDM、Z、および B ツールキットを確認してください。これらは、安全性が重要なシステム環境にない場合、プログラミングに費用がかかる傾向があることに注意してください。
仕様自体の正確性を証明することは、本当に簡単なことではありません!
信頼性とは、正しいサービスの継続性に関するものです。
ソフトウェアの信頼性を評価する最善の方法は、動的分析、つまりテストです。
テスト時間を短縮するために、運用プロファイルとは異なる入力プロファイルを適用することができます。
さまざまな入力分布を適用し、ソフトウェアが障害なく実行される時間を測定します。次に、入力分布が運用プロファイルからどれだけ離れているかを調べ、ソフトウェアが運用プロファイルで実行された時間について結論を出します。
これには、マルコフ連鎖や確率的ペトリネットなどのモデリング手法が含まれます。
さらに掘り下げるのに役立つキーワードは、「障害予測と統計的テスト」です。