SSブログ

F35のソフトウェアがバグだらけという記事を読んで [ソフトウェア]

アメリカ軍が開発する戦闘機「F-35」の制御プログラムはバグだらけで改修に多くの費用と時間がかかる見込み
http://gigazine.net/news/20160504-f35-buggy-software/

少々古い記事だが、この記事で私が注目するのは「コンピュータソフトウェアとバグは切り離せない」という現実だ。


昨今のコンピュータ事情は大規模化・複雑化が進んでいる。
もちろんこうした現状をなんとかしようと単純化も進められているが、現実は焼け石に水状態だ。


私の過去の経験から言わせてもらえば、コンピュータプログラムのバグは設計段階から存在し、実際にコードを書き始めると人的ミスで増殖し、膨大なコードの全てを把握できる人間は皆無であり、バグ取りのためのツールを駆使したとしても完全にバグを消し去る事はいまや不可能な作業となっている。

現在のソフトウェア開発はバグがあってもとりあえず仕様を満たす動作さえすればOK、という基準で出荷される。しかもそのOKは恣意的に操作され、実際には基準を満たさないケースが後を絶たない。

GIGAZINEの記事になっているF35の件ももれなくそのケースの一つであり、IoTという言葉が走り回る現在、想像される未来はこのF35の現状となんら変わりが無い事が現実であると認識すべきだ。


つまりコンピュータプログラムには、デザイン上・設計上・プログラミング上・運用上・他色々の「バグ」が必ず存在し、これらがあらゆる人間の“想定外のトラブル”を起こし、場合によっては取り返しの付かない災害に結びつく可能性が大きい。

そしてこの問題はシステムの規模が大きくなると指数関数的に増えていく。
同時に対処も難しくなっていく。もちろんコンピュータの操作を廃したバックアップシステムがあれば、問題をある程度回避する事は可能だが、そういう手段を取れるものは限られる。

特にF35のような兵器であれば、予算の上限は民間のそれをはるかに上回り、テストに費やすリソースもずっと多く、しかもダメとなれば潔く中止にも出来る。

だが、IoTの場合はどうだろう?
限られた開発費と少ない開発リソースで製品を開発そなければならず、バグ取りすら満足に出来ないケースがどれだけある事か。
その結果少しでも開発費を回収するため、或いはつまらない自尊心のために、結果がどうなるかわからなくても“理解したと妄想に浸る”事で暴走に等しい見切り発車をするだろうし、ITバブルの前後に代表される過去にもそういう例は枚挙に暇が無い。

しかも問題は作る側だけに留まらないのがこの問題をより複雑化させている。
要は使う側が理解できないまま、なんとなく使うのでそれが原因でトラブルが発生する事も増えるからだ。


コンピュータデバイスがありとあらゆる場所で使われ始めている現在、様々な理由でそれらが分断されている事は幸運かもしれない。
もしこれらが統一された時、それは人類にとって終末の始まりになるのかもしれない。


nice!(6)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 6

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0