2021 Fiscal Year Research-status Report
データに基づき自動修正も含む型エラーデバッギングの理論と実際
Project/Area Number |
19K20248
|
Research Institution | National Institute of Informatics |
Principal Investigator |
対馬 かなえ 国立情報学研究所, アーキテクチャ科学研究系, 特任助教 (80754663)
|
Project Period (FY) |
2019-04-01 – 2023-03-31
|
Keywords | 型エラー / デバッグ / 関数型言語 |
Outline of Annual Research Achievements |
本年度は型エラーのあるプログラムを実行する手法を導入した。型エラープログラムを実行することの一つ目の利点は、実行後、型エラーの原因とそれと衝突する部分の距離が近くなることにより、型エラーの原因が見つけやすくなることである。二つ目の利点は、静的型付き言語の型エラープログラムであっても可能な限り実行が可能になることである。 アイデアは、型エラーの原因である可能性が高い部分を「凍らせる」ことである。手法としては、三段階に分けて行う。一段階目では、コンパイラの型推論器の型エラー情報を使用して、「凍った」部分を増やす。二段階目では、同様に型推論器を使用して「凍った」部分を減らす。三段階目では、部分評価器を使用して「一部分が凍った」プログラムを評価する。部分評価時には、凍った部分は dynamic (評価できない部分) として扱うため評価されずにコードとして残り、それ以外の部分は static として評価される。 実装するにあたって、戦略がいくつか考えられたため、今回はそのうちの二つを実装した。一つは最も単純な戦略、もう一つは単純な戦略でうまくいかない例を踏まえ、工夫を加えた戦略である。型エラーの小さなデータセットを使用して、それら二つの評価を行った。結果として、単純な戦略でも8割程度は期待した結果が得られるが、工夫を加えた戦略では全ての例で期待した結果が得られた。 この研究により、型エラーデバッグの際にとりうる手法が一つ増え、前進したといえる。
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
新たな型エラーデバッグ手法を導入しており、おおむね順調に進展している。
|
Strategy for Future Research Activity |
次年度、機械学習の知見がある研究者と共同で研究を行う機会があるので、その際にデータを使用する部分についての研究を進める。
|
Causes of Carryover |
コロナ禍により出張ができず、予定していた学会参加や、大学訪問による共同研究ができなかったため。
|
Research Products
(2 results)