• Search Research Projects
  • Search Researchers
  • How to Use
  1. Back to project page

2023 Fiscal Year Annual Research Report

データに基づき自動修正も含む型エラーデバッギングの理論と実際

Research Project

Project/Area Number 19K20248
Research InstitutionNational Institute of Informatics

Principal Investigator

対馬 かなえ  国立情報学研究所, 情報学プリンシプル研究系, 特任研究員 (80754663)

Project Period (FY) 2019-04-01 – 2024-03-31
Keywords型エラー / デバッグ / 関数型言語 / プログラミング言語 / 大規模言語モデル
Outline of Annual Research Achievements

主に二つの研究を行った。
(1) 大規模言語モデルを使用した型エラー自動修正
本研究では、研究時に最新であった GPT-3 を用いて、型エラーの自動修正を行った。まず、型エラーのプログラムに対して、ソースコード解析のタスクを実行して有用なプロンプトを生成する。その情報を GPT-3 に提供することで、型エラーを修正するパッチを生成することができる。GPT-3 では、3種類のモードが存在するため、それに合わせて三種類の方法を用い、比較を行った。OCamlプログラムを含む既存の公開データセットで検証を行った。Quickcheck を用いて、生成されたパッチがユーザの修正バージョンと同じ出力を生成するかを検証し、39%の修復率を達成した。比較研究において、型エラーのあるOCamlプログラムの自動修正において他の2つの既存研究を上回った。
(2) 部分評価を用いた型エラーデバッグ手法の開発
本研究では、型エラーがあるプログラムを部分的に実行する方法を開発した。そのアイデアは、型エラーが発生する可能性が最も高いプログラムの部分を「フリーズ」させ、それ以外の部分をすべて実行することである。我々の手法の第一段階では、コンパイラの型推論機能からのエラーメッセージを使用して、プログラムの一部を「フリーズ」(部分評価的にはdynamic)にする。第二段階では、型推論器を使って「フリーズ」した部分の数を減らす。第三段階では、部分評価器が部分的に「フリーズ」されたプログラムを評価する。部分評価の間、「フリーズ」にされた部分は動的なものとして扱われるため、評価されずにコードとして残り、他の部分は静的なものとして扱われて評価される。本デバッグ手法のための汎用アルゴリズム、そのアルゴリズムに使用する二つの戦略、およびOCamlのサブセットのプロトタイプを用いた有望な結果を示した。

  • Research Products

    (4 results)

All 2023

All Journal Article (2 results) (of which Int'l Joint Research: 2 results,  Peer Reviewed: 2 results) Presentation (2 results) (of which Int'l Joint Research: 2 results)

  • [Journal Article] GPT-3-Powered Type Error Debugging: Investigating the Use of Large Language Models for Code Repair2023

    • Author(s)
      Ribeiro Francisco, Macedo Jos Nuno Castro, Tsushima Kanae, Abreu Rui, Saraiva Joao
    • Journal Title

      ACM SIGPLAN International Conference on Software Language Engineering

      Volume: - Pages: -

    • DOI

      10.1145/3623476.3623522

    • Peer Reviewed / Int'l Joint Research
  • [Journal Article] Towards Type Debugging using Partial Evaluation2023

    • Author(s)
      Kanae Tsushima, Robert Glueck
    • Journal Title

      ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation

      Volume: - Pages: -

    • Peer Reviewed / Int'l Joint Research
  • [Presentation] GPT-3-Powered Type Error Debugging: Investigating the Use of Large Language Models for Code Repair2023

    • Author(s)
      Ribeiro Francisco
    • Organizer
      ACM SIGPLAN International Conference on Software Language Engineering
    • Int'l Joint Research
  • [Presentation] Towards Type Debugging using Partial Evaluation2023

    • Author(s)
      Kanae Tsushima
    • Organizer
      ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation
    • Int'l Joint Research

URL: 

Published: 2024-12-25  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi