2014 Fiscal Year Annual Research Report
割込み処理に伴う競合の高精度かつ高効率な検出手法に関する研究
Project/Area Number |
24700026
|
Research Institution | Tokyo Institute of Technology |
Principal Investigator |
荒堀 喜貴 東京工業大学, 情報理工学(系)研究科, 助教 (50613460)
|
Project Period (FY) |
2012-04-01 – 2015-03-31
|
Keywords | データ競合 / 割込み / スレッド / プログラム解析 / 動的解析 / バグ検出 |
Outline of Annual Research Achievements |
本研究は,割込み処理を行う広範な種類のプログラムの信頼性向上に貢献すべく,不正な割込み処理に伴う競合状態(割込み競合)を高精度かつ高効率に検出する手法を確立することを目的とする. 高精度かつ高効率な割込み競合検出法を実現するアプローチとして,初年度に,既存のスレッド処理に伴う競合(スレッド競合)の動的検出法の各種を割込み競合の検出が可能となるよう拡張した. 次年度は,割込み競合検出の特性(精度・効率)を分析するためのベンチマークプログラム群を作成し,前年度の拡張で得た各種の割込み競合検出法の特性を分析した.その結果,スレッド競合の検出で良好な精度(誤検出率の低さ・検出漏れ率の低さ)を示した解析法を単純に拡張するだけでは,高精度な割込み競合検出法を実現できないことが判明した.また,従来のスレッド競合検出では検出漏れの少ない手法(但し誤検出が多い)と誤検出の少ない手法(但し検出漏れが多い)を相補的に融合させることで検出漏れと誤検出を同時に抑制できるが,割込み競合の検出では同様の融合による精度向上が困難であることが分かった. 最終年度は,スレッド競合検出の拡張に基づく割込み競合検出の精度面での問題点を分析し,割込み競合検出に固有の精度向上手法を開発した.精度向上は,スレッド処理と割込み処理における共有データアクセスおよび排他制御の様式の相違に着目し,対象プログラム中のどの共有データアクセスがどの状況でどの割込み処理によって不正に割込まれ得るかを正確に記録・解析することで実現した.但し,この検出法は,素直に実装すると従来より大量のメタデータの記録および解析を必要とするため検出効率が悪い.そこで,検出効率の向上ために,競合検出用メタデータを簡潔に記録する方式と複数の競合解析を同時並列実行する方式を開発した.ベンチマーク上の実験の結果,開発した方式は高精度かつ高効率に割込み競合を検出できた.
|