SEA-MAIL メルマガ版 2012 年 第 4 号

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
◆SEA-MAIL メルマガ版 2012 年 第 4 号◆
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

本メルマガでは,定期的に SEA 主催のイベント情報や幹事による
コラム等をまとめてお伝えします.

──────────────────────────────
◆目次
──────────────────────────────

1. これから開催するイベント
2. 幹事コラム: 鈴木裕信
「プランBのなき世界」
3. SEAのSNSでコミュニティを作りませんか
4. SEA Forum のテーマ募集
5. 本メルマガへの寄稿募集
6. SEA on ソーシャルメディアのご紹介

──────────────────────────────
◆1. これから開催するイベント
──────────────────────────────

これから開催する SEA 主催のイベントです.
多数のご参加をお待ちしています.

●SEA Forum 「宇宙を駆けるTOPPERS」
1. 日時:2012年05月16日(水) 17:30 – 19:30
2. 会場:フェリカネットワークス株式会社 受付会議室
東京都品川区大崎1-11-1
ゲートシティ大崎 ウェストタワー 16 階
3. 参加費:(当日現金でお支払いください)
SEA 正会員・学生・40 歳未満: 1,000 円
SEA 賛助会員: 2,000 円
一般: 3,000 円
http://sea.jp/?p=1000

●SEA総会:2012年05月16日(水) 19:30 – 20:00
(前記SEA Forumの会場にて引き続き開催)

●SEA Forum 「実用期を迎えた関数プログラミング@福岡」
1. 日時:2012年05月31日(木) 13:30 – 17:00
2. 会場:福岡県Ruby・コンテンツ産業振興センター
3. 参加費:3,000円(当日現金でお支払いください)
http://sea.jp/?p=971

●ソフトウェア・シンポジウム 2012 in 福井
http://www.sea.jp/ss2012/

今年のソフトウェア・シンポジウムは,6月12日(火) – 14日(木)
に福井駅前の AOSSA で開催します.
現在,早期割引価格で参加申込みを受付中です.
(早期割引は4月30日まで)

お問い合わせ,ご意見は,ss2012inquiry [at-mark] sea.jp
までお送りください.

──────────────────────────────
◆3. 幹事コラム: 鈴木裕信
「プランBのなき世界」
──────────────────────────────

先日参加したSEA Special Forumのパネルディスカッションでみず
ほ証券の株誤発注が話題になった.「61万円1株売りを間違えて1円
61万株売と注文した」という世にいうジェイコム株大量誤発注事件
である.みずほ証券は,誤発注を取り消すことができない東証シス
テムの瑕疵に対し損失分404億円の損害賠償訴訟をおこし,東京地
裁は東証に約107億円の支払いを命じる一審判決を下した.

最終的には発注後取り消せないという極めてわかり易いかたちで
発現したバグであるが,伝え聞く所によると,そこに至までいくつ
ものレアな条件が重なって始めて発生している.第三者的視点から
みて,そうそう簡単には潰しきれないバグである.とはいえ,現実
には400億円もの損失を出すバグが発生しているわけで,このイ
ンパクトは日本のソフトウェア史に影を落とすと言わざるをえない.

さて,これからの議論を進める上で,ここでバグに関して真実と
もいえなくもない仮定をしたい.手短にまとめると,「バグはいつ
どこでどんなものが現れるかは,今の我々の技術ではコントロール
できないし,リスクゼロのソフトウェアは存在しない」という仮定
である.

なぜそんな仮定をするのかちょっと説明を加えたい.ソフトウェ
ア中の潜在的バグの発見累積数はS字曲線(ロジスティック曲線)
を描く.着目してもらいたいのは,ある一定の発見数を越えると,
なかなか発見しづらくなるという部分である.そしてまたソフトウェ
ア中のバグが少なくなるという意味でもある.そして密かに残るい
くつかのバグを探し出すには極めてコストがかかるということを示
唆している.またそのバグが引き起こす結果はどうなるかは事前に
は評価できないということも.

最近では,「脆弱性」という言葉で我々の目の前に現れる.たと
えば Remote Desktop Protocol(RDP)(MS12-020/CVE-2012-0002)は,
先月(2012年3月)に出た脆弱性報告なのだが,これはリモー
トの攻撃側から簡単に標的のコンピュータをブルースクリーンにす
ることが出きる.ちなみに攻撃には特別な知識はいらず,世の中に
出回っている攻撃ツールを使えばよい.グーグルがつかえ,少し英
語が読めれば簡単に出来るレベルである.

このようなバグが日常的に現れるので感覚が麻痺しているが,コ
ンピュータにとって致命的といえば致命的なバグである.この現象
をパソコンだからといいたい人もいるかも知れない.次の例はどう
だろうか.1980年代後半まで軍用機のフライ・バイ・ワイヤー
のソフトウェア(操縦ソフトウェア)には,ゼロデバイド,つまり
0で割ろうとする極めて初歩的なバグがあった.そのバグは失速し
た時点で操縦できなくなるという致命的な形で現れる.このバグが
発見されるまで軍用機に使われ続けていた.開発期間も含めると2
5年近くソースコードの中に存在していたらしい.パイロットのミ
スによる失速のために墜落というわかりやすい報告書が作られ,そ
れ以上,深くは追求せず終わっていたというのは想像に難くない.

民間で使うソフトウェアからみると青天井ともいえるコストをか
けることが可能の軍用システムのソフトウェアですらこのありさま
である.起動時間が長くなると迎撃精度が落ちるというバグを持つ
湾岸戦争で使われていた地対空ミサイル.宇宙空間で故障している
人工衛星を回収しようとしたけれどバグで機材が使えず,結局,人
間の手で回収せざるを得なかったスペースシャトルの制御システム.
似たような話は色々とある.

さて,パネルディスカッションでのみずほ証券の株誤発注の話題
に戻る.

会場からは当然のように「ソフトウェアのテストを完全に行う」
あるいは「もっとソフトウェア開発の技術を向上させて」というよ
うな発言があがってきた.極めて常識的な発言に聞こえるが,しか
し,どんなにテストの精度をあげようと,開発技術を向上させよう
と,バグは残るし,いつどのような形で現れるかはわからない.あ
くまでも仮定だが.

この完全なソフトウェアが理論上存在し,リスクゼロのソフトウェ
アを目指すというのを否定はしない.しかしリスクゼロのソフトウェ
アの構築という目的が段々と結果にすりかわり,ソフトウェアはリ
スクゼロであるべき,あるいはソフトウェアはリスクゼロとして扱
わなければならない,という誤った認識に陥っていないだろうか.

東証のシステムも「システムは最悪な状態になる時はなるのであ
る」という前提をおき,すべての手を尽くしてもどうしようもない
最悪な状況になった時,コンピュータでの売買を切り離し,売買停
止にする手順を考えるべきだったのである.いわゆるプランBを発
動すべきだったのである.

しかし,少なくとも日本の文化においては,プランBを良しとしな
い.プランAがダメなら,プランA’.プランA’がダメならプランA”
を用意しようとする.とことんプランAを突き詰めていく.「極め
る」という言葉は耳に心地よいが,実際には追い込まれていくよう
な世界に入り込む,といった方がいいだろう.無限にプランAを拡
張できるわけはないのだから,いつかは壁にあたり,その先に進め
なくなる.問題は,その時にプランAをどうやって肯定するかを考
え始める部分である.もう正常な判断ではいられなくなる.

今から260年ほど前にモンテスキューの『法の精神』に出てく
る有名な話を思い出してしまう.モンテスキューは「何でもかんで
も切腹なので,それを回避するために真実を隠してしまう.よって
法はその力を失う」といっている.これをこう置き換えてみよう.
「プランAには限界があり,それを放棄しなければならない場面も
発生する.しかし,それを認めるということは許されないことあり,
よってプランAのまま突き進む」これの姿は第二次世界大戦の軍部
の姿にも見えるし,はたまた,福島第一原子力発電所事故を起こし
た日本の原子力業界のようにも見える.本質的には260年前にモ
ンテスキューが指摘した日本の法(ルール)に対する態度となんら
変わっていない.

コンピュータシステムに関わらず「システム」というものがあり,
それがクリティカルなシステムである場合,システムがまったく機
能を果たさなくなった最悪の状態を想定し,その時に最悪な状態を
回避する方法を常に用意し,ためらわず使うべきなのである.

我々は常にプランBを考え,うまくいかない時は柔軟にブランBへ
乗り換える,また,それを認める文化が必要なのである.

──────────────────────────────
◆3. SEAのSNSでコミュニティを作りませんか
──────────────────────────────

SEAでは会員サービスとしてオープンソースのOpenPNE Version2 を
使ったSNSを運用しています.このSNSではコミュニティでのトピッ
クやイベントでファイルを置くことで情報の共有などができます.

SEAのSNSを活用して,コミュニティを作成しませんか.たとえばSEA
関西では,SEAの幹事や会員が責任を持って他の会員や非会員の方
も招待して,分科会やメーリングリストだけでなく情報共有できる
場を作ろうと思っています.

SEAのSNSへの参加を希望される方は

sns-adm [at-mark] sea.jp

までご連絡ください.折り返し招待メールが届きます.

──────────────────────────────
◆4. SEA Forum のテーマ募集
──────────────────────────────

SEAでは,今後もソフトウェア技術者の方にとって魅力的なForumを
企画,提供していきたいと考えています.採り上げて欲しいテーマ
やご要望がございましたら,お気軽に,下記の専用メールアドレス
までご提案ください.

forum-req [at-mark] sea.jp

──────────────────────────────
◆5. 本メルマガへの寄稿募集
──────────────────────────────

本メルマガでは,毎回幹事のコラムを掲載しておりますが,会員の
みなさまからの寄稿も歓迎致します.「メルマガへの寄稿」と明記
の上,下記の問い合わせ先までご連絡ください.

──────────────────────────────
◆6. SEA on ソーシャルメディアのご紹介
──────────────────────────────

SEAでは,以下のソーシャルメディアでも最新の情報を
発信しています.フォロー/いいね!を歓迎します.

SEA公式Twitterアカウント: @sea_jp
https://twitter.com/sea_jp

SEA公式Facebookページ:
https://www.facebook.com/SoftwareEngineersAssociation

ソフトウェア・シンポジウム公式Facebookページ:
https://www.facebook.com/SoftwareSymposium

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SEA-MAIL メルマガ版 2012 年 第 4 号
ソフトウェア技術者協会 http://sea.jp/
お問い合わせ先: mailto:office [at-mark] sea.jp
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━