Previous studies on safety of program transformations with respect to performance considered two criteria: preserving performance within a constant factor and preserving complexity. However, as the requirement of program transformations used in compilers the former seems too restrictive and the latter seems too loose. We propose a new safety criterion: a program transformation preserves performance within a factor proportional to the size of a source program. This criterion seems natural since several compilation methods have e#ects on performance proportional to the size of a program. Based on this criterion we have shown that two semantics formalizing the size of stack space are equivalent. We also discuss the connection between this crit...
This thesis is concerned with the resource consumption of lazy functional languages. It touches upon...
International audienceGood programming languages provide helpful abstractions for writing secure cod...
Secure compilers generate compiled code that withstands many target-level attacks such as alteration...
Previous studies on safety of program transformations with respect to performance considered two cri...
Existing work on compilers has often primarily concerned itself with preserving behavior, but progra...
Language designers and implementors have avoided specifying and preserving the meaning of programs t...
In this thesis we present and analyse a set of automatic source-to-source program transformations th...
We analyse the validity of common optimisations on multi-threaded programs in two memory models—the ...
Rewrite rules with side conditions can elegantly express many classical compiler optimizations for i...
We analyse the validity of common optimisations on multi-threaded programs in two memory models—the...
AbstractA compiler optimization is sound if the optimized program that it produces is semantically e...
Secure compilation investigates when compilation chains preserve security properties. Over the years...
Modern-day imperative programming languages such as C++, C# and Java offer protection facilities suc...
AbstractThe theory of relative program correctness and its preservation allows for elaborate and pra...
Software is pervasive in our daily lives and we rely on it for many critical tasks. Despite the abun...
This thesis is concerned with the resource consumption of lazy functional languages. It touches upon...
International audienceGood programming languages provide helpful abstractions for writing secure cod...
Secure compilers generate compiled code that withstands many target-level attacks such as alteration...
Previous studies on safety of program transformations with respect to performance considered two cri...
Existing work on compilers has often primarily concerned itself with preserving behavior, but progra...
Language designers and implementors have avoided specifying and preserving the meaning of programs t...
In this thesis we present and analyse a set of automatic source-to-source program transformations th...
We analyse the validity of common optimisations on multi-threaded programs in two memory models—the ...
Rewrite rules with side conditions can elegantly express many classical compiler optimizations for i...
We analyse the validity of common optimisations on multi-threaded programs in two memory models—the...
AbstractA compiler optimization is sound if the optimized program that it produces is semantically e...
Secure compilation investigates when compilation chains preserve security properties. Over the years...
Modern-day imperative programming languages such as C++, C# and Java offer protection facilities suc...
AbstractThe theory of relative program correctness and its preservation allows for elaborate and pra...
Software is pervasive in our daily lives and we rely on it for many critical tasks. Despite the abun...
This thesis is concerned with the resource consumption of lazy functional languages. It touches upon...
International audienceGood programming languages provide helpful abstractions for writing secure cod...
Secure compilers generate compiled code that withstands many target-level attacks such as alteration...