Verified concurrent memory management on modern processors. This project aims to formally verify automatic memory managers in the presence of concurrency and the weakly ordered memory of modern processors. A new framework for verifying memory managers, reusable for a wide range of managed programming languages, target hardware, policies, and algorithms will be developed. Expected technical outcomes include improved techniques to ensure trustworthiness of the foundations on which critical softwar ....Verified concurrent memory management on modern processors. This project aims to formally verify automatic memory managers in the presence of concurrency and the weakly ordered memory of modern processors. A new framework for verifying memory managers, reusable for a wide range of managed programming languages, target hardware, policies, and algorithms will be developed. Expected technical outcomes include improved techniques to ensure trustworthiness of the foundations on which critical software infrastructures are built. This will significantly enhance the security of public and private cyber assets, and deliver applications that are more robust and trustworthy, across a range of critical infrastructure such as transportation, communication, energy and defence.Read moreRead less
Next generation garbage collection: discovery, design, and development. This project aims to improve the performance of programming languages used by millions of Australians every day, such as Java, JavaScript and PHP by developing improved memory-management algorithms. These languages use what is referred to as “garbage collection” to ensure memory is managed without data loss, but do so conservatively and consequently cause performance challenges and energy overheads. This project expects to p ....Next generation garbage collection: discovery, design, and development. This project aims to improve the performance of programming languages used by millions of Australians every day, such as Java, JavaScript and PHP by developing improved memory-management algorithms. These languages use what is referred to as “garbage collection” to ensure memory is managed without data loss, but do so conservatively and consequently cause performance challenges and energy overheads. This project expects to provide these languages with improved memory-management algorithms, and provides researchers and industry with a framework for innovation. This project will enable safe software that is more efficient on today's hardware and able to exploit emerging hardware. This project should lead to better performance and energy savings for server applications, phones, watches, and smart appliances, while ensuring memory safety.Read moreRead less