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

2013 Fiscal Year Annual Research Report

型デバッガの理論と実際

Research Project

Project/Area Number 13J10852
Research InstitutionOchanomizu University

Principal Investigator

対馬 かなえ  お茶の水女子大学, 大学院人間文化創成科学研究科, 特別研究員(DC2)

Keywordsデバッガ / 関数型言語 / スライス / 型エラー / 型推論
Research Abstract

本研究では実用的な型デバッガを開発することを目的としている。本年度は型デバッグ時の不要な質問の削除に関する研究を行い、コンパイラの型推論器を利用して型エラースライスを作成する方法を提案した。既存手法では, スライスを作成するために独自の型推論器を必要としていた。独自の型推論器の利用には、その型惟論器を実装する必要があるという実装の上での困難さだけではなく、コンパイラの型推論器の推論結果の不一致による間違った挙動のデバッグが起こりうるという問題が存在する。本年度の研究によって、そのような問題を回避しつつ、実際に広く使われている言語で容易に型エラースライスを作成出来るようになった。
具体的には、型デバッガで対象としている関数型言語OCamlのサブセットを対象として、コンパイラの型推論器を利用する型エラースライスを作成するアルゴリズムの定義を行った。またそのアルゴリズムによって得られるものが、型エラースライスである条件を満たしていることを示した。これによってデバッグした際に確実にエラーの原因を見つけられること、不必要な部分を含んでいないことが保証される。
加えて、関数型言語OCamlのサブセットを対象としてアルゴリズムの実装を行った。その実装を型デバッガに組み込むことによつて、型エラーのデバッグ時にデバッグがユーザに質問する回数を削減することが出来た。
この研究に関しては、Implementation of Functional Languages 2013にて発表を行い、フィードバックを得た。現在は、より広い範囲を対象言語とするべく実装の拡張を行っている。

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

まず型エラースライス作成手法の実装を完了させる。その後、型エラースライスで改良された型デバッガがどの程度ユーザにとって有効かを計るべく、ユーザテストを行う。

  • Research Products

    (2 results)

All 2013

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

  • [Journal Article] An Embedded Type Debugger2013

    • Author(s)
      Kanae Tsushima, Kenichi Asai
    • Journal Title

      Implementation and Application of Functional Languages

      Volume: 558 Pages: 1-17

    • DOI

      10.1007/978-3-642-41582-1_12

    • Peer Reviewed
  • [Presentation] A Weighted Type Error Slicer2013

    • Author(s)
      Kanae Tsushima
    • Organizer
      The 25th symposium on Implementation and Application of Functional Languages
    • Place of Presentation
      Nijmegen, Netherlands
    • Year and Date
      2013-08-30

URL: 

Published: 2015-07-15  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi