Categorical Formalization of Program Modification

Yasutaka Higa

Categorical Formalization of Program Modification

Yasutaka Higa

研究目的 (Categorical Formalization)

  • プログラムの信頼性を向上させるために開発手法に着目する
  • プログラムの信頼性が変化するのはプログラムを変更した時である
  • 信頼性を保ちながらプログラムを変更にプログラムの変更を形式化する

研究目的 (Parallel Debugger)

  • 本研究では Monad を用いてプログラムの変更を定義する
  • Monad とは meta computation とデータ構造を対応付ける手法である
  • プログラムの変更は変更前の動作を保存しつつ変更後の動作を追加することで表現する
  • 異なるバージョンのプログラムを同時に実行し、トレースを比較することでデバッグを支援する手法を提案する

現状報告

  • 伊東の出張はもう書類は必要ない旨確認しました
  • Delta with Monad の証明
    • 数を固定しないと無理なことが分かりました
  • 数を持つ Delta を再証明中

数を固定しないといけない理由

  • monad の unity-law の1つ : mu . eta == id
  • eta は A -> T A なので
    • Delta で無い value には version 1 を付与
    • mu すると version が1しか無いので T A が1つになってしまう
  • non-Delta であれば 1, Delta n であれば n になるように A -> T A しなくてはいけない
    • 長さ付きにしてみてますが証明難航中