The Programming Systems Lab


Gail Kaiser, Director

PSL conducts research at the boundary of software engineering and software systems, focusing on program analysis and software testing, software reliability, privacy and security, and social software engineering, often using data mining and machine learning techniques.

We are seeking one or two new PhD students specifically for the mutable replay project. We are also seeking new undergraduate and MS students for all the active projects, see the advertisements.



Students Meeting in PSL

PSL at work


2016-09-01 15.16.28

Summer Intern

Active Projects »

Gameful Computational Thinking

Inspired by CS for All?  Eager to contribute?  The Programming Systems Lab, led by Professor Gail Kaiser, is building a collaborative game-based learning and assessment system that infuses computational thinking in grade 6-8 curricula.  Near-term projects involve: Tooling Scratch with additional game design features Expanding a visual assessment language and authoring environment based in Blockly […]


Toward Trustworthy Mutable Replay for Security Patches

Society is increasingly reliant on software, but deployed software contains security vulnerabilities and other bugs that can threaten privacy, property and even human lives. When a security vulnerability or other severe defect is discovered, a software patch is issued to attempt to fix the problem – but patches themselves can be incorrect, inadequate, and break mission-critical […]


Dynamic Code Similarity

“Code clones” are statically similar code fragments dispersed via copy/paste or independently writing lookalike code; best practice removes clones (refactoring) or tracks them (e.g., to ensure bugs fixed in one clone are also fixed in others). We instead study dynamically similar code, for two different similarity models. One model is functional similarity, finding code fragments […]