Project Student Advertisements


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 […]


The Programming Systems Laboratory (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 MS and advanced undergraduate students for individual and team research and development projects. Preference is for students interested in participating for multiple consecutive semesters, potentially including summer(s).  Prerequisites (except as otherwise specified for particular projects): Excellent Java programming skills, Python and C/C++ a plus. Time commitment approximately 12 hours per week for a 3-point project. However, projects are graded based on results rather than effort, so prospective project students must have strong time management and organizational skills. Unless specified otherwise for the particular project, most work will be conducted in the Programming Systems Lab, located in 6LE1 CEPSR; some work can be conducted remotely.

Specific projects seeking new students:

Mutable Replay

Dynamic Code Similarity

Gameful Computational Thinking


ONLY the mutable replay project has funding to admit new PhD students. All three projects can take undergraduate and MS students working for academic credit.