Chapter 14: Project Evaluation Paper: Mobile Resource Guarantees

Sannella, Donald; Hofmann, Martin; Aspinall, David; Gilmore, Stephen; Stark, Ian; Beringer, Lennart; Loidl, Hans-Wolfgang; MacKenzie, Kenneth; Momigliano, Alberto; Shkaravska, Olha
January 2007
Trends in Functional Programming Volume 6;2007, Vol. 6, p211
The Mobile Resource Guarantees (MRG) project has developed a proof-carrying-code infrastructure for certifying resource bounds of mobile code. Key components of this infrastructure are a certifying compiler for a high-level language, a hierarchy of program logics, tailored for reasoning about resource consumption, and an embedding of the logics into a theorem prover. In this paper, we give an overview of the project's results, discuss the lessons learnt from it and introduce follow-up work in new projects that will build on these results.


Related Articles

  • Making a Complier Easily Portable. Ballarin, Enrico; Burkhart, Helmar; Eigenmann, Rudolf; Kindlimann, Heinz; Moser, Michael // IEEE Software;May88, Vol. 5 Issue 3, p30 

    Describes a technique for the porting of compilers and programming languages. Assessment on the complex software components of programming languages; Generation of machine code in compilers; Reference to the universal operating system interface.

  • A*: A Language for Implementing Language Processors. Ladd, David A.; Ramming, J. Christopher // IEEE Transactions on Software Engineering;Nov95, Vol. 21 Issue 11, p894 

    A* is an experimental language designed to facilitate the creation of language-processing tools. It is analogous either to an interpreted yacc with Awk as its statement language, or to a version of Awk which processes programs rather than records. A* offers two principal advantages over the...

  • Chapter 7: Experiments with GHC's Optimiser. Németh, László // Trends in Functional Programming Volume 5;2006, Vol. 5, p97 

    There are several tricky aspects of compiling a functional language: what optimisations to perform, how to do them efficiently, and when, or more precisely in what order, the optimisations should be done. The literature discussing the first question is abundant, for the second is somewhat sparse...

  • Towards compiler backend optimization for low energy consumption at instruction level. Surakka, Kimmo; Mikkonen, Tommi; Järvinen, Hannu-Matti; Vuorela, Timo; Vanhala, Jukka // Proceedings of the Estonian Academy of Sciences, Engineering;Dec2005, Vol. 11 Issue 4, p347 

    Compiler backend is the part of a compiler that is responsible for generating compiled code. By optimizing the backend, one can easily create a tool chain for a new environment, where some restrictions are to be taken into account. One such restriction is energy consumption, which can be...

  • Automatic Intra-Register Vectorization for the Intel® Architecture. Bik, Aart J. C.; Girkar, Milind; Grey, Paul M.; Tian, Xinmin // International Journal of Parallel Programming;Apr2002, Vol. 30 Issue 2, p65 

    Recent extensions to the Intel® Architecture feature the SIMD technique to enhance the performance of computational intensive applications that perform the same operation on different elements in a data set. To date, much of the code that exploits these extensions has been hand-coded. The...

  • Compiling quantum programs. Zuliani, Paolo // Acta Informatica;Jun2005, Vol. 41 Issue 7/8, p435 

    In this paper we study a possible compiler for a high-level imperative programming language for quantum computation, the quantum Guarded-Command Language (qGCL). It is important because it liberates us from thinking of quantum algorithms at the data-flow level, in the same way as happened for...

  • Scalarization Using Loop Alignment and Loop Skewing. Zhao, Yuan; Kennedy, Ken // Journal of Supercomputing;Jan2005, Vol. 31 Issue 1, p5 

    Array syntax, which is supported in many technical programming languages, adds expressive power by allowing operations on and assignments to whole arrays and array sections. To compile an array assignment statement to a uniprocessor, the language processor must convert the statement into a loop...

  • Harissa: A Hybrid Approach to Java Execution. Muller, Gilles; Schultz, Ulrik Pagh // IEEE Software;Mar/Apr99, Vol. 16 Issue 2, p44 

    Features Harissa, an offline compilation system that supports dynamic bytecode loading. Aspects of the compiler of Harissa; Advantages and drawbacks of strategies for optimizing Java; Situations to be considered in choosing the appropriate execution. INSET: Existing Solutions.

  • Interfacing C and TMS320C6713 Assembly Language (Part-I). Wardak, Abdullah A. // Proceedings of World Academy of Science: Engineering & Technolog; 

    This paper describes an interfacing of C and the TMS320C6713 assembly language which is crucially important for many real-time applications. Similarly, interfacing of C with the assembly language of a conventional microprocessor such as MC68000 is presented for comparison. However, it should be...


Read the Article


Sorry, but this item is not currently available from your library.

Try another library?
Sign out of this library

Other Topics