About

PLSE@NUS is the Programming Languages and Software Engineering lab at School of Computing, National University of Singapore. We’re steadfast to the mission of creating trustworthy systems by advancing the state of the art in key research areas such as analysis and bug detection, formal verification, program synthesis, specification inference, automated program repair, software testing, concurrency and distributed systems.

News

Nov 30

We are excited to organise the first Singapore PL Summit , which will take place on December 4, 2024!

Jun 08

Four papers from the PLSE lab [ 1, 2, 3, 4 ] will be presented at PLDI'23 in Orlando, FL on June 17-21, 2023.

Jan 12

Abhik Roychoudhury 's paper titled "SemFix: Program Repair via Semantic Analysis" published in ICSE 2013 received ICSE 2023 Most Influential Paper Award .

Jan 10

Qiyuan Zhao joins NUS as a PhD Student. Welcome Qiyuan!

Seminars

Get in touch with Manuel Rigger or Umang Mathur if you want to give a talk.

May 12

Addressing the Saturation Effect in Compiler Testing

Apr 28

ICSE 2023 Dry Runs

Apr 21

Synthesising Recursive Functions for First-Order Model Counting

People

Faculty

Michael Adams
Michael Adams
Wei Ngan Chin
Wei Ngan Chin
Olivier Danvy
Olivier Danvy
Jin Song Dong
Jin Song Dong
Martin Henz
Martin Henz
Joxan Jaffar
Joxan Jaffar
Siau Cheng Khoo
Siau Cheng Khoo
Umang Mathur
Umang Mathur
Manuel Rigger
Manuel Rigger
Abhik Roychoudhury
Abhik Roychoudhury
Ilya Sergey
Ilya Sergey
Roland Yap
Roland Yap

Visiting and Adjunct Faculty

Matthew Flatt
Matthew Flatt
Kuldeep S. Meel
Kuldeep S. Meel

Research Staff

Gregory J. Duck
Gregory J. Duck
Liu Ruofan
Liu Ruofan
Ridwan Shariffdeen
Ridwan Shariffdeen
Yahui Song
Yahui Song

Graduate Students

Zhendong Ang
Zhendong Ang
Darius Foo
Darius Foo
Vladimir Gladshtein
Vladimir Gladshtein
Kiran Gopinathan
Kiran Gopinathan
Rajdeep Singh Hundal
Rajdeep Singh Hundal
Ali El Husseini
Ali El Husseini
Mohimenul Kabir
Mohimenul Kabir
Yunjeong Lee
Yunjeong Lee
Yuxi Ling
Yuxi Ling
Ruijie Meng
Ruijie Meng
Martin Mirchev
Martin Mirchev
Zhanzhong Pang
Zhanzhong Pang
Yash Pote
Yash Pote
George Pîrlea
George Pîrlea
Haifeng Ruan
Haifeng Ruan
Arijit Shaw
Arijit Shaw
Changsheng Sun
Changsheng Sun
Grace Tan
Grace Tan
Dylan Wolff
Dylan Wolff
Xianglin Yang
Xianglin Yang
Ziyi Yang
Ziyi Yang
Suwei Yang
Suwei Yang
Jiong Yang
Jiong Yang
Liu Yu
Liu Yu
Yuntong Zhang
Yuntong Zhang
Huan Zhao
Huan Zhao
Qiyuan Zhao
Qiyuan Zhao
Liu Zhaoyu
Liu Zhaoyu
Shi Zheng
Shi Zheng
Suyang Zhong
Suyang Zhong

Undergraduates

Christopher Goh Zhen Fung
Christopher Goh Zhen Fung
Zhenxin Huang
Zhenxin Huang
Eris Jacey Masagaca
Eris Jacey Masagaca
Ethan Noah Rozario
Ethan Noah Rozario
Wong Kok Rui
Wong Kok Rui
Pan Yudai
Pan Yudai
Albert Tongjun Zhang
Albert Tongjun Zhang

Past Members

Projects

An improved Greybox Fuzz testing tool built on AFL
A directed Greybox Fuzz testing tool built on AFL
A greybox fuzzer for network protocols
Input-structure aware greybox fuzzing
Semantic Program Repair tool
Concolic Program Repair tool
Verified hash-based approximate membership structures
Worst-case Execution Time (WCET) Analysis for C programs
A set of benchmarks containing realistic regression errors
A framework for verification of distributed protocols in Coq
Automated repair of Linux code
A checker for Spectre vulnerabilities in programs using symbolic execution
Synthesis of Rust programs from types and lightweight specifications
A tool to automatically detect Logic Bugs in DBMS
A functional language for safe smart contracts
First semantic program repair tool
Mostly automated proof repair for verified OCaml functions
Synthesis of Heap-Manipulating Programs from Separation Logic specifications
Android app fuzz testing tool
A Coq implementation of a minimalistic blockchain-based consensus protocol
Vulnerability Localization in program binaries using fuzz testing
ego
An OCaml library that provides generic equality saturation using EGraphs
oo7
A checker for Spectre vulnerabilities in programs using taint analysis

Groups