Static estimation of resource utilisation of programs is a challenging and important problem with numerous applications. In this thesis, I present new algorithms that enable users to specify and verify their desired bounds on resource usage of functional programs. The resources considered are algorithmic resources such as the number of steps needed to evaluate a program (steps) and the number of objects allocated in the memory (alloc). These resources are agnostic to the runtimes on which the programs are executed yet provide a concrete estimate of the resource usage of an implementation. Our system is designed to handle sophisticated functional programs that use recursive functions, datatypes, closures, memoization and lazy evaluation. In ...
Bounding resource usage is important for a number of areas, notably real-time embedded systems and s...
International audienceThe sup-interpretation method is proposed as a new tool to control memory reso...
Controlling resource usage is important for the reliability, efficiency and security of software sy...
We present a new approach for specifying and verifying resource utilization of higher-order function...
Program properties that are automatically inferred by static analysis tools are generally not consid...
We present a programming language in which every well-typed program halts in time polynomial with re...
We present a generic analysis that infers both upper and lower bounds on the usage that a program ma...
This article introduces a technique to accurately perform static prediction of resource usage for ML...
We present a framework for (static) verification of general resource usage program properties. The f...
AbstractIn this paper we use a program logic and automatic theorem provers to certify resource usage...
A primary feature of a computer program is its quantitative performance characteristics: the amount ...
We consider formal verification of recursive programs with resourceconsumption. We introduce prefix ...
We describe a new automatic static analysis for determining upper-bound functions on the use of quan...
Programming resource-sensitive systems, such as real-time embedded systems, requires guaranteeing bo...
In an increasing number of applications (e.g., in embedded, real-time, or mobile systems) it is imp...
Bounding resource usage is important for a number of areas, notably real-time embedded systems and s...
International audienceThe sup-interpretation method is proposed as a new tool to control memory reso...
Controlling resource usage is important for the reliability, efficiency and security of software sy...
We present a new approach for specifying and verifying resource utilization of higher-order function...
Program properties that are automatically inferred by static analysis tools are generally not consid...
We present a programming language in which every well-typed program halts in time polynomial with re...
We present a generic analysis that infers both upper and lower bounds on the usage that a program ma...
This article introduces a technique to accurately perform static prediction of resource usage for ML...
We present a framework for (static) verification of general resource usage program properties. The f...
AbstractIn this paper we use a program logic and automatic theorem provers to certify resource usage...
A primary feature of a computer program is its quantitative performance characteristics: the amount ...
We consider formal verification of recursive programs with resourceconsumption. We introduce prefix ...
We describe a new automatic static analysis for determining upper-bound functions on the use of quan...
Programming resource-sensitive systems, such as real-time embedded systems, requires guaranteeing bo...
In an increasing number of applications (e.g., in embedded, real-time, or mobile systems) it is imp...
Bounding resource usage is important for a number of areas, notably real-time embedded systems and s...
International audienceThe sup-interpretation method is proposed as a new tool to control memory reso...
Controlling resource usage is important for the reliability, efficiency and security of software sy...