A Unified Grid Programming Methodology for Global e-Science. This project will contribute to the national benefit in three important ways. First, we will build a set of novel e-Science applications as demonstrator projects in areas of national priority. These will have enormous economic impact in areas ranging from environmental management to health. Second, we will build software infrastructure that will have both commercial and strategic value in its own right. Third, we shall build a critical ....A Unified Grid Programming Methodology for Global e-Science. This project will contribute to the national benefit in three important ways. First, we will build a set of novel e-Science applications as demonstrator projects in areas of national priority. These will have enormous economic impact in areas ranging from environmental management to health. Second, we will build software infrastructure that will have both commercial and strategic value in its own right. Third, we shall build a critical mass of expertise that bridges the physical sciences and computer science. The support provided to this proposal will allow multi-disciplinary teams to address scientific problems of significant scale.Read moreRead less
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
A scalable debugging framework for petascale computers. Supercomputing underpins a wide range of areas of importance to the Australian economy; mining, agriculture, engineering, medical research and pharmaceutical development to name a few. It is of critical importance that software solutions in these areas behave correctly and do not generate erroneous results. This project will develop software tools and techniques that make it possible to detect and locate errors as software is converted to r ....A scalable debugging framework for petascale computers. Supercomputing underpins a wide range of areas of importance to the Australian economy; mining, agriculture, engineering, medical research and pharmaceutical development to name a few. It is of critical importance that software solutions in these areas behave correctly and do not generate erroneous results. This project will develop software tools and techniques that make it possible to detect and locate errors as software is converted to run on the next generation of 'petascale' supercomputers. We will deploy the tools both commercially through our industry partner, and also on national high performance computing facilities.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.
Improving the integrity of complex software systems. Software systems are among the most complex artifacts created today. The problems of reliability and maintenance of complex software systems are well-known. Improving reliability and lowering production cost continues to be an important challenge. The aim of this project is to create software development tools that allow programmers to express more of their intentions about program behaviour, in a way which can be automatically checked, in ord ....Improving the integrity of complex software systems. Software systems are among the most complex artifacts created today. The problems of reliability and maintenance of complex software systems are well-known. Improving reliability and lowering production cost continues to be an important challenge. The aim of this project is to create software development tools that allow programmers to express more of their intentions about program behaviour, in a way which can be automatically checked, in order to find discrepancies between intended and actual behaviour. This will facilitate the construction of software that is more secure, reliable, maintainable and reusable, that is, improve the integrity of complex software systems.
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.
Effective software vulnerability detection for web services. This project aims to design and implement new and better methods to find vulnerabilities in software services delivered over the web or through the cloud, as well as methods for proving the absence of certain types of vulnerability. So-called injection attacks are pervasive and generally considered the most important security threat on today's Internet. The programming languages used for software services tend to use strings as a unive ....Effective software vulnerability detection for web services. This project aims to design and implement new and better methods to find vulnerabilities in software services delivered over the web or through the cloud, as well as methods for proving the absence of certain types of vulnerability. So-called injection attacks are pervasive and generally considered the most important security threat on today's Internet. The programming languages used for software services tend to use strings as a universal data structure, which unfortunately makes it hard to separate trusted code from untrusted user-provided data. This project intends to develop novel program analysis tools and string constraint solvers, and employ these tools to support sophisticated automated reasoning about string manipulating software.Read moreRead less
Experimental runtime complexity analysis of logic programs. While declarative languages improve programmer productivity, they make it harder for programmers to understand the performance of their code. We will build a tool that will use profiling data and program analysis to allow programmers to predict the running time of their programs.
GriddLeS: Building Grid Applications from Legacy Software. Grid computing is emerging as a major new capability for modern, high performance technical computing. Such Grids couple geographically distributed resources such as high performance computers, workstations, clusters, and scientific instruments. Traditional methods of producing software for Grids are inefficient and error prone, and will not allow the rapid deployment of new applications. This project concerns the development of a tool t ....GriddLeS: Building Grid Applications from Legacy Software. Grid computing is emerging as a major new capability for modern, high performance technical computing. Such Grids couple geographically distributed resources such as high performance computers, workstations, clusters, and scientific instruments. Traditional methods of producing software for Grids are inefficient and error prone, and will not allow the rapid deployment of new applications. This project concerns the development of a tool that will facilitate the construction of complex Grid application using legacy software components. It will test the new ideas with a range of scientific demonstrators, including atmospheric science, geo-science and mechanical engineering.Read moreRead less
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.