Software Engineering

Software is pervasive in all aspects of society; from working to living, a significant part of our daily life is mediated by software. With the rapid evolution to meet various demands, the complexity of software has been increasing dramatically. 

Based on Glass’s law, for every 25% increase in functionality there is a 100% increase in the complexity of the software, therefore, ensuring high quality of software is becoming extremely difficult. There’s also an ever-increasing demand for better testing and analysis techniques to improve the quality of complex real-world software.

Our research in software engineering focuses on developing automated analysis techniques to generate test inputs, detect software faults/bugs and locate causes to software faults/bugs, aiming to improve software quality and reliability.