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.
Data Structures for Multi-Core. The project intends to improve data structures to reduce the bottleneck effect caused by multiple processor cores. The hardware used for a typical server platform has increasing numbers of processor cores. This growing number of cores creates a bottleneck effect when accessing the data that are structured in the shared memory of these servers. These contended data structures limit the server performance and new algorithms are necessary. The project proposes to rel ....Data Structures for Multi-Core. The project intends to improve data structures to reduce the bottleneck effect caused by multiple processor cores. The hardware used for a typical server platform has increasing numbers of processor cores. This growing number of cores creates a bottleneck effect when accessing the data that are structured in the shared memory of these servers. These contended data structures limit the server performance and new algorithms are necessary. The project proposes to relax traditional consistency criteria to provide high concurrency and to leverage optimistic executions that proceed concurrently but may roll back depending on the conflicts with other concurrent executions they encounter. The concurrent data structures would allow application performance to scale with higher numbers of hardware cores.Read moreRead less
Understanding concurrent programs using rely-guarantee thinking. Multi-core processors are standard in computers and devices (e.g. smart phones) but much of the software available for these machines is either unreliable or does not exploit the available hardware parallelism. This project will devise techniques for designing concurrent software that exploits these platforms while delivering dependable operation.
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.
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
Model-driven engineering of scientific software for graphical processing units. Novel visual models, model-driven engineering techniques and software engineering tools will be invented to synthesize and optimise graphical processing unit software for scientific applications. These will be validated using large data-centric applications from molecular simulation and astrophysics domains.
A Programming Model of Object Validity for Secure and Efficient Concurrency. To provide improved performance and security for software applications, Australia's ICT industry must adapt to the complex programming demands of modern multicore processors. The programming model developed in the project represents a breakthrough solution. A seamless integration of concurrency and object orientation leads to a simple yet powerful programming style that is compatible with today's premier approach to bui ....A Programming Model of Object Validity for Secure and Efficient Concurrency. To provide improved performance and security for software applications, Australia's ICT industry must adapt to the complex programming demands of modern multicore processors. The programming model developed in the project represents a breakthrough solution. A seamless integration of concurrency and object orientation leads to a simple yet powerful programming style that is compatible with today's premier approach to building large-scale software systems with significantly improved performance and security. The product will reduce development time for compute-intensive applications in many industry sectors, including health care (e.g. patient monitoring), finance, defence, environment, mining, manufacturing and computer games.Read moreRead less
Analysis and Optimisation of Incomplete Object-Oriented Programs. This project will push Australia to the forefront of OO technologies and will increase the profile of advanced programming language design and implementation research in Australia. The completed framework will
likely be commercially viable as Australia industries such as banks and
insurance companies and government organisations hosting large
OO software systems may benefit (in terms of performance and
code security) from the ....Analysis and Optimisation of Incomplete Object-Oriented Programs. This project will push Australia to the forefront of OO technologies and will increase the profile of advanced programming language design and implementation research in Australia. The completed framework will
likely be commercially viable as Australia industries such as banks and
insurance companies and government organisations hosting large
OO software systems may benefit (in terms of performance and
code security) from the technology developed as a result of this research. The completed framework will also provide an excellent platform for researchers in Australia and elsewhere to do research in OO technologies, helping in producing quality students for the Australian IT industry.Read moreRead less
Scratchpad-based Memory Allocation Techniques for Embedded Software. This research aims at developing automatic memory allocation algorithms to maximise the effective utilisation of scratchpad memories, which will lead to significantly improved performance and energy usage in embedded applications. The outcomes of this project will provide generic solutions to many Australia-based industries, including telecommunication, network management, sensor networks, automotive and instrumentation/measure ....Scratchpad-based Memory Allocation Techniques for Embedded Software. This research aims at developing automatic memory allocation algorithms to maximise the effective utilisation of scratchpad memories, which will lead to significantly improved performance and energy usage in embedded applications. The outcomes of this project will provide generic solutions to many Australia-based industries, including telecommunication, network management, sensor networks, automotive and instrumentation/measurement, where embedded systems are ubiquitously used. Therefore, this project will significantly contribute to the Priority Area (Frontier Technologies for Building and Transforming Australian Industries), hence fits into its Priority Goal: Frontier Technologies.Read moreRead less