本研究はオペレーティングシステムにおいて発生頻度の高いバグについて調査をし,そこで得られたバグに特化した静的コード解析の開発を行う.高い頻度のバグに特化した検査をすることで現実的なオペレーティングシステムの高信頼化を目指す.昨年度に得られた37万件以上に渡る Linux のバグ・レポートの自然言語処理を用いた解析の結果では多様なセマンティクスに関するバグ,例えばデバイスの挙動が関わるバグを含め発生頻度の高いものを抽出し,よく知られているメモリバグやコンカレンシーバグのほかにもオペレーティングシステムで一般的となる機能,割り込み処理や DMA に関する実装の誤りなどを特徴的なバグとして出現することを明らかにした.この結果に基づき,本年度は Linux のデバイスドライバ 2287 件を検査を行う静的解析の実装を行い,Linux 4.1 において 5 件のバグの発見・修正を行った.修正した結果および過去のバグレポートに基づく静的解析を実装したケーススタディについて論文誌において発表した.この結果は近年問題となっているLinux のバグによる信頼性の低下を避ける手法の考案や,性能の向上にとって重要なものとなると考えている.また,Linux は産業界でも広く使われるオペレーティングシステムのひとつであり,そのバグを実際に修正を行ったことは学術的な貢献のみではなく,産業界への貢献も行えたと考えている.今後の展望として,バグ・レポートの解析の自動化をより進めることが必要となると考えている.現状では大量のバグ・レポートの解析を支援することにとどまっており,必要となる利用者の労力は少なくない.より多様なバグ対策へつなげるためにも解析の自動化を進める必要性を感じている.
|