Accurate analysis of combinatorial problems: from the particular to the general. Combinatorial problems pervade all aspects of our social, environmental and economic life, but finding good solutions to these problems can take too much computer time. This project will develop new analysis tools that are effective at reducing this time, thus allowing for better solutions to be found.
Legacy2Service: A Novel, Model-Driven Technique for Re-engineering On-Demand, Software Services out of Legacy Applications. The proliferation of software-as-a-service applications from "dotcom" players is raising expectations that other industries will make their critical desktop and mainframe software available as web-enabled software-as-a-service and mobile "apps". However, manually re-engineering legacy software is notoriously costly and frequently unsuccessful. This project will make it easi ....Legacy2Service: A Novel, Model-Driven Technique for Re-engineering On-Demand, Software Services out of Legacy Applications. The proliferation of software-as-a-service applications from "dotcom" players is raising expectations that other industries will make their critical desktop and mainframe software available as web-enabled software-as-a-service and mobile "apps". However, manually re-engineering legacy software is notoriously costly and frequently unsuccessful. This project will make it easier and quicker to turn stand-alone programs into online services by automating much of the process. Specifically, it will develop tools: for analysing program code to identify points to implement service interfaces; for displaying existing and new code dependencies visually; and, to help design and implement new software layers that link legacy services to the web.Read moreRead less
Towards automated and intelligent processing of web-based information. The successful outcome of this project will enhance Australia's research reputation in an important, practical area of ICT, will contribute to emerging Web standards, will produce frontier technology that will eventually be of benefit to Australian industry, and will train several postgraduate students.
Supporting adaptive, interactive documents. The project will improve comprehensibility of technical material, reduce paper usage, encourage collaborative science, improve the reliability of published science (by allowing post-publication annotation and correction), and improve the accessibility of technical material for readers who are blind or have poor vision. The project also holds considerable potential for supporting Australian companies in the publishing and document processing industries.
Towards High-performance and Fault-tolerant Distributed Java Implementations. Java Virtual Machines form an important part of the web and business
server market. Distributed Java Virtual Machines have the potential to
make a significant contribution to industries that utilize this
technology. An attractive platform for this purpose is the
cluster, a highly cost-effective and scalable parallel computer
model. However, realizing on such a platform a high performance virtual
machine implem ....Towards High-performance and Fault-tolerant Distributed Java Implementations. Java Virtual Machines form an important part of the web and business
server market. Distributed Java Virtual Machines have the potential to
make a significant contribution to industries that utilize this
technology. An attractive platform for this purpose is the
cluster, a highly cost-effective and scalable parallel computer
model. However, realizing on such a platform a high performance virtual
machine implementation tolerant to hardware and software faults, and
having efficient memory utilization, presents many challenging research
issues. This project will address these issues by extending a highly
efficient and extensible Java implementation to be aware of its cluster
environment.
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
Micro Compilers: An Extensible Compiler Architecture for Increased Flexibility and Safety. Programming languages specialised to a particular application domain can cut software development costs and reduce programming errors. Unfortunately, most application domains cannot sustain the costly development and maintenance of the specialised compilers required to implement specialised languages. We address this problem by introducing a novel customisable compiler architecture that can be adapted to ....Micro Compilers: An Extensible Compiler Architecture for Increased Flexibility and Safety. Programming languages specialised to a particular application domain can cut software development costs and reduce programming errors. Unfortunately, most application domains cannot sustain the costly development and maintenance of the specialised compilers required to implement specialised languages. We address this problem by introducing a novel customisable compiler architecture that can be adapted to specialised languages and other special-purpose compiler requirements. Customisable compilers are especially important to a country like Australia that has only limited resources for special purpose developments. Moreover, we will train students at undergraduate and postgraduate level in the area of programming languages and compilers.Read moreRead less
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.
A Compositional Model for Verifying and Programming Ecologies of Smart Internet Devices. Emerging in 21st century computing is what we perceive as device ecologies, or collections of devices that can exhibit smart behaviour, automate tasks, interact synergistically with one another, with users and Internet resources, and provide aid and value in daily life and work. Device ecologies will be seen in areas as diverse as e-commerce, health care, home automation, office automation, manufacturing, an ....A Compositional Model for Verifying and Programming Ecologies of Smart Internet Devices. Emerging in 21st century computing is what we perceive as device ecologies, or collections of devices that can exhibit smart behaviour, automate tasks, interact synergistically with one another, with users and Internet resources, and provide aid and value in daily life and work. Device ecologies will be seen in areas as diverse as e-commerce, health care, home automation, office automation, manufacturing, and defense. This project will develop a novel model and language for analyzing and programming device ecologies. This will be an Australian contribution towards techniques for constructing advanced applications that work over the computing infrastructure of the future.Read moreRead less
Foundations of Executable Temporal Logic. In many computer applications, including those of temporal reasoning, distributed computations and knowledge representations, the concept of time is of central importance. Multiple granularity of time also plays a critical role as not all events are necessarily defined over a uniform model of time. This project will develop the foundations of executable logical representations, supporting multiple granularity of time. This will allow system developers a ....Foundations of Executable Temporal Logic. In many computer applications, including those of temporal reasoning, distributed computations and knowledge representations, the concept of time is of central importance. Multiple granularity of time also plays a critical role as not all events are necessarily defined over a uniform model of time. This project will develop the foundations of executable logical representations, supporting multiple granularity of time. This will allow system developers access to powerful logical techniques in those applications. In the process, fundamental problems in modelling multiple granularity of time will be identified, and application-independent solutions to those problems will be provided.Read moreRead less