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

2021 Fiscal Year Research-status Report

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

Research Project

Project/Area Number 19K20248
Research InstitutionNational 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)

All 2022

All Journal Article (1 results) (of which Peer Reviewed: 1 results) Presentation (1 results)

  • [Journal Article] 型エラープログラムの部分評価2022

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

      第24回プログラミングおよびプログラミング言語ワークショップ

      Volume: 1 Pages: -

    • Peer Reviewed
  • [Presentation] 型エラープログラムの部分評価2022

    • Author(s)
      Kanae Tsushima
    • Organizer
      第24回プログラミングおよびプログラミング言語ワークショップ

URL: 

Published: 2022-12-28  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi