16.01.2013 Views

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 ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!