研究概要 |
プログラムの時間効率がどれくらいなのかを解析することは、プログラムを解析する上での中心的なテーマである。仮に探索アルゴリズムやソートアルゴリズムを開発したとする。そのとき時間的計算量、すなわち「入力の大きさに対しどれくらいの速度(ステップ数)で動作するか」という自然な疑問が生じる。本研究の目的はこの計算量を自動解析することである。 研究成果について。「依存グラフ」は元々はGieslら(JSC 2002)が依存対による停止性解析能力を向上させるために導入した手法である。この技法を計算量解析へ導入することに成功し、解析能力の飛躍的な改善に成功した。一方で依存グラフの高速解析アルゴリズムrecursive SCC algorithm (Hirokawa & Middeldorp, IC 2005)は計算量解析に適用できないことが研究により判明した。さらに平成21年度予定されていた「UncurryingおよびCurrying変換」の研究を前倒しして行い、依存対に直接適用可能な新たな変換手法の開発に成功した。一方、本年に予定されていた「Weight Gap Principleの行列順序への拡張」は、次年度へ先送ることを決定した。 研究活動について。平成20年11月に、上記の研究成果を研究協力者らと共に2本の論文としてまとめ、国際会議(LPAR 2008,査読有り)で発表した。平成20年8月に項書き換えに関するワークショップ(1st Mini-Workshop on Rewriting Techniques)、平成21年2月に研究集会(31st TRS Meeting)を主催した。また計算量解析ツールの国際大会(WST Termination Competition, Complexityカテゴリ)の創設に参画し、平成20年11月に第一回大会の開催が実現した。
|