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

2016 Fiscal Year Research-status Report

プログラム意味論に基づく先進的なプログラミング環境の構築

Research Project

Project/Area Number 15K00090
Research InstitutionOchanomizu University

Principal Investigator

浅井 健一  お茶の水女子大学, 基幹研究院, 准教授 (10262156)

Project Period (FY) 2015-04-01 – 2018-03-31
Keywords開発環境 / 関数型言語 / 型システム / 型デバッガ / ステッパ
Outline of Annual Research Achievements

(1) 静的な意味論に基づくプログラミング環境については、当初予想していた通り、作成しているプログラミング環境のベースとなっている型デバッガの質問の回数が多すぎることがわかってきた。そこで、型エラースライサを導入して型エラーに関係のない質問の削除を試みた。具体的には、型エラーのあるプログラムに対し、その構文の一部を型制約のない任意の式に置き換えてみて、その結果、型エラーがなくなるかどうかを見る。型エラーがなくならなければ、置き換えた式は型エラーに無関係なのでその式は削除する。これを繰り返すことで、本質的に型エラーに関係する部分のみが抽出される。これをもとに型デバッガを動かすと、質問の回数を大きく減らすことができることがわかった。実際、授業で学生がデバッグしたプログラム全体について効果を測定して見たところ、約 74 パーセントの質問を削除することができた。さらに、パターンについても同様の手法を取り入れたところ、さらに 30 パーセントほど質問を削除することができた。(この内容については、予備的な評価を国内のワークショップで発表した。)
付随して、型エラースライサを実装する際、「型制約のない任意の式」としてこれまで使用してきた式が場合によってはうまくいかないことが判明したため適切に対処した。
(2) 動的な意味論に基づくプログラミング環境については、まず前年度に実装したステッパをエディタから使えるようにした上で、実際に大学の授業で使用した。その結果、OCaml のフルセットをサポートしていなくてもある程度は使うことができ、かつある程度は役に立つことがわかった。しかし、ステッパ使用の勧め方が足りなかったせいで使ってくれない人も多く、指導方法について変更が必要なことがわかった。また、ステッパの信頼性を大きく向上させるには至らなかった。これらは次年度の課題である。

Current Status of Research Progress
Current Status of Research Progress

2: Research has progressed on the whole more than it was originally planned.

Reason

(1) については(当初の予定では3年目に行う予定であった)型エラースライサについて、その実装、パターンへの拡張、及び予備的な実験ができており、おおむね順調に進展していると考えられる。一方、当初2年目に予定していたプログラミング環境の構築は思ったほどは進んでおらず、3年目に行う予定である。順番は入れ替わったものの、総じておおむね順調に進展していると判断している。
(2) については、1年目に作成したステッパを授業で使うことができており、そこから少しずつではあるものの不具合や必要な機能の洗い出しができている。当初、ステッパを自前で実装するのは労力がかかりすぎると予想していたが、そこまで大変ではなく実装するのが現実的であることがわかったのは収穫である。この方向で完成度を上げていくと、ある程度の実用性を持つステッパが実装できそうであり、計画はおおむね順調に進展していると考えられる。

Strategy for Future Research Activity

(1) について、2年目で作成した型エラースライサについては、パターン部分の実装を定式化するとともに、実際に授業で使用して、その有用性を確認する。プログラミング環境の構築については、昨年の報告書に述べた問題点について、順に対応していく。
(2) については、引き続きステッパを授業で使用し、そこでのフィードバックから実装の完成度を上げる。その際、ステッパをメインに据えて使うよう学生に指導し、多くのフィードバックを得られるように注意する。また、自明なステップを飛ばす機能や、特定の条件を満たすステップまで進む機能などについても検討・実装する。

Causes of Carryover

参加を予定していた国際会議が、申請時の予想に反して日本で開催されたため、必要な旅費が少なくて済んだため。

Expenditure Plan for Carryover Budget

次年度使用額を加えても、申請時の3年目の申請額を超えていないので、当初の予定通り使用する。特に、作成したツールを実際の授業で使った際に得られるフィードバックへの対応に多くの人手が必要なため、謝金が多めになると予想される。

  • Research Products

    (3 results)

All 2017 2016

All Presentation (3 results) (of which Int'l Joint Research: 1 results,  Invited: 1 results)

  • [Presentation] 型エラースライシングを利用した型エラーデバッガに関する実装と考察2017

    • Author(s)
      脇川奈穂、対馬かなえ、浅井健一
    • Organizer
      第19回プログラミングおよびプログラミング言語ワークショップ
    • Place of Presentation
      華やぎの章 慶山(山梨県・笛吹市)
    • Year and Date
      2017-03-08 – 2017-03-10
  • [Presentation] 型エラースライシングを利用した型エラーデバッガに関する実装と考察2017

    • Author(s)
      脇川奈穂、対馬かなえ、浅井健一
    • Organizer
      第58回プログラミング・シンポジウム
    • Place of Presentation
      ラフォーレ伊東(静岡県・伊東市)
    • Year and Date
      2017-01-06 – 2017-01-08
  • [Presentation] Principle and Practice of OCaml Type Debugger2016

    • Author(s)
      Kenichi Asai
    • Organizer
      SIGPLAN Programming Languages Mentoring Workshop 2016
    • Place of Presentation
      奈良春日野国際フォーラム(奈良県・奈良市)
    • Year and Date
      2016-09-18 – 2016-09-18
    • Int'l Joint Research / Invited

URL: 

Published: 2018-01-16  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi