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

Aug 03

Martin Mirchev joins as a PhD student and Sung Yong Kim joins as part of the French Double Degree program (FDDP). Welcome Martin and Sung!

Jul 20
Jul 18

Vladimir Gladstein joins VERSE lab as a PhD student. Welcome, Vladimir!

Jul 01

A paper on random testing of Scilla interpreter and compiler with QuickChick will appear at ICFP’22.

Jun 20

A paper on Hippodrome , a new tool for automated repair of concurrent data races, built on top of Infer Static Analyser, will appear at ACM Transactions on Software Engineering and Methodology.

Projects

AFLFast
An improved Greybox Fuzz testing tool built on AFL
AFLGo
A directed Greybox Fuzz testing tool built on AFL
AFLNet
A greybox fuzzer for network protocols
AFLSmart
Input-structure aware greybox fuzzing
Angelix
Semantic Program Repair tool (ICSE 2016)
CPR
Concolic Program Repair tool (PLDI 2021)
Ceramist
Verified hash-based approximate membership structures.
Chronos
Worst-case Execution Time (WCET) Analysis for C programs
CoreBench
A set of benchmarks containing realistic regression errors, as opposed to seeded errors
DiSeL
Mechanised Separation Logic for Compositional Verification of Distributed Protocols.
FixMorph
Automated repair of Linux code (ISSTA 2021)
KLEESpectre
A checker for Spectre vulnerabilities in programs using symbolic execution
Scilla
A functional language for safe smart contracts.
SemFix
First semantic program repair tool (ICSE 2013)
SuSLik
Synthesis of Heap-Manipulating Programs from Separation Logic specifications.
TimeMachine
Android app fuzz testing tool
Toychain
A Coq implementation of a minimalistic blockchain-based consensus protocol.
VulnLoc
Vulnerability Localization in program binaries using fuzz testing (AsiaCCS 2021)
ego
An OCaml library that provides generic equality saturation using EGraphs.
oo7
A checker for Spectre vulnerabilities in programs using taint analysis

Seminars

Get in touch with Umang Mathur if you want to give a talk, and drop a line to Ilya Sergey to be included into the mailing list with the seminar announcements.

28/04/2022

CHRusty - Translating C to Safer Rust

21/04/2022, 10:30am

Using Formal Methods to Analyze Modern Payment Protocols

18/04/2022

A Short Introduction to Termination Analysis of Probabilistic Programs

People

Faculty

Umang Mathur
Umang Mathur
Manuel Rigger
Manuel Rigger
Abhik Roychoudhury
Abhik Roychoudhury
Ilya Sergey
Ilya Sergey

Research Staff

Andreea Costea
Andreea Costea
Gregory J. Duck
Gregory J. Duck
Yannic Noller
Yannic Noller
Ridwan Shariffdeen
Ridwan Shariffdeen

Graduate Students

Zhendong Ang
Zhendong Ang
Jinsheng Ba
Jinsheng Ba
Zhiyu Fan
Zhiyu Fan
Vladimir Gladstein
Vladimir Gladstein
Kiran Gopinathan
Kiran Gopinathan
Tram Hoang
Tram Hoang
Yunjeong Lee
Yunjeong Lee
Ruijie Meng
Ruijie Meng
Martin Mirchev
Martin Mirchev
George Pîrlea
George Pîrlea
Haifeng Ruan
Haifeng Ruan
Dylan Wolff
Dylan Wolff
Ziyi Yang
Ziyi Yang
Liu Yu
Liu Yu
Yuntong Zhang
Yuntong Zhang
Suyang Zhong
Suyang Zhong

Undegraduates

Christopher Goh Zhen Fung
Christopher Goh Zhen Fung
Zhenxin Huang
Zhenxin Huang
Mayank Keoliya
Mayank Keoliya
Eris Jacey Masagaca
Eris Jacey Masagaca
Ethan Noah Rozario
Ethan Noah Rozario
Wong Kok Rui
Wong Kok Rui

Past Members

Groups