データに基づき自動修正も含む型エラーデバッギングの理論と実際
Project/Area Number |
19K20248
|
Research Category |
Grant-in-Aid for Early-Career Scientists
|
Allocation Type | Multi-year Fund |
Review Section |
Basic Section 60050:Software-related
|
Research Institution | National Institute of Informatics |
Principal Investigator |
対馬 かなえ 国立情報学研究所, 情報学プリンシプル系, 特任研究員 (80754663)
|
Project Period (FY) |
2019-04-01 – 2024-03-31
|
Project Status |
Granted (Fiscal Year 2022)
|
Budget Amount *help |
¥3,510,000 (Direct Cost: ¥2,700,000、Indirect Cost: ¥810,000)
Fiscal Year 2021: ¥1,040,000 (Direct Cost: ¥800,000、Indirect Cost: ¥240,000)
Fiscal Year 2020: ¥1,040,000 (Direct Cost: ¥800,000、Indirect Cost: ¥240,000)
Fiscal Year 2019: ¥1,430,000 (Direct Cost: ¥1,100,000、Indirect Cost: ¥330,000)
|
Keywords | 型エラー / デバッグ / 関数型言語 / プログラミング言語 |
Outline of Research at the Start |
多くのものがプログラムで動く現代において、プログラムの安全性は重要な課題である。プログラムの安全性を高める方法の一つとして「型」が存在するが、型の「不整合」を持たないプログラムを書くことは容易ではない。本研究では、プログラマが型の不整合を持たないプログラムを書くことを容易にできるよう支援することを目的としている。具体的には、データに基づく修正を可能にすることと、プログラマの負担を軽減するために自動での修正を可能にすることを目指している。
|
Outline of Annual Research Achievements |
本年度は、型エラーのプログラムの自動修正に関する研究を行った。自動修正が実現すれば、プログラマの負担を大幅に軽減することが可能となる。ただし、複数の修正可能性の中から正確にユーザーの意図した修正を選ぶことは難しい。しかし、経験豊富なプログラマは、エラー修正時に一定の予測が可能であり、関連知識があれば実現できる可能性があると考えた。 本研究では、プログラミング言語を理解し、いくつかの下流タスクを実行できるニューラルネットワークモデルを使用した。単純に型エラーのプログラムとそれを修正する情報だけではうまくいかないケースが多いため、まず複数のソースコード解析を行った。これにより、修正すべき箇所の位置情報や対応する型を取得できる。そして、これらの情報を活用して有用なプロンプトを生成し、GPT-3に提供することで修正率を向上させることができた。手法の評価には、数千のOCamlプログラムを含む既存の公開データセットを使用した。Quickcheckを用いて生成された修正が、ユーザーの意図した修正版と同じ出力を生成するかを検証した結果、修正率39%を達成し、型エラーのプログラムの自動修正における先駆的な成果を得ることができた。
|
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 |
昨年・今年度と導入した手法をさらに改良することを目指す。
|
Report
(4 results)
Research Products
(5 results)