正常なソフトからコードを転送してバグを修復するシステム、MITが開発

Charlie Osborne (Special to ZDNET.com) 翻訳校正: 川村インターナショナル

2015-07-02 17:05

 マサチューセッツ工科大学(MIT)のチームは、「ドナー(「臓器提供者」の意)」プログラムを使ってオープンソースプログラムの機能性を向上させ、システムエラーと脆弱性を減らす方法を考案した。

 「Automatic error elimination by horizontal code transfer across multiple applications」(複数のアプリケーションをまたいだ水平コード転送による自動エラー除去)と題された論文の中で、MITの研究チームは「Code Phage」システムについて説明した。同システムは、ドナーとなるプログラムから、バグのあるコードやエラーを含むほかのアプリケーションに自動的にコードを転送する。

 テスト中、MITのチーム(Stelios Sidiroglou-Douskos氏、Eric Lahtinen氏、Fan Long氏、Martin Rinard氏)は7つのドナーアプリケーションを使って、受け取り側の複数のオープンソースプログラムに存在していた計10個のエラーを解消した。

 「(Code Phageは)ソースコードも記号情報も不要でバイナリドナーと連携するので、幅広いユースケースに対応できる。われわれの知る限り、Code Phageは複数のアプリケーションをまたいで自動的にコードを転送できる初めてのシステムだ」(同チーム)

 Code Phageが分析を開始するためには、2つのサンプル入力が必要となる。エラーを引き起こす入力と、エラーを引き起こさないシード入力だ。その後、Code Phageはアプリケーションデータベースを利用して、両方の入力を適切に処理できるドナープログラムを特定する。

 「ドナーには判断基準となる部分があり、受け取り側にはそれがない。これにより、エラーを引き起こす入力を適切に処理することが可能になるというのがわれわれの仮説だ。目標は、その部分をドナーから受け取り側に転送する(そして受け取り側のエラーを取り除く)ことだ」(同論文)

 この判断基準が特定されたら、Code Phageはドナーの条件分岐を調べて、シード入力とエラーを引き起こす入力に関して、異なる方向に進む分岐を見つける。その後、Code Phageはエラーを修正する正しい分岐を検出し、そのバグを修復するパッチを自動的に作成する。そして、このパッチが適用され、テストされる。

 MIT研究チームによると、Code Phageは整数オーバーフローや境界を越えたアクセス、ゼロ除算エラーなどのエラー修正に使用できるという。

この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ホワイトペーパー

新着

ランキング

  1. セキュリティ

    セキュリティ担当者に贈る、従業員のリテラシーが測れる「情報セキュリティ理解度チェックテスト」

  2. セキュリティ

    サイバー攻撃の“大規模感染”、調査でみえた2024年の脅威動向と課題解決策

  3. セキュリティ

    従業員のセキュリティ教育の成功に役立つ「従業員教育ToDoリスト」10ステップ

  4. セキュリティ

    IoTデバイスや重要インフラを標的としたサイバー攻撃が増加、2023年下半期グローバル脅威レポート

  5. セキュリティ

    急増する工場システムへのサイバー攻撃、現場の課題を解消し実効性あるOTセキュリティを実現するには

ZDNET Japan クイックポール

所属する組織のデータ活用状況はどの段階にありますか?

NEWSLETTERS

エンタープライズコンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]