研究課題/領域番号 |
19K20248
|
研究種目 |
若手研究
|
配分区分 | 基金 |
審査区分 |
小区分60050:ソフトウェア関連
|
研究機関 | 国立情報学研究所 |
研究代表者 |
対馬 かなえ 国立情報学研究所, 情報学プリンシプル研究系, 特任研究員 (80754663)
|
研究期間 (年度) |
2019-04-01 – 2024-03-31
|
研究課題ステータス |
完了 (2023年度)
|
配分額 *注記 |
3,510千円 (直接経費: 2,700千円、間接経費: 810千円)
2021年度: 1,040千円 (直接経費: 800千円、間接経費: 240千円)
2020年度: 1,040千円 (直接経費: 800千円、間接経費: 240千円)
2019年度: 1,430千円 (直接経費: 1,100千円、間接経費: 330千円)
|
キーワード | 関数型言語 / プログラミング言語 / デバッギング / 型エラー / 大規模言語モデル / デバッグ |
研究開始時の研究の概要 |
多くのものがプログラムで動く現代において、プログラムの安全性は重要な課題である。プログラムの安全性を高める方法の一つとして「型」が存在するが、型の「不整合」を持たないプログラムを書くことは容易ではない。本研究では、プログラマが型の不整合を持たないプログラムを書くことを容易にできるよう支援することを目的としている。具体的には、データに基づく修正を可能にすることと、プログラマの負担を軽減するために自動での修正を可能にすることを目指している。
|
研究成果の概要 |
本研究では主に二つの成果が得られた。 一つ目は GPT-3 を使用した型エラーの自動修正である。具体的には、型エラーのあるプログラムに対して、ソースコード解析のタスクを実行して有用なプロンプトを生成する。それを GPT-3に提供して、型エラーを修正するパッチを生成する。三種類のモードを作成し、OCaml の既存公開データセットで検証を行った。比較においても、他の OCaml を対象とした自動修正の研究二つを上回った。 二つ目は部分評価を使用して実行することにより、型エラーの箇所をわかりやすく提示する手法である。プロトタイプを実装し、前述の既存公開データセットのプログラムで効果を確認した。
|
研究成果の学術的意義や社会的意義 |
型はプログラムの信頼性を高めるために重要である一方で、プログラミング時の型エラーはプログラマにとって手間である。そのデバッグを容易にすることは、プログラマの実際の生産性、およびプログラムの信頼度を高めるために重要である。また、本研究では大規模言語モデルのプログラミング言語に対する深い理解を活用することで、プログラマのデバッグを手助けすることが可能であることを示した。これはこれからのプログラミングをサポートしていく上で重要な成果である。
|