Binary code

Computer, artificial intelligence and software engineering

Real-world impact through software revolution
Our research explores the vast areas of software engineering and systems, artificial intelligence, computer engineering, reconfigurable computing and audio engineering.

Our research is concerned with developing new computer hardware, algorithms and methodologies to accelerate computations, improve wellbeing, learn from data and provide virtual reality.

We have dedicated researchers in the areas of:

  • computer architecture, 
  • parallel and distributed systems,
  • reconfigurable computing,
  • audio and acoustic engineering,
  • embedded systems,
  • computer vision and multimedia signal processing,
  • biomedical image analysis,
  • machine learning,
  • artificial intelligence,
  • learning analytics and
  • affect computing.

Our experts: Professor Philip Leong, Dr David Boland

Our partners: Imperial College, Harbin Institute of Technology, University of British Columbia

Our industry partners: Westpac, Zomojo, DST Group

Reconfigurable computing concerns research into design practices and computer planning. Platforms used include very large-scale integration (VLSI), field programmable gate arrays (FPGA) and parallel computing. We're currently studying financial time series prediction, real-time signal processing and nanoscale interfaces. Through specific problem-solving strategies, significant improvements can be achieved in execution time, power consumption and chip area.  

Our experts: Professor Dong Xu, Dr Wanli Ouyang, Dr Dong Yuan, Dr Luping Zhou

We're forging new directions in the production of smart software, using the technologies in computer vision, machine learning, medical image analysis, cloud computing and human-computer interaction. We're developing advanced video and image analysis algorithms that could be used in autonomous driving, surveillance, and medical diagnosis and treatment. We're also investigating how to accelerate the developed algorithms using the technology from cloud computing and edge computing.

Our experts: Associate Professor Craig Jin, Professor Alistair McEwan

Computing and audio research consists of three main areas: spatial audio, audio engineering and bioacoustic engineering. Spatial audio explores elements including how humans localise sounds, the effect of room acoustics on sound perception and generation of augmented and virtual reality audio. Our collaboration with the Auditory Neuroscience Laboratory and the Acoustics Research Laboratory at the University of Sydney forges a strong research alliance in this field.

Audio engineering investigates audio signal processing and applications of machine learning to acoustic signals. It includes the study of morphoacoustics: the study of the relationship between physical structures, their acoustic properties, and perception. In this area, we are working with the Politecnico di Milano to study violin acoustics and with the University of York to study the acoustics of the vocal tract.

Bioacoustic engineering explores the development of hardware and algorithms to measure and classify bioacoustic signals as well as acoustic stimulation using ultrasound. Our ultrasound research focuses on nanoparticle stimulation, sonoporation, and high-intensity focussed ultrasound (HIFU).

Our experts: Professor Joseph Davis, Professor Albert Zomaya, Associate Professor Bernhard Scholz, Associate Professor Bing Zhou

Our partners: Dr Lavy Libman (UNSW), Dr Young Choon Lee (Macquarie University), Dr Javid Taheri (Karlstad University, Sweden)

Distributed and high-performance computing spans a complementary mix of both theoretical and experimental research, such as algorithmics and analytics, green and cloud computing, virtualisation technologies, networking, Internet of Things and service computing. It measures its impact in areas including health, energy management, embedded systems, sensors and mobile platforms. 

Our experts: Dr Rahul Gopinath

Our partners: Professor Andreas Zeller, CISPA Helmholtz Center for Information Security (Germany)

One of the most labour-intensive parts of software engineering is software testing. Without adequate testing, our software systems may contain vulnerabilities that can be exploited by adversaries.

For effective testing, we require accurate specifications. These include both input specifications, which specify what inputs a software system can process, as well as behavioural specifications that specify how a system responds to an input. Such specifications are, however, often unavailable, or even if available, likely to be obsolete, incomplete, or incorrect.

We're focusing on automatically extracting the input and behavioural specifications of a given software system, even across hard system boundaries.