2020 Fiscal Year Research-status Report
Research of Sanitizers for Distributed Concurrent Systems
Project/Area Number |
19K11900
|
Research Institution | Tokyo Institute of Technology |
Principal Investigator |
荒堀 喜貴 東京工業大学, 情報理工学院, 助教 (50613460)
|
Co-Investigator(Kenkyū-buntansha) |
内田 公太 東京工業大学, 情報理工学院, 特任助教 (90836701)
|
Project Period (FY) |
2019-04-01 – 2023-03-31
|
Keywords | 分散並行バグ / 分散並行処理 / サニタイザ / 動的解析 / プログラム解析 |
Outline of Annual Research Achievements |
本研究は、分散並行バグを正確かつ高速に検査する分散並行サニタイザの実現を目的とする。サニタイザ(Sanitizer)とは、プログラムの実行状態を観測して得られるデータに基づきバグや脆弱性を検査する技術であり、ソフトウェアの信頼性やセキュリティの向上に役立つ。しかし、従来のサニタイザは、分散環境で複数の処理が並行動作するプログラムに固有の非決定的バグ(分散並行バグ)を正確かつ高速に検査できない。本研究はこの問題の解決を目指す。
本年度は前年度の成果をふまえ、まず、分散並行処理の複雑属性表現上で分散並行バグ検査を並列実行するメタデータ処理を設計した。検査高速化のために、検査を支えるメタデータ処理のどの部分をどう並列化するかという課題に対し、メタデータ処理を記録と検査の2つのフェーズに分割し、各フェーズを個別に並列化する方式を検討した。具体的には、記録フェーズで検査対象の各ノード上の各スレッドが各自のバッファにメタデータを記録し、検査フェーズで全バッファのメタデータを定期的に集約した上で並列検査する方式を設計した。集約メタデータの検査を検査担当ノード群が並列実行し、更に、各ノード内のプロセッサの複数コアがノード内で検査を並列実行するノード並列かつコア並列な検査方式を設計した。
また、次年度の実験に備え、本研究のサニタイザが検査対象とする幾つかのバグの検査および再現ツールのプロトタイプ実装およびその改良を行い、これらに関連する成果の一部を国際会議ACM SAC 2021等で発表した(ただし、これらのツールの分散並行拡張は次年度の課題とする)。
|
Current Status of Research Progress |
Current Status of Research Progress
3: Progress in research has been slightly delayed.
Reason
本年度の研究実施計画は複雑属性表現上で分散並行バグ検査を並列実行するメタデータ処理の設計および実装である。 本年度の研究成果はそれらの設計を行ったものの実装についてはまだ改善の余地が残っているため、本研究はやや遅れていると考える。
|
Strategy for Future Research Activity |
本研究は今後、次の計画で推進する。まず、本年度に設計した分散並行バグ並列検査器の実装の完成度を高めたうえで現実のベンチマークプログラムに適用し、検査並列化による検査効率の向上を計測する。次に、検査担当ノード群の間の検査負荷の偏りと各ノード内のプロセッサのコア間の検査負荷の偏りを解消する各種の最適化手法を設計し実装する。この最適化を備えた分散並行バグ並列検査器を同じベンチマークに適用し、最適化による検査効率の向上を計測する。
|
Causes of Carryover |
(理由)本年度に予定していた提案手法の実装およびそれに伴う研究成果の発表を部分的に次年度に実施することになったため。具体的には、当初計画していた分散並行サニタイザの設計(研究実績の概要を参照)は概ね目途がついたが、一方で、実装には改良の余地が大きい。この実装の改良とそれに基づく検査方式の評価実験および学会発表は次年度実施の計画となり、そのための環境整備および発表に伴う諸費用が必要となったことが次年度使用額が生じた理由である。 (使用計画)次年度使用額は、次年度の実装と実験およびそれに伴う研究成果の発表のための諸費用に充てる。
|