マーケティング

マーケティング

PR

失敗だったソフトウェア、その損失ランキング上位12ほか

RankRED

RankRed is a place where you can find a lot of interesting and inspiring stuff about science and technology, internet, programming tools and plugins, robots, machines and high tech gadgets, and much more.

本記事は、12+ Biggest Software Failures Of All Time
翻訳・再構成したものです。
配信元または著者の許可を得て配信しています。

1,060 views

読了時間 : 約7分33秒

エンジニアがどれだけ退屈なテストをこなしたとしても、眠れぬ夜を徹してコーディングを行ったとしても、最後に返ってくるのは、完全な障害を引き起こすバグです。ソフトウェアのエラーは、生産性の低下、手戻り、実害など、米国経済に年間何十億もの損害を与えていることをご存知でしょうか?

 

ソフトウェアの失敗の原因には、次のようなものがあります。

 

・誤った構造の定義や低レベルの設計。
・データ分析が不十分なまま、スケジュールやマイルストーンを強行した。
・要求の増加を考慮せず、調整しなかった。
・非現実的なスケジュール圧縮のために、過剰な人員を投入した。
・直感的、感情的な関係者との交渉。
・コミュニケーション不足、エゴ、否定的な態度。

 

この記事では、恥をかき、多額の損失を出し、死にさえ至った主なソフトウェアの失敗例を紹介します。ご意見、ご感想がありましたら、お寄せください。

12. 英国旅券システム(1999年)

英国のパスポート機関が新しいコンピュータ・システムを導入した際、50万人以上の国民に期限通りにパスポートを発行することができませんでした。後日、補償金、職員の残業代、雨の中でパスポートを求める行列のための傘などの名目で何百万もの支払いが発生しました。

 

損害額:1,400万ドル

 

理由:この機関は、新システムについて適切なテストも行わず、従業員への訓練も行わずにソフトウェアを導入しました。また、(同時に発表された)新法により、海外に渡航する16歳未満の子供全員にパスポートの取得が義務付けられました。その結果、パスポートの需要が急増し、素人のソフトウェアシステムに過大な負荷がかかることになったのです。

11. マリナー1号

画像出典:wikimedia

 

金星に向かったマリナー1号(1962年)は、発射から293秒後に意図した進路から外れました。このミッションは5週間後に打ち上げられたマリナー2号によって完了しました。

 

損害額:1,900万ドル

 

理由:アンテナのハードウェアの故障と、搭載された誘導装置のソフトウェアの故障という2つの故障が重なったものです。誘導用アンテナは、その仕様を下回る性能でした。そのため、宇宙船は搭載された誘導システムに頼らざるを得なかったものの、その誘導システムにはバグがあったのです。

 

半径Rの時間微分のn番目の平滑化値を意味する下付きバーが1つ抜けていました。この平滑化関数がなかったために、通常の速度変動を重大なものとして扱い、曖昧な補正をしてしまい、宇宙船はコースを外れてしまったのです。

10. Mydoom

Mydoomは、2004年1月26日に初めて確認されたコンピュータ・ワームです。翌日、SCOグループは、このワームの作者に関する情報を提供した者に25万ドルの報酬を提供しました。MessageLabs社によると、当時、12通目のメールにこのウイルスが搭載されていたということです。

 

損害額:380億ドル

 

理由:このウイルスは、オペレーティング・システムにバックドアを作成し、権限のないユーザーが個人データにアクセスできるようにすることができます。また、電子メールを偽装することができるため、送信元を追跡することが非常に困難です。他のウイルスと同様に、電子メールの連絡先を検索し、すべての検索エンジンにリクエストを送信します。

9. ハートフォード・コロシアムの崩壊

画像出典:Wikispaces

 

1978年1月18日、米国コネチカット州ハートフォード市の市民会館コロシアムは、約5千人の観客がコロシアムを後にした数時間後に崩壊しました。鉄格子の屋根が雪の重みで崩れ落ちたのです。

 

損害額:7000万ドル+地元経済への損害2000万ドル。

 

理由:失敗の原因として、設計の流れ、施工、プログラミングのミスなど、多くの矛盾した説明がありました。CADプログラマーは、屋根の支柱が純粋な圧縮にのみ直面すると仮定し、コロシアムを誤って設計していました。

 

また、コンピュータ・モデルでは、すべてのトップコードが横方向に補強されていると仮定していましたが、実際には内装フレームのみが基準を満たしていました。死荷重は20%以上過小評価されていました。雪で支柱の1つが予想外の座屈を起こし、それが連鎖的に他の屋根を崩壊させたのです。

8. マーズ・クライメイト・オービター

マーズ・クライメイト・オービターは、火星の大気や気候、地表の変化を調べるために、1998年にNASAが打ち上げたロボット型宇宙探査機です。打ち上げから286日後、軌道投入【天体の周りの安定した軌道への進入を可能にするために、宇宙船の運動量を調整する宇宙飛行操作】に入ったため、探査機との通信が途絶えました。ロケットは火星大気圏に近づきすぎたため、燃焼して粉々になったものと思われます。

 

損害額:1億2,500万ドル

 

理由:火星探査機は、地上のコンピュータ・ソフトウェア(ロッキード・マーチン社製)が、ニュートン秒というメートル単位の代わりに、ポンド秒という非SI単位で出力を生成したために失敗しました。

7. IRS:不正検知システムの欠如

2006年、米国のIRS(内国歳入庁【日本の国税庁に相当】)は、資金を請求する申告書に潜在する不正なケースを把握するための自動還付不正検出システムを持たずに業務を行い、米国に数百万ドルの損害を与えました。

 

損害額:3億ドルの損害+修正に2100万ドル

 

理由:コンピュータ・サイエンス社は、2005年1月に(EFDS)電子不正システムを納入することになっていました。しかし、2004年10月、IRSは2100万台のシステムの準備が間に合わないことを心配し、2005年の申告会には既存のシステムを使用することにしました。

 

IRSコミッショナーのMark Eversonによると、IRSとその請負業者による自動還付金不正検出システム改善への管理努力は不十分であり、受け入れがたいものであったとのことです。

6. クラスター宇宙船

クラスター(ESA【欧州宇宙機関】の4つの宇宙船からなる一群)は、1996年にアリアン5ロケットの初飛行で打ち上げられました。ロケットは軌道に乗ることができず、ミッションは失敗に終わりました。

 

損害額:3億7,000万ドル

 

理由:コンピュータ・プログラムがロケットの横滑り速度を64ビットから16ビットに変換しようとしたときに、システム全体が終了してしまいました。この数値が大きすぎたため、整数のオーバーフローからの保護が不十分だったのです。

 

誘導ソフトが停止すると、同じ冗長ユニットに制御が移りますが、これも同じアルゴリズムで動作していたため故障となりました。その結果、発射から37秒後に本来の軌道から外れてしまったのです。最終的に、ロケットは自動飛行停止装置によって自爆しました。

5. ペンティアムの長大な除算

1994年、インテルのマイクロプロセッサ「ペンティアム」には、浮動小数点演算ユニットにバグがありました。正確な計算をするために、このプロセッサは不正な小数点以下の値を返していました。不具合のあったチップは約500万個も流通し、インテルは最終的にクレームがあった人のチップをすべて交換することにしました。その後、インテルは不具合のあるプロセッサの一部をキーホルダーにしています。

 

損害額:4億7500万ドル+ブランドの評判

 

理由:ペンティアム浮動小数点演算装置の除算器に欠陥があり、約1000のエントリーのうち5つが欠落していました。しかし、エラーが発生するのは、90億回の浮動小数点演算のうち、ランダムに1回だけです。例えば、4195835.0/3145727.0を割ると、1.333820449136241002ではなく、1.333739068902037589となり、0.006%の誤差が発生します。

4. 1987年のウォール街の大暴落

1987年10月19日(ブラックマンデー)、ダウ平均株価(DJIA)は508ポイント下落し、総資産の22.61%を失い、S&P500は20.4%下落しました。ウォール街が1日で経験した最大の損失です。

 

損害額:1日で5000億ドル

 

理由:主な原因は、プログラム売買と過大評価です。プログラム売買では、関連証券の価格などの外部入力に基づいて、コンピュータが迅速な銘柄の売買を実行します。プログラム売買は、ポートフォリオ保険戦略や裁定取引を行うためのものでした。

 

1987年初頭、SEC【米国証券取引委員会】によるインサイダー取引の捜査が相次ぎました。10月になると、投資家たちは退散を決意しました。人々が大量に流出し始めると、コンピュータ売買プログラムはDOT(指定注文回送システム)に大量の売り注文を出し、システムを圧倒して市場を暴落させ、すべての投資家を事実上盲目にしてしまったのです。

3. Y2K

Y2K(2000年問題)とは、コンピュータ化されたシステムのコーディングに問題があり、1999年12月31日から2000年1月1日までの移行期間に、コンピュータ・ネットワークやソフトウェアに大混乱が起こると予測された問題です。

 

損害額:5,000億ドル

 

理由:コンピュータの記憶容量を節約するため、レガシーソフトウェアの多くは日付の年号を2桁の数字、例えば1997年は「97」で保存していました。このため、2000年1月1日以降、日付に関連するプログラムが正しく動作しないことがありました。

 

また、2000年がうるう年であることを考慮に入れていないプログラムもあったのです。2000年の幕開け以前から、1999年9月9日(9/9/99)に不具合を起こすソフトがあるのではと心配されていました。初期の開発者は、プログラムコードの終わりを示すのに9を連発することが多かったからです。

2. がん治療と致死的放射線治療

医療用放射線治療器「セラック25」は、1985年から87年にかけて、数百人の患者が大量の放射線を過剰に浴びた多くの症例に関与しています。意図した線量の100倍もの放射線を浴びた患者も少なくありませんでした。2000年にパナマ・シティでも同じような放射線量の間違いが起こりました。

 

犠牲者:10数名死亡、20名重傷。

 

理由:治療計画ソフトウェアが、データを入力した順序に基づいて放射線量を計算し、多くの場合2倍の線量を照射していました。

1. パトリオットミサイルの失敗

1991年2月(第一次湾岸戦争中)、サウジアラビアのダーランにある米国のパトリオットミサイルが、飛来するイラクのスカッドミサイルの迎撃と追尾に失敗し、スカッドミサイルは米軍の兵舎に墜落しました。

 

犠牲者:兵士28名+負傷者100名

 

理由:時間計算の不正確さとコンピュータの演算ミスにより、システム故障に至ったものです。技術的には小さな刻みのミスであり、システムの内部時計に1/10を掛けて(非終端)秒単位の時間を生成していました。この計算は、24ビットの固定小数点レジスタを使って行われました。つまり、1/10の値は基点から24ビットで刻まれます。このため、大きな誤差が生じ、ミサイルが半キロメートル以上移動してしまったのです。

災難は続く

マイクロソフトの顧客が海賊版で訴えられる:Windowのチームの誰かが誤って、バグだらけの試作品ソフトウェアをすべてのWindowsサーバーにインストールしてしまいました。その後19時間、すべての正規XPユーザーは海賊版ソフトを使用していると告げられました。

 

仮釈放された犯罪者たち:2011年、コンピュータのプログラムコードの小さなミスにより、約450人の凶悪犯罪者がカリフォルニア州郡刑務所から釈放されました。

 

第三次世界大戦(寸前):1983年9月26日、ソビエト連邦の核早期警戒システムが米国製ミサイルの発射を報じました。ソ連のシステムは、雲の上に反射した太陽光を誤って拾い上げ、ミサイル発射と解釈したのです。その後、ソ連防空軍の将校により、ミサイル攻撃の警告は誤報であることが判明しました。この判断により、核戦争と数百万人の死者が出る可能性を防ぐことができました。

 

停電:2003年、全米8州で発生し、5,000万人に影響を与えました。この問題は、1つの操作に対して2つのスレッドが同じ要素のコードを使用した結果生じた競合状態でした。

 

Appleマップの失敗:iOS 6のリリースに伴い、Appleは優れたGoogle Mapsのプラットフォームを蹴ることにしました。残念ながら、それはモバイルコンピューティング業界の最も壮大な失敗の一つであることが判明しました。TPMIdeaLabは、2012年9月、このソフトウェアに町全体が入力されていない、位置が間違っている、衛星画像が雲で隠れている、などの問題があることに気づきました。

 

LAX便が着陸:2007年、米国の国境と税関管理ネットワークに大量の不正なデータが送信されました。この問題を解決するために、ロサンゼルス空港は8時間にわたって空港全体を閉鎖し、17,000機以上の飛行機を着陸させました。原因は、1つの欠陥のある組み込みソフトウェアにあったのです。

おすすめ新着記事

おすすめタグ