School of Computing, National University of Singapor
Abhik Roychoudhury is a Professor of Computer Science at School of Computing, National University of Singapore. He received his Ph.D. in Computer Science from the State University of New York at Stony Brook in 2000. Since 2001, he has been employed at the National University of Singapore. His research has focused on software testing and analysis, software security, and trust-worthy software. He has been an ACM Distinguished Speaker (2013-19). He is currently leading the TSUNAMi center, a large five-year long targeted research effort funded by National Research Foundation in the domain of software security. He is also the Lead Principal Investigator of the Singapore Cyber-security Consortium. He has served in various capacities in the program committees and organizing committees of various conferences on software engineering, specifically serving as Program Chair of ACM International Symposium on Software Testing and Analysis (ISSTA) 2016 and General Chair of ACM SIGSOFT Symposium on Foundations of Software Engineering (FSE) 2022. He is currently serving as an Editorial Board member of IEEE Transactions on Software Engineering (TSE).
Trustworthy Software and Automated Program Repair
Software controls many critical infra-structures and a variety of software analysis methods have been proposed to enhance the quality, reliability and security of software components. In this talk, we will first briefly mention the gamut of methods developed so far in software validation research – ranging from systematic testing, to analysis of program source code and binaries, to formal reasoning about software components. We will discuss the research on trustworthy software at NUS which make software vulnerability detection, localization and patching much more systematic, with the help of scalable semantic analysis. We will specifically explore research on futuristic programming environments which enable auto-patching of software vulnerabilities, with a focus on automatic program repair – where software errors get detected and fixed continuously. Apart from reducing the burden on programming, this research aims to realize the vision of self-healing software for autonomous cyber-physical systems.