研究課題/領域番号 |
19K20248
|
研究機関 | 国立情報学研究所 |
研究代表者 |
対馬 かなえ 国立情報学研究所, アーキテクチャ科学研究系, 特任助教 (80754663)
|
研究期間 (年度) |
2019-04-01 – 2023-03-31
|
キーワード | 型エラー / デバッグ / 関数型言語 |
研究実績の概要 |
本年度は型エラーのあるプログラムを実行する手法を導入した。型エラープログラムを実行することの一つ目の利点は、実行後、型エラーの原因とそれと衝突する部分の距離が近くなることにより、型エラーの原因が見つけやすくなることである。二つ目の利点は、静的型付き言語の型エラープログラムであっても可能な限り実行が可能になることである。 アイデアは、型エラーの原因である可能性が高い部分を「凍らせる」ことである。手法としては、三段階に分けて行う。一段階目では、コンパイラの型推論器の型エラー情報を使用して、「凍った」部分を増やす。二段階目では、同様に型推論器を使用して「凍った」部分を減らす。三段階目では、部分評価器を使用して「一部分が凍った」プログラムを評価する。部分評価時には、凍った部分は dynamic (評価できない部分) として扱うため評価されずにコードとして残り、それ以外の部分は static として評価される。 実装するにあたって、戦略がいくつか考えられたため、今回はそのうちの二つを実装した。一つは最も単純な戦略、もう一つは単純な戦略でうまくいかない例を踏まえ、工夫を加えた戦略である。型エラーの小さなデータセットを使用して、それら二つの評価を行った。結果として、単純な戦略でも8割程度は期待した結果が得られるが、工夫を加えた戦略では全ての例で期待した結果が得られた。 この研究により、型エラーデバッグの際にとりうる手法が一つ増え、前進したといえる。
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
新たな型エラーデバッグ手法を導入しており、おおむね順調に進展している。
|
今後の研究の推進方策 |
次年度、機械学習の知見がある研究者と共同で研究を行う機会があるので、その際にデータを使用する部分についての研究を進める。
|
次年度使用額が生じた理由 |
コロナ禍により出張ができず、予定していた学会参加や、大学訪問による共同研究ができなかったため。
|