Show simple item record

Files in this item


Item metadata

dc.contributor.advisorHammond, Kevin
dc.contributor.authorVasconcelos, Pedro B.
dc.description.abstractProgramming 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.en
dc.format.extent1790405 bytes
dc.publisherUniversity of St Andrews
dc.rightsCreative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported
dc.subjectFunctional programmingen
dc.subjectCost analysisen
dc.subjectProgram analysisen
dc.subjectType and effect systemsen
dc.subjectAbstract interpretationen
dc.subject.lcshFunctional programming (Computer science)en_US
dc.subject.lcshSystem analysisen_US
dc.subject.lcshComputer programming--Costsen_US
dc.titleSpace cost analysis using sized typesen
dc.type.qualificationnamePhD Doctor of Philosophyen
dc.publisher.institutionThe University of St Andrewsen

The following license files are associated with this item:

  • Creative Commons

This item appears in the following Collection(s)

Show simple item record

Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported
Except where otherwise noted within the work, this item's license for re-use is described as Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported