PURRS: Towards Computer Algebra Support for Fully Automatic Worst-Case Complexity Analysis
Roberto Bagnara, Andrea Pescetti, Alessandro Zaccagnini, Enea Zaffanella
Abstract
Fully automatic worst-case complexity analysis has a number of applications in computer-assisted program manipulation. A classical and powerful approach to complexity analysis consists in formally deriving, from the program syntax, a set of constraints expressing bounds on the resources required by the program, which are then solved, possibly applying safe approximations. In several interesting cases, these constraints take the form of recurrence relations. While techniques for solving recurrences are known and implemented in several computer algebra systems, these do not completely fulfill the needs of fully automatic complexity analysis: they only deal with a somewhat restricted class of recurrence relations, or sometimes require user intervention, or they are restricted to the computation of exact solutions that are often so complex to be unmanageable, and thus useless in practice. In this paper we briefly describe PURRS, a system and software library aimed at providing all the computer algebra services needed by applications performing or exploiting the results of worst-case complexity analyses. The capabilities of the system are illustrated by means of examples derived from the analysis of programs written in a domain-specific functional programming language for real-time embedded systems.
Create a lesson
Related papers
The Pauli Lightcone: Information-Theoretic Error Mitigation Beyond the Autocorrelation
Paolo D'Alberto
Opal.jl: a comprehensive, composable framework for data assimilation in Julia
Nicholas Mueller
ADDA: a Modular Framework for Representing, Simulating and Assimilating Dynamics with End-to-end Differentiability
Anthony Frion, Vien Minh Nguyen-Thanh, Ali Can Bekar et al.
Eigensolvers for polynomial roots and tensor decomposition
Enrica Barrilli, Bernard Mourrain
DSLHyPE-a DSL kernel language for the Exascale Hyperbolic PDE Engine ExaHyPE
Timothy J. R. Stokes, Nick Brown, Thomas A. Flynn et al.
Tensor Network Kernel Machines: A JAX Framework for Machine Learning and Nonlinear System Identification
Albert Saiapin, Kim Batselier