Finding concurrency bugs in multithreaded software. This project aims to develop sound and practical techniques for detecting and eliminating concurrency bugs for object-oriented languages like Java, enabled by a new model for concurrent effects. The expected outcome is a novel technology that will significantly improve the safety, productivity and efficiency of large-scale concurrent programming.
Tuning parallel applications on software-defined supercomputers. Supercomputers are used by many Australian industries and laboratories to make better products and perform critical predictions, and it is essential that codes operate efficiently. This project aims to assist programmers in identifying performance bottlenecks in their code quickly and easily. The project expects to supersede the current methods, which are often complex and time-consuming, by developing innovative software tools and ....Tuning parallel applications on software-defined supercomputers. Supercomputers are used by many Australian industries and laboratories to make better products and perform critical predictions, and it is essential that codes operate efficiently. This project aims to assist programmers in identifying performance bottlenecks in their code quickly and easily. The project expects to supersede the current methods, which are often complex and time-consuming, by developing innovative software tools and techniques. The expected outcomes include novel software, verified by industry partners in real world case studies, ranging from life sciences to hypersonic transport. This should provide significant benefits, including the capacity for Australian industries to access world-class supercomputing technology.Read moreRead less
Software debuggers for next generation heterogeneous supercomputers. Supercomputing underpins a wide range of areas of importance to the Australian economy; mining, agriculture, engineering and medical research to name a few. It is of critical importance that software solutions in these areas behave correctly. This project will develop software tools and techniques to help locate errors in such applications.
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
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.
Automatic Energy Tuning of Parallel Applications on a Hybrid Supercomputer. Energy efficiency is a critical challenge in building next-generation supercomputers. This project aims to provide a new energy-tuning tool integrated with Cray’s systems, to simplify the process of tuning hybrid applications and managing efficient energy use. Although hardware components play a dominant role in saving energy, heterogeneous systems offer the opportunity to exploit the extremely high concurrency with mode ....Automatic Energy Tuning of Parallel Applications on a Hybrid Supercomputer. Energy efficiency is a critical challenge in building next-generation supercomputers. This project aims to provide a new energy-tuning tool integrated with Cray’s systems, to simplify the process of tuning hybrid applications and managing efficient energy use. Although hardware components play a dominant role in saving energy, heterogeneous systems offer the opportunity to exploit the extremely high concurrency with modest energy consumption using accelerators. Accordingly, the future of parallel computing must consider the trade-off between obtaining the optimal performance and the allowed power budget. The project plans to design parallel programming environments that support energy analysis and tuning.Read moreRead less
Edge-Accelerated Deep Learning. Implementing deep learning (DL) applications usually requires a large amount of collected data and powerful computing resources in the cloud. However, this centralised approach has issues of high latency, large bandwidth usage, and possible privacy violation for many practical applications. Without properly addressing these issues, the wider application of DL in practice will seriously be hindered. This project aims to solve several key challenging problems in eff ....Edge-Accelerated Deep Learning. Implementing deep learning (DL) applications usually requires a large amount of collected data and powerful computing resources in the cloud. However, this centralised approach has issues of high latency, large bandwidth usage, and possible privacy violation for many practical applications. Without properly addressing these issues, the wider application of DL in practice will seriously be hindered. This project aims to solve several key challenging problems in effective deployment and efficient execution of DL applications in a distributed edge-computing environment. Several innovative edge-computing methods will be developed for DL training, inference and implementation to achieve high performance with low latency and enhanced privacy.Read moreRead less
Soundness-guided security analysis for android applications. This project aims to develop a soundness-guided programme analysis to mitigate security threats caused by reflection and dynamic class loading in Android apps, without compromising precision and scalability. Both dynamic code update techniques are widely used in benign and malware apps, but state-of-the-art malware analysis tools ignore or mishandle them, missing security threats and vulnerabilities. The resulting open-source security ....Soundness-guided security analysis for android applications. This project aims to develop a soundness-guided programme analysis to mitigate security threats caused by reflection and dynamic class loading in Android apps, without compromising precision and scalability. Both dynamic code update techniques are widely used in benign and malware apps, but state-of-the-art malware analysis tools ignore or mishandle them, missing security threats and vulnerabilities. The resulting open-source security analysis tool will allow software industries and enterprises (from national security, finance, banking to healthcare, retail, telecommunications) to test their mobile software effectively for code defects or security threats early at software development time at significantly reduced cost.Read moreRead less
Securing systems against code-reuse attacks with modular pointer analysis. This project aims to build secure defences against code-reuse attacks in large-scale C++ applications with millions of lines of code, by enforcing control flow integrity with modular pointer analysis. The state-of-the-art mitigation techniques that are deployed in mainstream computer operating systems can all be bypassed by advanced code-reuse attacks, resulting in security exploits in all major web browsers. The outcomes ....Securing systems against code-reuse attacks with modular pointer analysis. This project aims to build secure defences against code-reuse attacks in large-scale C++ applications with millions of lines of code, by enforcing control flow integrity with modular pointer analysis. The state-of-the-art mitigation techniques that are deployed in mainstream computer operating systems can all be bypassed by advanced code-reuse attacks, resulting in security exploits in all major web browsers. The outcomes of this project will be an exploit mitigation technology and an open-source tool that can significantly raise the bar against advanced code-reuse attacks, thereby providing a foundation for eliminating such security threats.Read moreRead less
Sparse Demand-Driven Analysis to Improve Software Reliability and Security. Current static analysis tools can eliminate many bugs missed by traditional testing but they are still imprecise or inefficient. This project aims to develop precise pointer analyses that enable -finding clients to detect bugs efficiently in large-scale programs in C/C++ and Java, where pointers are used pervasively. The novelty lies in performing these analyses sparsely (allowing data-flow information to move directly f ....Sparse Demand-Driven Analysis to Improve Software Reliability and Security. Current static analysis tools can eliminate many bugs missed by traditional testing but they are still imprecise or inefficient. This project aims to develop precise pointer analyses that enable -finding clients to detect bugs efficiently in large-scale programs in C/C++ and Java, where pointers are used pervasively. The novelty lies in performing these analyses sparsely (allowing data-flow information to move directly from variable definitions to their potential uses) based on Context-Free-Language-reachability (enabling client queries to be answered on-demand). The outcomes aim to significantly improve the reliability and security of industrial-sized software.Read moreRead less