アカウント名:
パスワード:
ソフトウェアにはバグがつきものだし、だからバグ修正版やパッチが公開される、というのも一理ある。でも、命に関わる部分は、そういうわけにはいかない。かといって、無限にコストをかけるわけにもいかないし、かけたところで、バグを完璧に(理論的に完璧はありえないにせよ、少なくとも自分の命をあずけてもいいと思える程度に)なくすことは可能なのか。じゃあどうすればいいのか。
/.JはIT関係者が多そうだし、そのへんの議論を聞きたいですね。
マジレスすれば ISO 61508。もっというと DO-178B。でも IEC 61513は...
ハードだろうとソフトだろうと、人間のやることには欠陥がつき物。
命に関わる部分ならばハードにだって欠陥があってはならないけれど、かといって無限にコストをかけるわけにもいかないし、かけたところで欠陥を完璧になくすことは不可能。
そういう意味においては、べつにソフトウエアだけが特別なわけではない。
人間の操作ミスより、ソフトウェアの不具合のほうが対策・改良できる分だけマシという考え方もある。
実際、マシなんでしょうか?
というか、比較対象は人間の操作ミスってことでいいの?
ソフトウェアは、あらかじめ想定されたことしか対処できない、ということがあります。ことが起こる前に、すべてのケースを想定し尽くすことが可能かどうか、という問題があります。ただし、それはソフトウェア技術者ではなく、仕様を決定する段階での問題ですので、ソフトウェア技術者には責任がありません。
一方、人間がやる場合であっても、すべての場合を考慮したマニュアルを作っておく必要があり、そのマニュアルに漏れがあった場合、パイロットは途方に暮れるかも知れません。これは、上記の仕様決定の漏れと同じ問題ですので、人間がやる
じゃあ複雑にしなければいいじゃん?
という意見が出てくるわけですが、航空機の場合、単純にすると、急に舵を切ったりしたときに異常振動が発生して舵が壊れたり、致命的なことが起きるので安全装置を設けるには複雑にならざるを得ない。しかも軽くするために電子化は避けられない。というわけですね。
理論的に完璧には多分不可能だと思う。
自分の命をあずけてもいいと思える程度に、であれば確率論だけで割り切れるのであれば飛行機って十分にバグは無くされてるんじゃないか?
バグが起きても他の部分でカバーできるようにしとけば良いんですよフェールセーフって奴ですバグなんて起こすな、絶対だ! 完璧にしろ!なんて考えのもと働くと後で悲惨なことになります
「初飛行は開発者が乗ること」という法律を作れば、デバッグに必死になるんじゃないかな?
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ソースを見ろ -- ある4桁UID
ソフトウェア技術者(あるいはIT土方)からのコメント求む (スコア:0)
ソフトウェアにはバグがつきものだし、だからバグ修正版やパッチが公開される、というのも一理ある。
でも、命に関わる部分は、そういうわけにはいかない。
かといって、無限にコストをかけるわけにもいかないし、かけたところで、
バグを完璧に(理論的に完璧はありえないにせよ、少なくとも自分の命を
あずけてもいいと思える程度に)なくすことは可能なのか。
じゃあどうすればいいのか。
/.JはIT関係者が多そうだし、そのへんの議論を聞きたいですね。
Re:ソフトウェア技術者(あるいはIT土方)からのコメント求む (スコア:1)
マジレスすれば ISO 61508。
もっというと DO-178B。
でも IEC 61513は...
Re:ソフトウェア技術者(あるいはIT土方)からのコメント求む (スコア:1)
ハードだろうとソフトだろうと、人間のやることには欠陥がつき物。
命に関わる部分ならばハードにだって欠陥があってはならないけれど、
かといって無限にコストをかけるわけにもいかないし、かけたところで
欠陥を完璧になくすことは不可能。
そういう意味においては、べつにソフトウエアだけが特別なわけではない。
Re: (スコア:0)
人間の操作ミスより、ソフトウェアの不具合のほうが
対策・改良できる分だけマシという考え方もある。
Re: (スコア:0)
実際、マシなんでしょうか?
というか、比較対象は人間の操作ミスってことでいいの?
Re: (スコア:0)
ソフトウェアは、あらかじめ想定されたことしか対処できない、ということがあります。
ことが起こる前に、すべてのケースを想定し尽くすことが可能かどうか、という問題があります。
ただし、それはソフトウェア技術者ではなく、仕様を決定する段階での問題ですので、
ソフトウェア技術者には責任がありません。
一方、人間がやる場合であっても、すべての場合を考慮したマニュアルを作っておく必要があり、
そのマニュアルに漏れがあった場合、パイロットは途方に暮れるかも知れません。
これは、上記の仕様決定の漏れと同じ問題ですので、人間がやる
Re: (スコア:0)
じゃあ複雑にしなければいいじゃん?
という意見が出てくるわけですが、航空機の場合、単純にすると、急に舵を切ったり
したときに異常振動が発生して舵が壊れたり、致命的なことが起きるので
安全装置を設けるには複雑にならざるを得ない。
しかも軽くするために電子化は避けられない。
というわけですね。
Re: (スコア:0)
理論的に完璧には多分不可能だと思う。
自分の命をあずけてもいいと思える程度に、であれば
確率論だけで割り切れるのであれば飛行機って十分にバグは無くされてるんじゃないか?
Re: (スコア:0)
バグが起きても他の部分でカバーできるようにしとけば良いんですよ
フェールセーフって奴です
バグなんて起こすな、絶対だ! 完璧にしろ!
なんて考えのもと働くと後で悲惨なことになります
Re: (スコア:0)
「初飛行は開発者が乗ること」という法律を作れば、デバッグに必死になるんじゃないかな?
Re:ソフトウェア技術者(あるいはIT土方)からのコメント求む (スコア:2)
コードは開発現場で書くんじゃない! 現場で書くんだ!
とも言いますしね。
http://www.youtube.com/watch?v=hYHdF03wYFw