定例進捗報告 2019年9月19日(土)13:30- 修士1年 M2019SE009 渡邉将匡 研究テーマ:C言語の可逆化変換・逆可逆化変換の定式化 背景:プログラムが可逆であるとき,そのプログラムは高々一つの一つ前の状態と一つ後の状態を持つ.可逆プログラムはデバッグや並列シミュレーションなどに応用できることが知られており,実際に応用例が示されている.しかし,ほとんどのプログラミング言語は可逆性を前提として設計されていない.そのため,現実のほとんどのプログラムは可逆性を持たず,そのままではこれらの応用を適用することはできない.また,非可逆プログラムを可逆プログラムに変換する一般解法も知られているが,手作業による変換ではコストが大きく,人的なミスによりバグが引き起こされる可能性がある. 目的:本研究では,以前に提案された手法[1]を元に,C言語の非可逆プログラムをC言語の可逆プログラムへと変換する自動変換器の作成を行う.これにより,変換されたプログラムが可逆性を持つこと,自動変換によるコストの削減が期待される. 先週からの進捗状況: 1. 背景と目的の書き下し 2. T[], R[]の最小のサブセットの作成 今後の計画: 1. T[], R[]のサブセットから変換器の作成 2. 参考文献のまとめ 3. OCamlのまとめ [1] Perumalla, K.: Introduction to Reversible Computing, Chapman and Hall/CRC, (2013).