Principal Investigators
Collaborators
Staff and Students
Additional Affiliates

Abhik Roychoudhury is a Provost's Chair Professor of Computer Science at the National University of Singapore, where he has been since 2001 after receiving his Ph.D. in Computer Science from the State University of New York at Stony Brook in 2000. He is the Director of the National Satellite of Excellence in Trustworthy Software Systems at Singapore (2019-23). He has previously led the TSUNAMi research center (2015-20), a large five-year long targeted research effort funded by National Research Foundation in the domain of trust-worthy software. He has also helped set up the Singapore Cyber-security Consortium (2016-22), which is a consortium of 25 companies in the cyber-security space engaging with academia for research and collaboration. Abhik's research focuses on software testing and analysis, software security and trust-worthy software construction. His research on automatically repairing programs at a large scale contributes to the vision of self-healing software. His research team is known for contributions to program repair, and fuzz testing.

Ilya Sergey is an Associate Professor at the School of Computing of National University of Singapore, where he leads the Verified Systems Engineering lab. He also holds a joint appointment at Yale-NUS College and is a lead language designer at Zilliqa, a Singapore FinTech start-up.
Ilya received his MSc from St Petersburg University and PhD from KU Leuven. Before joining NUS, he was a postdoctoral researcher at IMDEA Software Institute and a faculty at University College London. Prior to starting his academic career, he worked as a software developer at JetBrains.
Ilya does research in programming language design and implementation, software verification, distributed systems, program synthesis and repair. He is a recipient of distinguished paper awards at POPL and PLDI, the 2019 Dahl-Nygaard Junior Prize, the 2021 Yale-NUS Distinguished Researcher Award, and a Google Faculty Research Award.

Wei-Ngan Chin received the BSc and MSc degree in computer science from the University of Manchester and the PhD degree in computing from Imperial College, London. He is presently an associate professor with the Department of Computer Science, National University of Singapore. His research interests are in programming languages and software engineering. He has worked on various program analyses and verification techniques that are aimed at clarity, dependability, and reusability. His recent research topics include software dependability, resource bounds analysis for embedded systems, and OO genericity.

Satish Chandra is a researcher at Google, where he applies machine learning techniques to improve developer productivity. Prior to that, he has worked -- in reverse chronological order -- at Meta, Samsung Research, IBM Research, and Bell Laboratories. His work has spanned many areas of programming languages and software engineering, including program analysis, type systems, software synthesis, bug finding and repair, software testing and test automation, and web technologies. His research has been widely published in leading conferences in his field, including POPL, PLDI, ICSE, FSE and OOPSLA. The projects he has led have had significant industrial impact: in additional to his work on developer productivity at Facebook, his work on bug finding tools shipped in IBM's Java static analysis product, his work on test automation was adopted in IBM's testing services offering, and his work on memory profiling of web apps was included in Samsung's Tizen IDE.
Satish Chandra obtained a PhD from the University of Wisconsin-Madison, and a B.Tech from the Indian Institute of Technology-Kanpur, both in computer science. He is an ACM Distinguished Scientist and an elected member of WG 2.4.

Sumit Gulwani is a computer scientist connecting ideas, people, and research with practice. He is the inventor of many intent-understanding, programming-by-example, and programming-by-natural-language technologies including the popular Flash Fill feature in Excel used by hundreds of millions of people. He founded and currently leads the PROSE research and engineering team at Microsoft that develops APIs for program synthesis and has incorporated them into various Microsoft products including Office, Visual Studio, PowerQuery, PowerApps, Powershell, and SQL. He has co-authored 10 award-winning papers (including 3 test-of-time awards from ICSE and POPL) amongst 140+ research publications across multiple computer science areas and delivered 50+ keynotes/invited talks. He was awarded the Max Planck-Humboldt medal in 2021 and the ACM SIGPLAN Robin Milner Young Researcher Award in 2014 for his pioneering contributions to program synthesis and intelligent tutoring systems. He obtained his PhD in Computer Science from UC-Berkeley, and was awarded the ACM SIGPLAN Outstanding Doctoral Dissertation Award. He obtained his BTech in Computer Science and Engineering from IIT Kanpur, and was awarded the President’s Gold Medal.

Miryung Kim is a Full Professor in the Department of Computer Science at the University of California, Los Angeles. She received her B.S. in Computer Science from Korea Advanced Institute of Science and Technology in 2001 and her M.S. and Ph.D. in Computer Science and Engineering from the University of Washington under the supervision of Dr. David Notkin in 2003 and 2008 respectively. Between January 2009 and August 2014, she was an Assistant Professor in the Department of Electrical and Computer Engineering at the University of Texas at Austin. She joined UCLA as an Associate Professor with Tenure in 2014, and she was promoted to Full Professor in 2019. She also spent time as a visiting researcher at the Research in Software Engineering (RiSE) group at Microsoft Research in 2011 and 2014. As a side activity, she is passionate about improving diversity in computing and has created Mommy Computer Science Camp, which is designed to teach the basic concepts of Computer Science to 4 to 6 year old children using hands-on activities without using computers, featured in PC Magazine.

Nadia Polikarpova is an Assistant Professor in the Computer Science and Engineering Department at the University of California, San Diego. She is a member of the Programming Systems group. She completed her PhD in 2014 at ETH Zurich (Switzerland), under the supervision of Bertrand Meyer. After that, she spent some time as a postdoc at MIT CSAIL, where she worked with Armando Solar-Lezama. She is a 2020 Sloan Fellow and a recipient of the 2020 Intel Rising Stars Award and the 2020 NSF CAREER Award. Her research interests are in program synthesis, program verification, and type systems.

Martin C. Rinard is a professor in the Department of Electrical Engineering and Computer Science at the Massachusetts Institute of Technology, and a member of the Computer Science and Artificial Intelligence Laboratory.
Dr. Rinard received the Sc.B. in Computer Science, Magna cum Laude and with Honors, from Brown University in 1984. He spent the next several years working for two startup companies, Ikan Systems and Polygen Corporation. He then entered the Ph.D. program in Computer Science at Stanford University and received the Ph.D. in Computer Science from Stanford University in 1994. He joined the Computer Science Department at the University of California, Santa Barbara as an Assistant Professor in 1994, then moved to MIT as an Assistant Professor in 1997. He was promoted to Associate Professor in 2000, Associate Professor with tenure in 2002, and Professor in 2006.
Dr. Rinard's research focuses on software systems and related topics. The broad goal is to obtain better software - making software more robust, resilient, and secure, improving the performance, verifying that the software satisfies important correctness, acceptability, reliability, or accuracy properties, or making systems (both software and hardware) easier to specify, build, maintain, or improve.
Dr. Rinard is an ACM Fellow and has won multiple best and distinguished paper awards at top publication venues.

Asankhaya Sharma leads the Veracode operations in Singapore which now includes the engineering, services and sales teams. Before that, he led the Veracode engineering team for CA Technologies in Singapore. CA Technologies was acquired by Broadcom and Veracode was spun-off as an independent company. He was the Head of R&D at SourceClear and it was acquired by CA Technologies in April 2018.
Asankhaya Sharma did his graduate studies as a PhD student affiliated with the Programming Languages and Systems Lab at the School of Computing, NUS. He was supported by NUS Research Scholarship and his advisor was Prof. Chin Wei Ngan. His doctoral thesis was on Certified Reasoning for Automated Verification. At NUS, he co-founded Okyasoft and PyData Singapore.

Paddy Krishnan is a Research Director at Oracle Labs in Brisbane, Australia and leads the team. He has been with Oracle since Feb 2013. His current research interests are in the areas of software security, program analysis, and automatic test generation. At Oracle, Paddy has worked on detecting security vulnerabilities in the JDK, in Java-based web applications and in JavaScript-based client-side code. More recently he is exploring the expressive power of different models in the context of security monitoring. He is also interested in infrastructure-related security. He has also supervised student interns in the area of scalability and applicability of points-to analysis, verification of concurrent data-structures, using mutation testing to detect security issues, and security analysis of SDNs and microservices.
Prior to joining Oracle Labs he was an academic for over 20 years with some industrial research experience. He is a Senior Member of both the ACM and the IEEE.

Andreea Costea's primary research interests revolve around the programming language design and implementation. She is particularly interested in the area of software verification for critical code, program synthesis and repair. More specifically, she has been involved in a series of verification projects which target the memory safety of heap-manipulating programs.

Ridwan Shariffdeen's main research focus is on automated program repair, software security and software engineering automation. In particular, he contributed to the field of security patch transplantation and backporting in the context of the Linux Kernel project.

Yahui Song has been working on automated temporal verification for several domains, including reactive Systems, time-critical systems, and algebraic effects/handlers. Her recent research focuses and interests are temporal-property guided repair, formal verification, and logic.

Yuntong Zhang is a second-year PhD Student and Research Assistant in the Department of Computer Science at the School of Computing, National University of Singapore, advised by Prof. Abhik Roychoudhury.

Zhiyu Fan is a fourth-year PhD student in the Department of Computer Science at the School of Computing, National University of Singapore, advised by Prof. Abhik Roychoudhury. His research interests lie in the areas of automated program repair, large language models, with a focus on intelligent tutoring for programming education.

LI Wenhua is a third-year PhD student in the Department of Computer Science at the School of Computing, National University of Singapore. He is under the supervision of Prof. Wei-Ngan Chin. His research focuses on program logic, automated bug finding/verification and program repair.

Ruan Haifeng is a second-year PhD Student in the Department of Computer Science at the School of Computing, National University of Singapore, advised by Prof. Abhik Roychoudhury.

Ernest Guok is a second-year PhD Student in the Department of Computer Science at the School of Computing, National University of Singapore, advised by Prof. Wei-Ngan Chin. His current research focuses around verification of security protocols. Other research interests include security vulnerabilities identification/repair, data visualisation, human-computer interaction and computer graphics techniques.

Yu Liu is a third-year PhD Student in the Department of Computer Science at the School of Computing, National University of Singapore, advised by Prof. Abhik Roychoudhury, Prof. Sergey Mechtaev, and Prof. Emmanuel Letier.

Kiran Gopinathan is a fourth-year PhD Student in the Department of Computer Science at the School of Computing, National University of Singapore, advised by Prof. Ilya Sergey. The primary focus of Kiran's research is on techniques for scalable formal verification of programs in interactive theorem provers (such as Coq).

Martin Mirchev is a first-year PhD Student in the Department of Computer Science at the School of Computing, National University of Singapore, advised by Prof. Abhik Roychoudhury. His main research interest is static program analysis, automated program repair, and type systems.

Sung Yong Kim is a first-year Master Student in the Department of Computer Science at the School of Computing, National University of Singapore, advised by Prof. Abhik Roychoudhury. He is in the NUS French Double Degree Programme and his research interests are software security, automated program repair, and network security.

Gregory is a Research Assistant Professor at the National University of Singapore and currently serves as the Assistant Director of the National Satellite of Excellence in Trustworthy Software Systems (Singapore).
Previously, Gregory received his BSc (Mathematics), BEng (Software) and Phd (Computer Science) from the University of Melbourne. From 2011 Gregory works at the National University of Singapore.
Gregory's research interests include: systems, security, binary rewriting, programming languages, constraint programming, functional programming and rewrite systems.

Xiang Gao is a Pre-tenure Associate Professor at Beihang University. Before joining Beihang, he was a postdoc at National University of Singapore under the supervision of Abhik Roychoudhury. He has been a PhD student in the same group. He got his bachelor degree of Computer Science (Elite Class) from ShanDong University in 2016.
His research is focused on using program analysis, test generation and formal method to aid users in fixing software bugs and writing programs. He designs techniques to improve the quality of automatically generated programs.

Umair Z. Ahmed is a Research Fellow at the National University of Singapore with Dr. Ben Leong and Dr. Abhik Roychoudhury. He obtained his PhD from IIT-Kanpur in 2019, where he is supervised by Dr. Amey Karkare and Dr. Sumit Gulwani. His research interests include intelligent tutoring systems and automated program repair.

Yannic Noller is an Assistant Professor in the Information Systems Technology and Design (ISTD) pillar at Singapore University of Technology and Design (SUTD). Before joining SUTD in August 2023, Yannic was a Research Assistant Professor in the Department of Computer Science at the National University of Singapore (NUS), and served as the Assistant Director of the Ministry of Education (MoE) Tier 3 program on Automated Program Repair. He pursued his Ph.D. in Computer Science in the Software Engineering group (Prof. Lars Grunske) at the Humboldt-Universität zu Berlin, Germany.
Yannic's general research interests are automated software engineering, software testing, program repair, intelligent tutoring systems, and human-aspects in software engineering.