Design and verification of correct, efficient and secure concurrent systems. This project aims to provide methods for the design and verification of correct, secure and efficient concurrent software that are scalable and mechanised. Computers with multiple processors are now the norm and are used in a wide range of safety, security and mission critical software applications such as transport, health and infrastructure. These multi-core architectures have the potential to lead to important effici ....Design and verification of correct, efficient and secure concurrent systems. This project aims to provide methods for the design and verification of correct, secure and efficient concurrent software that are scalable and mechanised. Computers with multiple processors are now the norm and are used in a wide range of safety, security and mission critical software applications such as transport, health and infrastructure. These multi-core architectures have the potential to lead to important efficiency gains, but can introduce complex and error-prone behaviours that cannot be managed using traditional software development approaches. This project will produce better, scalable and mechanised methods for the design and verification of such software which is expected to reduce the prevalence of failures in efficient, modern software.Read moreRead less
A safe and efficient multi-language component framework based on dynamic compilation. Components are a versatile mechanism for the construction of extendible systems and for improved code reusability. Emerging environments like Microsoft's .NET support the interaction of components written in different programming languages. To date, such systems do not adequately isolate components which therefore must trust each other. This is unacceptable for components loaded across the Internet. We will dev ....A safe and efficient multi-language component framework based on dynamic compilation. Components are a versatile mechanism for the construction of extendible systems and for improved code reusability. Emerging environments like Microsoft's .NET support the interaction of components written in different programming languages. To date, such systems do not adequately isolate components which therefore must trust each other. This is unacceptable for components loaded across the Internet. We will develop a framework for secure execution of component software, based on hardware-enforced protection domains. To minimize the resulting runtime overheads we will provide a component model with lightweight context switching. A novel typed intermediate language and dynamic compilation techniques will offer complementary optimisations.
Read moreRead less
Extending a family of garbage collectors. Garbage collection is a key component in the automatic management of storage in computer systems. It is an essential property of modern programming systems that frees the programmer from a significant error-prone task. Our interest is in garbage collection in distributed systems involving a number of networked computers. Using our novel construction methodology, we have jointly produced a family of collection algorithms that are significantly simpler and ....Extending a family of garbage collectors. Garbage collection is a key component in the automatic management of storage in computer systems. It is an essential property of modern programming systems that frees the programmer from a significant error-prone task. Our interest is in garbage collection in distributed systems involving a number of networked computers. Using our novel construction methodology, we have jointly produced a family of collection algorithms that are significantly simpler and more efficient than previous work. Here we wish to extend this family to operate effectively in a specific architecture increasingly favoured by many modern distributed high-performance computing systems.Read moreRead less
Dynamic Cooperative Performance Optimizations. This project seeks to improve the reliability, security, and
performance of modern software systems. Security is a problem of such
scale that outbreaks of computer viruses etc. headline in major
financial newspapers. We approach the problem by addressing the key
performance problems that hold back the programming languagues widely
used for secure and reliable systems. By improving the reliability,
security and performance of computer system ....Dynamic Cooperative Performance Optimizations. This project seeks to improve the reliability, security, and
performance of modern software systems. Security is a problem of such
scale that outbreaks of computer viruses etc. headline in major
financial newspapers. We approach the problem by addressing the key
performance problems that hold back the programming languagues widely
used for secure and reliable systems. By improving the reliability,
security and performance of computer systems, this project will help
alleviate the millions of hours and dollars lost to inadvertent errors
and malicious software attacks. The project will give Australia an
international presence in a research area of great academic and
commercial importance.Read moreRead less