Thesis: Ph. D., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2019Cataloged from PDF version of thesis.Includes bibliographical references (pages 161-168).This thesis studies the problem of statically bounding the resource usage of computer programs, from programs written in high-level languages to those in assembly languages. Resource usage is an aspect of programs not covered by conventional software-verification techniques, which focus mostly on functional correctness; but it is important because when resource usage exceeds the programmer's expectation by a large amount, user experience can be disrupted and large fees (such as cloud-service fees) can be charged. I designed TiML, a new t...
In programming, data is often considered to be infinitely copiable, arbitrarily discardable, and uni...
We present a generic analysis that infers both upper and lower bounds on the usage that a program ma...
This paper considers the use of dependent types to capture information about dynamic resource usage ...
We present a programming language in which every well-typed program halts in time polynomial with re...
Since the early days of the development of programming languages, people have been developing variou...
This article introduces a technique to accurately perform static prediction of resource usage for ML...
We present TiML (Timed ML), an ML-like functional language with time-complexity annotations in types...
Abstract. Bounded linear types have proved to be useful for automated resource analysis and control ...
Systems programming languages facilitate the implementation of software that runs in restricted envi...
Bounded linear types have proved to be useful for automated resource analysis and control in functio...
We present a new predicative and decidable type system, called ML , suitable for languages that inte...
A software program requesting a resource that is not available usually raises an out-of-resource exc...
In the modern, multi-threaded, multi-core programming environment, correctly managing system resourc...
Controlling resource usage is important for the reliability, efficiency and security of software sys...
Abstract. Component software is software that has been assembled from various pieces of standardized...
In programming, data is often considered to be infinitely copiable, arbitrarily discardable, and uni...
We present a generic analysis that infers both upper and lower bounds on the usage that a program ma...
This paper considers the use of dependent types to capture information about dynamic resource usage ...
We present a programming language in which every well-typed program halts in time polynomial with re...
Since the early days of the development of programming languages, people have been developing variou...
This article introduces a technique to accurately perform static prediction of resource usage for ML...
We present TiML (Timed ML), an ML-like functional language with time-complexity annotations in types...
Abstract. Bounded linear types have proved to be useful for automated resource analysis and control ...
Systems programming languages facilitate the implementation of software that runs in restricted envi...
Bounded linear types have proved to be useful for automated resource analysis and control in functio...
We present a new predicative and decidable type system, called ML , suitable for languages that inte...
A software program requesting a resource that is not available usually raises an out-of-resource exc...
In the modern, multi-threaded, multi-core programming environment, correctly managing system resourc...
Controlling resource usage is important for the reliability, efficiency and security of software sys...
Abstract. Component software is software that has been assembled from various pieces of standardized...
In programming, data is often considered to be infinitely copiable, arbitrarily discardable, and uni...
We present a generic analysis that infers both upper and lower bounds on the usage that a program ma...
This paper considers the use of dependent types to capture information about dynamic resource usage ...