ReQueST:Resource Quantification in e-science Technologies.

Project Details

Description

For the results of computer-based scientific calculations to be useful, the computer programs that produce these results must be carefully checked for errors. The ReQueST project provides automatic methods for checking e-Science applications for errors which would cause the program to fail because it runs out of resources such as memory or allotted processing time.
The ReQueST project uses state-of-the art computer science technology to attach mechanically-checkable certificates of resource consumption in the form of mathematical proofs to mobile Java applications. This 'proof-carrying' approach to mobile code allows code producers to ship programs to code consumers in such a way that a wary consumer can quickly check key properties of the code - in this case, its maximum resource usage - before running it. In this way, service providers can protect themselves against errors in user-supplied code.
Grid Services technology provides such a collaborative service-provider framework for virtual organisations involved in e-Science. The ReQueST project builds proof-carrying code technology into the Grid Services framework by supporting it from application code up to the service description level. In this way the Request project advances the current state-of-the-art in the Grid technology used in e-Science.

Layman's description

For the results of computer-based scientific calculations to be useful, the computer programs that produce these results must be carefully checked for errors. The ReQueST project provides automatic methods for checking e-Science applications for errors which would cause the program to fail because it runs out of resources such as memory or allotted processing time.
The ReQueST project uses state-of-the art computer science technology to attach mechanically-checkable certificates of resource consumption in the form of mathematical proofs to mobile Java applications. This 'proof-carrying' approach to mobile code allows code producers to ship programs to code consumers in such a way that a wary consumer can quickly check key properties of the code - in this case, its maximum resource usage - before running it. In this way, service providers can protect themselves against errors in user-supplied code.

Key findings

The research took advantage of related work on proof-carrying Java code for mobile devices conducted in parallel by ourselves and our partners under the European-funded Mobius Integrated Project. This enabled us to pursue additional work on formalising the Java memory model and studying the validity of common optimisations on multi-threaded programs, which showed that important program transformations such as common subexpression elimination are unsafe, despite claims to the contrary. Further topics included separation logic and polytope-based methods for resource bound analysis.
The analysis techniques used to produce certificates are being developed further in a commercialisation project which aims to produce user-friendly technology for detecting common faults in Java code.
AcronymReQueST
StatusFinished
Effective start/end date1/05/0531/01/09

Funding

  • EPSRC: £484,975.00

Fingerprint

Explore the research topics touched on by this project. These labels are generated based on the underlying awards/grants. Together they form a unique fingerprint.
  • Amortised Memory Analysis Using the Depth of Data Structures

    Campbell, B., 2009, Programming Languages and Systems: 18th European Symposium on Programming, ESOP 2009, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009, York, UK, March 22-29, 2009. Proceedings. Castagna, G. (ed.). Springer Berlin Heidelberg, p. 190-204 15 p. (Lecture Notes in Computer Science; vol. 5502).

    Research output: Chapter in Book/Report/Conference proceedingConference contribution

    Open Access
    File
  • Syntax for Free: Representing Syntax with Binding Using Parametricity

    Atkey, R., 2009, Typed Lambda Calculi and Applications: 9th International Conference, TLCA 2009, Brasilia, Brazil, July 1-3, 2009. Proceedings. Springer Berlin Heidelberg, p. 35-49 15 p. (Lecture Notes in Computer Science; vol. 5608).

    Research output: Chapter in Book/Report/Conference proceedingConference contribution

  • Java Memory Model Examples: Good, Bad and Ugly

    Aspinall, D. & Ševčík, J., 2007, Proceedings of Verification and Analysis of Multi-Threaded Java-Like Programs (VAMP 2007). 15 p.

    Research output: Chapter in Book/Report/Conference proceedingConference contribution

    Open Access
    File