Analysing the Complexity of Functional Programs: Higher-Order Meets First-Order
Martin Avanzini, Ugo Dal Lago, and Georg MoserProceedings of the 20th ACM SIGPLAN International Conference on Functional Programming (ICFP 2015), pp. 152 – 164, 2015.
Abstract
We show how the complexity of higher-order functional programs can be analysed automatically by applying program transformations to a defunctionalised versions of them, and feeding the result to existing tools for the complexity analysis of first-order term rewrite systems. This is done while carefully analysing complexity preservation and reflection of the employed transformations such that the complexity of the obtained term rewrite system reflects on the complexity of the initial program. Further, we describe suitable strategies for the application of the studied transformations and provide ample experimental data for assessing the viability of our method.
BibTeX
@InProceedings{MAUDLGM15, author = "Martin Avanzini and Ugo Dal Lago and Georg Moser", title = "Analysing the Complexity of Functional Programs: Higher-Order Meets First-Order", booktitle = "Proceedings of the 20th ACM SIGPLAN International Conference on Functional Programming (ICFP 2015)", year = 2015, pages = "152--164", publisher = "ACM", doi = "10.1145/2784731.2784753" }