最終更新時刻:2008年7月25日(金) 21時03分

-

想定できないこと。想定できるようにすること。

公開日時:
2007/07/18 23:19
著者:
danjo


「Linuxには新しいファイル・システムが必要」---第5回 The Linux Foundation Japan Symposiumから
を読んで。

記事の2ページ目に2つのソフトウェアが紹介されている。美田 晃伸さんが開発されているlinuxカーネルのFault Injectionと、奥地 秀則さんが開発されているfailmallocライブラリである。概要を以下に引用。

 フィックスターズの美田晃伸氏(写真3)は,同氏が実装したエラー発生機構「Fault
Injection」を紹介した。同機構を利用すると,Linuxカーネルの任意の場所で指定した頻度でエラーを発生させることができる。通常は発生しづ
らいエラーを強制的に起こすことができ,エラー処理などが適正に行われるかどうかのテストに便利である。カーネル2.6.20で統合された。

 開発のきっかけは高機能ブートローダー「GNU GRUB」の開発者である奥地秀則氏が作成した「failmalloc」という。これは,動的メモリー確保に使われるmalloc関数をわざと失敗させる共有ライブラリである。単純なライブラリだが,さまざまなソフトウエアの欠陥をあぶり出すことに成功して話題となった。

さて、奥地さんの日記エントリから以下を引用。

私は立場上いろんな人のプログラムを見る必要がある。
しかし、とりわけ経験不足な人が書いたコードはエラーチェックが無茶苦茶である。
要するに、失敗することを考えていない。
これには非常にうんざりさせられるが、
そもそも何が原因なのか考えてみた。

失敗するのを見ることがないのがいけない。

これが私の辿り着いた結論である。
実のところ、

malloc

が本当にこけるところなんて、熟練者でさえ滅多に見たことがないんじゃなかろうか。
今日のようにメモリが潤沢になると、その傾向にますます拍車がかかることになる。

そこで、いっそのこと、わざと失敗させてみることにした。
何で今までこういうものがなかったのか、多少不思議ではあるが
(私が知らないだけ?)、
30分ぐらいのハックで出来上がった。
それよりウェブページを作成する方がよっぽど時間がかかってしまった。

プログラムを作る際、上記メモリ関連のエラーとか並列処理でのリソースの競合など、検証するときに頭を悩ませる場合がある。これらの問題の特徴は以下。

  • 再現が難しい
    問題が環境に依存する場合、検証自体が困難な場合がある。検証そのものが困難なら、その分問題に注目できないことになる。
  • レアケースである
    多くの場合、レアケースよりはコモンケースで発生する問題の方が注目される。
    そのレア度と影響を考えて、問題に対処しないことを選択する場合もある。
  • 問題があること自体を想定していない
    「問題がある」こと自体知らなければ、問題はないのだから問題を解決することはできない。

failmallocのソースを見たところ、中心となるfailmalloc.cは200行ほどの簡潔なコードで、mallocの呼び出しをフックして確率
的に失敗するための処理を仕込んでいる。Fault
Injectionについては私がパッチの読み方が判らないため割愛するが、同じように簡潔なコードだろう。

元記事の引用に戻る。

 ところが元々のfailmallocのアイディアの秀逸性もありパッチは注目を集め,さまざまな要望やアイディアが寄せられることになった。美田氏はそ
れらのフィードバックを基に改良を進め,さらにそれを使って多数のカーネル・バグを発見して修正報告を行っていく。これがパッチの有用性の何よりのアピー
ルとなり,最初のパッチ投稿からわずか半年でカーネルに統合されることになった。

上記2つのプログラムは、他の開発者に以下の利点を与えたと思われる。

  • 再現を簡単にする
  • レアケースをコモンケースに変える
  • 問題を見えるようにする

良いアイデアは時に驚くほど簡潔な場合がある。これらのコードはキラキラ輝いていることだろう。

 

※このエントリは CNET Japan ブロガーにより投稿されたものです。シーネットネットワークスジャパン および CNET Japan 編集部の見解・意向を示すものではありません。

このエントリーへのコメント

ブログにコメントするにはCNET_IDにログインしてください。

このブログについて

ブロガープロフィール

アーカイブ

2008年7月
  12345
6789101112
13141516171819
20212223242526
2728293031  

カテゴリ

ブログネットワーク

アルファブロガー

外資系エグゼクティブの日々今アーキテクチャが面白い
外資系エグゼクティブの日々
クロサカタツヤの情報通信インサイトインターネットのリュミエール
クロサカタツヤの情報通信インサイト
平野敦士カールのアライアンスInsightGoogleお前もか?
平野敦士カールのアライアンスInsight
江島健太郎 / Kenn's ClairvoyanceiPhoneという奇跡
江島健太郎 / Kenn's Clairvoyance
末吉隆彦 ロケーションウェアの「空」と「実」サミット、サミット、そして今こそ!公衆無線LAN
末吉隆彦 ロケーションウェアの「空」と「実」
佐々木俊尚 ジャーナリストの視点暗黙共同体へ−秋葉原事件で考える
佐々木俊尚 ジャーナリストの視点

読者ブロガー

将来のPC業界パワーバランス最適なマウスの移動速度は?
将来のPC業界パワーバランス
電子政府パブリックコメントの抜粋パブリックコメントは国民に知られていなかった( 2 )
電子政府パブリックコメントの抜粋
個人・少人数制作アニメーション現代記 - 真狩祐志動画配信の影響なのかインターネット部門が「終了」
個人・少人数制作アニメーション現代記 - 真狩祐志

企画特集

DELLが掲げる「新・仮想化アセスメントサービス」DELLが掲げる「新・仮想化アセスメントサービス」
〜企業システムの仮想化環境の構築を支援〜

新着コメント

ルート134さん。コメントありがとうございます。 >すべての情報にはス......
Googleというネットの巨大なメディアに支配される脅威
投稿者:新倉 茂彦
コメントありがとうございます。 「消費者・生活者を主役とした行政への転換......
パブリックコメントは国民に知られていなかった( 2 )
投稿者:sumimotoshohei
こういう余計な人がいなければ、知られずにアリバイ工作できたのに。 //...
パブリックコメントは国民に知られていなかった( 2 )
投稿者:ルート134
一般にも、うけているが、マニア系にはHPLXの後継機なのでしょうね。 XPにも......
iPhoneの影で馬鹿売れしているみたい
投稿者:ルート134
>制作についてはこれといって語られない。 今週、4ch(読売)で深夜に少......
動画配信の影響なのかインターネット部門が「終了」
投稿者:ルート134

ブログネットワークとは?

CNET Japan ブログネットワークは、元はCNET Japanの一読者であった読者ブロガーと、編集部の依頼により執筆されているアルファブロガーたちが、ブログを通じてオンタイムに批評や意見を発信する場である「オピニオンプレイス」、また、オピニオンを交換するブロガーたちが集うソサエティです。

広い視野と鋭い目を持ったブロガーたちが、今日のIT業界や製品に対するビジョンや見解について日々熱く語っています。

あなたもブログを書いてみませんか?

CNET Japanやその他サイトが提供するITニュースやコンテンツへの意見や分析、 ビジネスやテクノロジーに対するビジョンや見解について語っていただける方を 募集しています。ご応募はこちらから

ブログの投稿・管理

ブログの投稿はこちらから(※ブロガー専用)

ブログアワード2007開催決定!

今年最も活躍したブロガーを表彰します。詳細はこちらから

αマークって?

これは、CNET Japan 編集部の依頼に基づいて執筆されているCNET Japan アルファブロガーによるブログの印です。

Good!って?

CNET Japan ブログネットワーク内で拍手の代わりに使用する機能です。ブログを読んで、感激した・役に立ったなど、うれしいと思ったときにクリックしてください。多くGood!を獲得した記事は、より多くの人に読まれるように表示されます。

レビュー

[レビュー]高い信頼性を普通に使う地球に優しい電源ユニット--Antec EarthWattsシリーズ EA-650
“自作ユーザーは、電源ユニットに何を求めるのか?”出力なのか、安定性なのか、それとも機能性なのか?難し
オンリーワンの個性を極めた超薄型テレビ--日立 Wooo UTシリーズ
日立製作所の超薄型液晶テレビWooo UT 770シリーズは2008年6月にラインアップが増強され、さらに日立らしい
[レビュー]“この手があったか”と思わせるパワーユーザーも納得のPCオンデマンド--「VALUESTAR G タイプR Luiモデル」+「Lui RN」詳細レビュー
「VALUESTAR GタイプR Luiモデル+PCリモーター」は、設置場所にとらわれずにPCを使える、NECが新しく提案
今週の新製品総チェック:ドコモ、au夏モデルが続々店頭へ、ビデオカメラは新機種ラッシュ
NTTドコモ、auなど、ケータイ夏モデルの店頭発売日が決定し、盛り上がりを見せている。9.8mmの超薄型ケータ
[レビュー]テレビを持ち歩ける最強ツール--ソニー、Blu-rayレコーダー「BDZ-A70」
[レビュー]ネットワーク対応の高機能デジタルフォトフレーム--ソニー「Canvas Online CP1」
15時間の行列で手に入れたiPhone 3Gファーストインプレッション--ソフトバンクモバイル「iPhone 3G」
北京を見逃すな!--2008年夏、今買うべき「薄型テレビ」
[レビュー]通勤鞄に忍ばせたい軽さと装着感--マクセルのノイキャンヘッドホン「HP-NC15」