研究課題/領域番号 |
19K11897
|
研究機関 | 東京工業大学 |
研究代表者 |
権藤 克彦 東京工業大学, 情報理工学院, 教授 (50262283)
|
研究期間 (年度) |
2019-04-01 – 2024-03-31
|
キーワード | 時中型 prospective / ソフトウェア解析 / 追跡子 |
研究実績の概要 |
本研究の目的は,時中型(prospective)な追跡子とソフトウェア解析の技術を組み合わせることで,ソフトウェア追跡の情報量とソフトウェア解析の精度を向上させ,ソフトウェアの保守コストを大幅に減少することである.今年度の主な成果は次の2つである: ・JavaScriptなどのイベント駆動型のプログラミング言語に対して,2つの類似コード間での実行結果の違いを解析する差分解析の研究を行った.本研究では(1)共有変数へのread/writeの動的情報を用いて,コードカバレッジを増加させるイベント列の生成する手法,(2) コード差分と条件分岐との距離を用いて,コード実行をコード差分に誘導する手法,を確率的に切り替えることで,従来の手法よりも効率よく差分を検出することに成功した.探索空間を絞り込むためにテイント解析を用いており,その点で追跡子とソフトウェア解析を組み合わせた研究成果となっている. ・並行プログラムがクラッシュした原因を自動解析することは重要だが,通常はコアダンプなどの限定的な情報しかないため困難な作業である.本研究では中間言語レベル(LLVM IR)で逆実行を行うことで,クラッシュ原因を自動解析する支援技術を提案した.マシン語レベルの情報を中間言語レベルに変換(リフト)する技術,メモリ位置を抽象的に扱うことで,既存手法(REPT)よりも解析精度が平均40%向上した.マシン語と中間言語との対応関係を追跡する技術を含んでおり,これも追跡子とソフトウェア解析を組み合わせた研究成果である.
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
本質的に時中型追跡子とソフトウェア解析の技術の組み合わせは困難である.今年度もそれぞれの技術の研究を行い成果を挙げており,技術の組み合わせに関しても研究の構想を練っている段階である.
|
今後の研究の推進方策 |
これまで通り,時中型追跡子とソフトウェア解析の双方の技術について研究を進め,それにより技術の組み合わせ方法を検討していく.
|
次年度使用額が生じた理由 |
コロナ禍により国際会議参加のための旅費が不要となったため.今後はオンラインでの研究や研究発表を行う機材の拡充にあて,海外出張が可能になれば国際会議参加のための旅費にあてたい.
|