|
Research@StAndrews:FullText >
Computer Science (School of) >
Computer Science >
Computer Science Theses >
Please use this identifier to cite or link to this item:
http://hdl.handle.net/10023/564
| Title: | Space cost analysis using sized types |
| Authors: | Vasconcelos, Pedro B. |
| Supervisors: | Hammond, Kevin |
| Keywords: | Functional programming Cost analysis Program analysis Type and effect systems Abstract interpretation |
| Issue Date: | Nov-2008 |
| Abstract: | Programming resource-sensitive systems, such as real-time embedded systems, requires guaranteeing both the functional correctness of computations and also that time and space usage fits within constraints imposed by hardware limits or the environment. Functional programming languages have proved very good at meeting the former logical kind of guarantees but not the latter resource guarantees.
This thesis contributes to demonstrate the applicability of functional programming
in resource-sensitive systems with an automatic program analysis for obtaining guaranteed upper bounds on dynamic space usage of functional programs.
Our analysis is developed for a core subset of Hume, a domain-specific functional
language targeting resource-sensitive systems (Hammond et al. 2007), and presented
as a type and effect system that builds on previous sized type systems (Hughes et al.
1996, Chin and Khoo 2001) and effect systems for costs (Dornic et al. 1992, Reistad
and Giord 1994, Hughes and Pareto 1999). It extends previous approaches by using
abstract interpretation techniques to automatically infer linear approximations of the sizes of recursive data types and the stack and heap costs of recursive functions.
The correctness of the analysis is formally proved with respect to an operational
semantics for the language and an inference algorithm that automatically reconstructs
size and cost bounds is presented.
A prototype implementation of the analysis and operational semantics has been
constructed and used to experimentally assess the quality of the cost bounds with some examples, including implementations of textbook functional programming algorithms and simplified embedded systems. |
| URI: | http://hdl.handle.net/10023/564 |
| Type: | Thesis |
| Publisher: | University of St Andrews |
| Appears in Collections: | Computer Science Theses
|
This item is protected by original copyright
|
This item is licensed under a Creative Commons License
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.
|