• 研究課題をさがす
  • 研究者をさがす
  • KAKENの使い方
  1. 課題ページに戻る

2019 年度 実施状況報告書

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

研究課題

研究課題/領域番号 19K20248
研究機関国立情報学研究所

研究代表者

対馬 かなえ  国立情報学研究所, アーキテクチャ科学研究系, 特任助教 (80754663)

研究期間 (年度) 2019-04-01 – 2023-03-31
キーワード型エラー / デバッグ / 関数型言語
研究実績の概要

本年度は、(1) 自動修正を行うための型情報を得る手法の導入、(2) 型エラープログラムの自動修正にむけたプログラム合成の二点について研究を行った。
プログラムの自動修正を行うためには、どこが修正箇所である可能性があり、どのように修正すべきかという型の情報を得る必要がある。そのため、(1) では、既存の型推論器を使用して、OCaml 等の言語に備わっている型エラーメッセージのような矛盾する型を、複数組示す手法について研究を行った。言語に元々実装されている既存の型推論器をそのまま使用するだけでは、矛盾する型は一組しか見つけることができない。既存研究では新たに複雑な型推論を行う型推論器を実装する必要があり、コストがかかってしまう点が問題であった。そこで、型エラーのプログラムに対して一部分を変数に置き換え、型のつくプログラムにすることで、型の情報を得る手法を提案した。それにより、自動修正を行うために必要な型情報を容易に得ることができるようになった。
(2) 型エラープログラムの自動修正にむけたプログラム合成では、Relational programming を用いたプログラム合成を実装した。加えて、型情報を使用することで、速度の改善が見られないかの実験を行なったが、残念ながらほぼ改善はされなかった。これは Relational programming ではバックトラックした際に、既に型のような情報を使用しているからであると考えられる。

現在までの達成度 (区分)
現在までの達成度 (区分)

2: おおむね順調に進展している

理由

本年度は、(1) で自動修正を行うために必要な型情報を得る手法の確立を、(2) で型エラープログラムの自動修正にむけたプログラム合成器の実装を行うことができた。これらを組み合わせることで、型エラーのあるプログラムを修正するために、型の合う部分的なプログラムを生成することができる。これは本研究課題の最終的な目的を達成するために基盤となる部分であるため、おおむね順調に進展していると考えられる。

今後の研究の推進方策

まず、(1) と (2) を組み合わせることで、型の合う部分的なプログラムを自動生成する。そのままでは実用的な速度では実行できない可能性が高いため、データに応じた最適化を導入する。

次年度使用額が生じた理由

家庭の事情により、本年度はほぼ出張等ができなかった。次年度以降の成果発表や共同研究のための出張に使用する予定である。

  • 研究成果

    (3件)

すべて 2020 2019 その他

すべて 国際共同研究 (1件) 雑誌論文 (1件) (うち国際共著 1件、 査読あり 1件) 学会発表 (1件) (うち国際学会 1件)

  • [国際共同研究] University of Kent(英国)

    • 国名
      英国
    • 外国機関名
      University of Kent
  • [雑誌論文] Type Debugging with Counter-Factual Type Error Messages Using an Existing Type Checker2020

    • 著者名/発表者名
      Kanae Tsushima, Olaf Chitil, Joanna Sharrad
    • 雑誌名

      The 31st symposium on Implementation and Application of Functional Languages

      ページ: 12pages

    • 査読あり / 国際共著
  • [学会発表] Type Debugging with Counter-Factual Type Error Messages Using an Existing Type Checker2019

    • 著者名/発表者名
      Kanae Tsushima, Olaf Chitil, Joanna Sharrad
    • 学会等名
      The 31st symposium on Implementation and Application of Functional Languages
    • 国際学会

URL: 

公開日: 2021-01-27  

サービス概要 検索マニュアル よくある質問 お知らせ 利用規程 科研費による研究の帰属

Powered by NII kakenhi