Automatic software verification: harnessing constraint technologies. As we come to rely on software to manage more and more aspects of our lives, the importance of software reliability increases; yet as programs become increasingly complex, reliability becomes ever more elusive. This project will develop automated tools and techniques to ensure that programs do what they were intended to do.
Analysing Computer Arithmetic to Improve Software Reliability. Most computer programs deal with integers. Automated tools designed to verify the correct behaviour of software usually assume the software deals with idealised mathematical integers, since this simplifies reasoning significantly. In reality, most programs work with integer number representations that approximate the ideal. This compromises the soundness of many verification tools. This project will design sound reasoning tools that ....Analysing Computer Arithmetic to Improve Software Reliability. Most computer programs deal with integers. Automated tools designed to verify the correct behaviour of software usually assume the software deals with idealised mathematical integers, since this simplifies reasoning significantly. In reality, most programs work with integer number representations that approximate the ideal. This compromises the soundness of many verification tools. This project will design sound reasoning tools that are aware of the true nature of computer integer arithmetic.Read moreRead less
An extensible framework for analysis of Java language-based security conformance. Java is a programming language and platform running on 3 billion devices. While Java provides a sandbox-based security architecture within the Java Class Library to protect systems from untrusted code downloaded from Internet, it cannot defend against implementation bugs that occur in the Java Class Library. The goal of this project is to provide a formal model of the Java security architecture, which can be used b ....An extensible framework for analysis of Java language-based security conformance. Java is a programming language and platform running on 3 billion devices. While Java provides a sandbox-based security architecture within the Java Class Library to protect systems from untrusted code downloaded from Internet, it cannot defend against implementation bugs that occur in the Java Class Library. The goal of this project is to provide a formal model of the Java security architecture, which can be used by program analysers to identify faulty or insufficient security checks in the Java Class Library that may lead to the sandbox being bypassed.Read moreRead less
Symbolic synthesis of knowledge-based program implementations. Systems with concurrent streams of activity are ubiquitous in computer hardware and software designs, but are conceptually complex, and fraught with faults and inefficiency. The project aims to address these difficulties by automating aspects of system design, to relieve the designer of the need to reason about complex patterns of information flow.
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
Process algebra approach to distributed quantum computation and secure quantum communication. This project will develop effective methods for reasoning about the behaviours of distributed quantum computing and communicating systems. The developed methods will provide effective techniques for verifying security of quantum cryptographic protocols.
Relaxed correctness criteria for modern multi-core architectures. This project seeks to lay groundwork for fully exploiting the potential of multicore computers. Multicore computers have become ubiquitous over the last decade, now being standard in everything from laptops to mobile phones. Their benefits are clear – better performance leading to more sophisticated applications. Key to ensuring those benefits are complex, and often subtle, algorithms that exploit the parallelism that multicore co ....Relaxed correctness criteria for modern multi-core architectures. This project seeks to lay groundwork for fully exploiting the potential of multicore computers. Multicore computers have become ubiquitous over the last decade, now being standard in everything from laptops to mobile phones. Their benefits are clear – better performance leading to more sophisticated applications. Key to ensuring those benefits are complex, and often subtle, algorithms that exploit the parallelism that multicore computers offer. This project aims to lay foundations for extending those benefits to applications where high reliability is a concern. It plans to do so by developing theoretical results about the correctness of algorithms on standard multicore computers, and practical tools and techniques to help programmers of multicore computers to better understand the behaviour of their code.Read moreRead less
Robust and Scalable Autonomous Landing for Drones. The aim of this project is to develop a transformative robust and scalable autonomous landing system for drones. This is the critical missing technology needed to unleash exponential growth in a potentially enormous drone delivery industry by enabling a multitude of applications to deliver goods and supplies via drones to a wide range of destinations in Australia and the world in a timely, flexible and accurate manner. Such an autonomous landi ....Robust and Scalable Autonomous Landing for Drones. The aim of this project is to develop a transformative robust and scalable autonomous landing system for drones. This is the critical missing technology needed to unleash exponential growth in a potentially enormous drone delivery industry by enabling a multitude of applications to deliver goods and supplies via drones to a wide range of destinations in Australia and the world in a timely, flexible and accurate manner. Such an autonomous landing solution would revolutionise drone technology, and propel Australia to the forefront of technology innovation. This project would benefit not only large scale delivery by drone in urban and suburban areas of Australia but also long distance delivery via drone to remote areas of Australia.Read moreRead less
Verification and analysis of quantum programs. This project aims to develop theoretical foundations and techniques, as well as efficient algorithms and effective tools, for the verification and analysis of quantum programs. This project will introduce new ideas and techniques to tackle the problem of verifying and analysing quantum programs and provide efficient algorithms and effective tools to help quantum program compilation and optimisation. Successful development of the outcomes and tools i ....Verification and analysis of quantum programs. This project aims to develop theoretical foundations and techniques, as well as efficient algorithms and effective tools, for the verification and analysis of quantum programs. This project will introduce new ideas and techniques to tackle the problem of verifying and analysing quantum programs and provide efficient algorithms and effective tools to help quantum program compilation and optimisation. Successful development of the outcomes and tools in this project will help Australian industries build frontier technologies for quantum software engineering and establish and preserve their competitive status in the era of quantum computing.Read moreRead less
Provable elimination of information leakage through timing channels. This project aims to develop techniques to solve the issue in information security of unauthorised information flow resulting from competition for shared hardware resources. The project will combine operating systems design, formal hardware models, information-flow reasoning and theorem proving to achieve a goal that is widely considered infeasible. The project is expected to result in a system that prevents leakage of critical ....Provable elimination of information leakage through timing channels. This project aims to develop techniques to solve the issue in information security of unauthorised information flow resulting from competition for shared hardware resources. The project will combine operating systems design, formal hardware models, information-flow reasoning and theorem proving to achieve a goal that is widely considered infeasible. The project is expected to result in a system that prevents leakage of critical information, such as encryption keys, through timing channels. This should prevent sophisticated attacks on public clouds, mobile devices and military-grade cross-domain devices.Read moreRead less