## Resource Aware ML

### BibTeX

@MISC{Hoffmann_resourceaware,

author = {Jan Hoffmann and Klaus Aehlig and Martin Hofmann},

title = {Resource Aware ML},

year = {}

}

### OpenURL

### Abstract

Abstract. The automatic determination of the quantitative resource consumption of programs is a classic research topic which has many applications in software development. Recently, we developed a novel multivariate amortized resource analysis that automatically computes polynomial resource bounds for first-order functional programs. In this tool paper, we describe Resource Aware ML (RAML), a functional programming language that implements our analysis. Other than in earlier articles, we focus on the practical aspects of the implementation. We describe the syntax of RAML, the code transformation prior to the analysis, the web interface, the output of the analysis, and the results of our experiments with the analysis of examples programs. This is the first presentation of the prototype implementation at a conference.

### Citations

130 | Static prediction of heap space usage for firstorder functional programs
- Hofmann, Jost
- 2003
(Show Context)
Citation Context ...hange abstraction [5] or proof rules that employ SMT-solvers [6]. Type-based techniques for automatically inferring bounds on recursive functions are based on sized types [7, 8] or amortized analysis =-=[9, 10]-=-, and often restricted to linear bounds. We have recently developed the first type-based resource analysis system that automatically computes polynomial resource bounds [11–13]. It is inspired by auto... |

87 | Mechanical Program Analysis - Wegbreit - 1975 |

60 | Cost Analysis of Java Bytecode - Albert, Arenas, et al. - 2007 |

52 | Calculating sized types
- Chin, Khoo
- 2001
(Show Context)
Citation Context ...invariants one can use size-change abstraction [5] or proof rules that employ SMT-solvers [6]. Type-based techniques for automatically inferring bounds on recursive functions are based on sized types =-=[7, 8]-=- or amortized analysis [9, 10], and often restricted to linear bounds. We have recently developed the first type-based resource analysis system that automatically computes polynomial resource bounds [... |

41 | Speed: precise and efficient static estimation of program computational complexity
- Gulwani, Mehra, et al.
- 2009
(Show Context)
Citation Context ...source bounds have been studied recently. Gulwani et. al. propose counter instrumentation and abstract-interpretation–based invariant generation to obtain bounds on loop iterations and function calls =-=[4]-=-. To obtain loop bounds from disjunctive2 Jan Hoffmann, Klaus Aehlig, and Martin Hofmann invariants one can use size-change abstraction [5] or proof rules that employ SMT-solvers [6]. Type-based tech... |

23 | Type-Based Amortised Heap-Space Analysis
- Hofmann, Jost
- 2006
(Show Context)
Citation Context ...hange abstraction [5] or proof rules that employ SMT-solvers [6]. Type-based techniques for automatically inferring bounds on recursive functions are based on sized types [7, 8] or amortized analysis =-=[9, 10]-=-, and often restricted to linear bounds. We have recently developed the first type-based resource analysis system that automatically computes polynomial resource bounds [11–13]. It is inspired by auto... |

22 | The reachability-bound problem
- Gulwani, Zuleger
(Show Context)
Citation Context ...d function calls [4]. To obtain loop bounds from disjunctive2 Jan Hoffmann, Klaus Aehlig, and Martin Hofmann invariants one can use size-change abstraction [5] or proof rules that employ SMT-solvers =-=[6]-=-. Type-based techniques for automatically inferring bounds on recursive functions are based on sized types [7, 8] or amortized analysis [9, 10], and often restricted to linear bounds. We have recently... |

21 | Closed-form upper bounds in static cost analysis - Albert, Arenas, et al. |

15 | Multivariate amortized resource analysis
- Hoffmann, Aehlig, et al.
- 2011
(Show Context)
Citation Context ...nds the resource consumption of the corresponding function. Such an automatic amortized analysis is favorable in the presence of (nested or intermediate) data structures and function composition. See =-=[13]-=- for a detailed comparison with related approaches. We implemented our multivariate amortized resource analysis in Resource Aware ML (RAML), a first-order, functional language with an ML-like syntax. ... |

11 | Amortized Resource Analysis with Polynomial Potential
- Hoffmann, Hofmann
- 2010
(Show Context)
Citation Context ...ber of unknown coefficients. 4 http://frama-c.com 5 http://raml.tcs.ifi.lmu.deResource Aware ML 3 Extended Syntax The RAML syntax in the prototype extends the syntax described in our previous papers =-=[11, 13]-=-. For example, expressions are not restricted to let normal from. We also have more built-in operators and allow a destructive pattern matching matchD that deallocates the memory cell associated with ... |

6 |
Space Cost Analysis Using Sized Types
- Vasconcelos
- 2008
(Show Context)
Citation Context ...invariants one can use size-change abstraction [5] or proof rules that employ SMT-solvers [6]. Type-based techniques for automatically inferring bounds on recursive functions are based on sized types =-=[7, 8]-=- or amortized analysis [9, 10], and often restricted to linear bounds. We have recently developed the first type-based resource analysis system that automatically computes polynomial resource bounds [... |

4 | M.: Amortized Resource Analysis with Polymorphic Recursion and Partial Big-Step Operational Semantics - Hoffmann, Hofmann - 2010 |

3 | Bound analysis of imperative programs with the size-change abstraction
- Zuleger, Gulwani, et al.
- 2011
(Show Context)
Citation Context ...tion to obtain bounds on loop iterations and function calls [4]. To obtain loop bounds from disjunctive2 Jan Hoffmann, Klaus Aehlig, and Martin Hofmann invariants one can use size-change abstraction =-=[5]-=- or proof rules that employ SMT-solvers [6]. Type-based techniques for automatically inferring bounds on recursive functions are based on sized types [7, 8] or amortized analysis [9, 10], and often re... |

1 |
Types with Potential: Polynomial Resource Bounds via Automatic Amortized Analysis
- Hoffmann
- 2011
(Show Context)
Citation Context ...estituted if q is negative. The tick metric can be used to manually model specific resource metrics and is helpful for testing. A table with the values of the constants in the metrics can be found in =-=[14]-=-. Web Interface The source code of the prototype is available for download on the RAML website 6 . Alternatively, programs can be executed directly on the 6 http://raml.tcs.ifi.lmu.deResource Aware M... |

1 |
et al.: RAML Web Site. http://raml.tcs.ifi.lmu.de
- Hoffmann
(Show Context)
Citation Context ...onths for the implementation of the analysis. The implementation is well documented and publicly available. The source code of the latest RAML version can be downloaded on the web site of the project =-=[15]-=-. Additionally, there is a web form that can be used to evaluate RAML programs and to compute resource bounds directly on the web. Extended Syntax The RAML syntax in the prototype extends the syntax d... |