PR

わずか半年でカーネル本体に統合された,
日本人によるテスト技術


写真3●フィックスターズ 美田晃伸氏
[画像のクリックで拡大表示]

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

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

 美田氏はfailmallocのカーネル版を作成ようと思い付いてパッチを作成し,特に期待せずにカーネル・メーリング・リストに投稿した。このパッチは,SLABアロケータでのメモリー確保を失敗させるもので,失敗の頻度などのパラメータはカーネルの起動オプションで渡すようになっていた。

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

 The Linux Foundation Japanディレクタの工内隆氏(写真4)は,米国でのThe Linux Foundationのイベント「Collaboration Summit」の報告を行った。同氏は,イベントでの主要な問題提起の一つにテスト活動があったことを挙げ,日立ハイブリッドネットワークの藤原哲氏らが開発した分岐命令トレーサ「btrax」などが注目されたことなどを報告した。Linuxがエンタープライズ領域で活用されるようになるにつれ,テストの重要性も増す。The Linux Foundationとしては,テスト活動活性化に向けた議論の場を提供していきたいという。

プリンタ・ドライバの共通化を目指す


写真5●The Linux Foundation COO Dan Kohn氏
[画像のクリックで拡大表示]
 The Linux Foundation COOのDan Kohn氏(写真5)は,同団体の主要な活動のうち「CGL」(Carrier-Grade Linux)と「LSB」(Linux Standard Base)の現状について語った。

 CGLは,通信インフラを構成する機器でも使用可能なレベルにLinuxの信頼性や応答性を高めるための取り組みである。すでに主要ディストリビュータが対応を果たすなど一定の成果は出ているが,カーネル開発コミュニティとの関係構築がうまく行かず主要機能がカーネルに取り込まれないという問題があった。CGLの活動停止も視野に入れていたが,「Collaboration Summit」での議論は(同氏の)予想よりも良い方向に向かい,組織を再編しての活動継続が決定されたという。今後は,カーネル開発コミュニティとのコミュニケーションに力を入れるなど「メインライン・カーネルへの統合に向けた環境整備を進める」と語った。

 Linuxのアプリケーション実行環境の標準化を進めるLSBは,同団体が最も力を入れる活動である。これまでは主にソフトウエア的な共通仕様の作成を行ってきたが,今後はハードウエアの分野にまで活動を拡大するという。例えば,ディストリビューションに依存しないプリンタ・ドライバを提供したり,Linuxの動作が確認された機器に「Certified for Linux」のような認証を提供するような活動を考えている。

 プリンタ・ドライバについては,すでに「OpenPrinting」というワーキング・グループを立ち上げており,そこで情報提供やドライバの配布を始めている。これまで同様の活動をしてきたlinuxprinting.orgというサイトを統合して実現した。今後は,プリンタ・メーカーや開発者,ユーザーらが互いに問題解決できるような場なども提供するという。「日本のプリンタ・メーカーには特に期待している」(Kohn氏)とし,2007年11月には,東京で第1回のミーティングを行う。

 なお、シンポジウムの講演資料はThe Linux Foundation Japanのサイトで公開されている。