重要インフラのバグ(ソフトウェア分析)
重要インフラのバグは?
重要インフラのソフトウェアにバグが出ると、人々の日常生活や企業活動に甚大な影響を与え、社会問題になります。この重要インフラのバグについて見ていきます。
重要インフラとは?
重要インフラは人命に影響したり、社会に甚大な影響を与える日常生活や企業の基盤システムです。下図に重要インフラの概要を紹介します。
タイプ4の情報システムには、ロケットや発電所、緊急医療システムなどの高信頼性と安全性が求められる重要インフラ情報システムです。
タイプ3の情報システムには、交通や輸送、金融などの高信頼性が求められる重要インフラです。
なおタイプ2やタイプ1の情報システムは、重要インフラではなく、通常の情報システムです。
重要インフラと要求
重要インフラのソフトウェアにバグが出ると、人々の日常生活や企業活動に大きな社会問題になります。このため重要インフラに対する要求は、当然厳しいものになります。
出典:IPA ソフトウェア開発分析データ集2022 p.143
(ちなみに私がこのデータ集を担当していました。って宣伝?)
重要インフラであるタイプ3で、信頼性の要求レベルがa:極めて高いとb:高いの合計では全体の84%になっています。
これに対して重要インフラでないタイプ2とタイプ1では、73%と42%になっています。
なおタイプ4はデータ数が少ないのでスルーしています。
これからわかるように、重要インフラは通常のものと比較して、信頼性に対する要求レベルは高いものになっています。
これは当然の結果ですが、実際の開発現場でもこのようになっています。
重要インフラの品質確保
重要インフラに対する要求は厳しいことが感覚的だけでなく現実的にもわかりました。そこでこの厳しい要求に対する品質確保をどのようにすればいいのでしょうか。
まずは一般的な品質確保のための施策を行います。これについては後述するようにして、ここでは重要インフラならではの品質確保を紹介します。
(1) 定量データ管理
高信頼性を保証するためには、定量データで開発や製品を管理することが必要です。感覚だけの管理では重要インフラでは駄目なのです。
最終結果だけでなく、経過のデータや周辺のデータも必要です。ときにはすぐに利用しないと思うデータも収集します。
なお、これは通常システムでは悪手です。「すぐに使うデータのみを必要なときのみ収集する」が本来の正しい考えですが、重要インフラでは「すぐに使わないデータも含めて常時収集する」というコスト高の施策が必要になります。
(2) 専門部隊
品質確保のための専門部隊が重要インフラでは必要になります。さらにこの専門部隊に強大な権力、つまりプロジェクト停止も含めた権限を与える必要があります。
この部隊は、お飾りの専門部隊でも、他の仕事を兼任する部隊、育成のための手習い部隊では不十分です。
(3) ソフトウェア工学
重要インフラでは、属人的な考えでは駄目です。科学的で、統計的な考えを持つソフトウェア工学をベースにした科学的施策が必要です。
ただし「最新のソフトウェア工学は駄目」です。理解者も賛同者も少なく実績の少ない発展途上のものはまだ早すぎます。重要インフラでは安定した実績のある歴史のあるソフトウェア工学こそが大事です。
重要インフラは1,2年、5年、10年単位ではなく、100年単位のものになります。それを構築するソフトウェアに対する科学も100年単位のものが必要です。
「それって100年後も通用しますか?」と自分に言い聞かせてください。
ソフトウェア開発のデータ引用元:ソフトウェア開発分析データ集2022 | 社会・産業のデジタル変革 | IPA 独立行政法人 情報処理推進機構
# 私が担当していましたので、上記に関する質問やコメントなどもここで受け付けています。