Proceedings of the 13 ESSLLI Student Session - Multiple Choices ...
Proceedings of the 13 ESSLLI Student Session - Multiple Choices ...
Proceedings of the 13 ESSLLI Student Session - Multiple Choices ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
POP ∗ . Our automation works by a reduction to SAT and employing a state-<strong>of</strong>-<strong>the</strong>-art<br />
SAT-solver. To our best knowledge, this is <strong>the</strong> first SAT encoding <strong>of</strong> recursive path orders<br />
with finite semantic labeling. The experimental results confirm <strong>the</strong> feasibility <strong>of</strong> our approach.<br />
Moreover, <strong>the</strong>y demonstrate that by semantic labeling we significantly increase<br />
<strong>the</strong> power <strong>of</strong> POP ∗ .<br />
Our research seems also comparable to (Bonfante, Marion and Pchoux, 2007), where<br />
recursive path orders toge<strong>the</strong>r with strongly linear polynomial quasi-interpretations are<br />
employed in <strong>the</strong> complexity analysis. However, this method relies on caching techniques<br />
to achieve polytime computability. Opposite to this, we only demand an eager evaluation<br />
strategy.<br />
In future work we will streng<strong>the</strong>n <strong>the</strong> applicability <strong>of</strong> our methods. Currently we investigate<br />
in <strong>the</strong> integration <strong>of</strong> POP ∗ into <strong>the</strong> dependency pair framework for an automatic<br />
complexity analysis as proposed in (Hirokawa and Moser, 2008). As this framework allows<br />
<strong>the</strong> use <strong>of</strong> argument filterings (Kusakari, Nakamura and Toyama, 1999) and usable<br />
rules (Arts and Giesl, 2000), we expect a significant increase in <strong>the</strong> ability to automatically<br />
verify polynomial runtime complexities.<br />
Finally we want to mention ano<strong>the</strong>r exciting field <strong>of</strong> application. There is a long interest<br />
in <strong>the</strong> functional programming community to automatically verify complexity properties<br />
<strong>of</strong> programs. For brevity we just mention (Rosendahl, 1989; Anderson, Khoo,<br />
Andrei and Luca, 2005; Bonfante et al., 2007). Rewriting naturally models <strong>the</strong> evaluation<br />
<strong>of</strong> functional programs, and termination behavior <strong>of</strong> functional programs via transformations<br />
to rewrite systems has been extensively studied. For instance, one recent approach is<br />
described in (Giesl, Swiderski, Schneider-Kamp and Thiemann, 2006) where Haskell programs<br />
are covered. In joint work with Hirokawa, Middeldorp and Moser (Avanzini, Hirokawa,<br />
Middeldorp and Moser, 2007) we propose a translation from (a subset <strong>of</strong> higherorder)<br />
Scheme programs to term rewrite systems. The transformation is designed to be<br />
complexity preserving and thus allows <strong>the</strong> study <strong>of</strong> <strong>the</strong> complexity <strong>of</strong> a Scheme program<br />
P by <strong>the</strong> analysis <strong>of</strong> <strong>the</strong> transformed rewrite system R. Hence from compatibility <strong>of</strong> R<br />
with POP ∗ we can directly conclude that <strong>the</strong> number <strong>of</strong> evaluation steps <strong>of</strong> <strong>the</strong> Scheme<br />
program P is polynomially bounded with respect to <strong>the</strong> input sizes. All necessary steps<br />
can be performed mechanically and thus we arrive at a completely automatic complexity<br />
analysis for Scheme, and eagerly evaluated functional programs in general.<br />
References<br />
<strong>Proceedings</strong> <strong>of</strong> <strong>the</strong> <strong>13</strong> th <strong>ESSLLI</strong> <strong>Student</strong> <strong>Session</strong><br />
Anderson, H., Khoo, S.-C., Andrei, S. and Luca, B. (2005). Calculating polynomial<br />
runtime properties, Proc. 3th APLAS, pp. 230–246.<br />
Arts, T. and Giesl, J. (2000). Termination <strong>of</strong> term rewriting using dependency pairs, TCS<br />
236(1-2): <strong>13</strong>3–178.<br />
Avanzini, M., Hirokawa, N., Middeldorp, A. and Moser, G. (2007). Proving termination<br />
<strong>of</strong> scheme programs by rewriting. Draft 6 .<br />
Avanzini, M. and Moser, G. (2008). Complexity analysis by rewriting, Proc. 9th FLOPS,<br />
Vol. 4989 <strong>of</strong> LICS, pp. <strong>13</strong>0–146.<br />
6 Available at http://cl-informatik.uibk.ac.at/ ∼ georg/list.publications<br />
14