The Programming Systems Laboratory (PSL) conducts research in software engineering, currently focusing primarily on static and dynamic program analysis techniques – often employing machine learning technologies – towards improving developer productivity, software reliability and computer security. We are also interested in collaboration technologies and “gameful” approaches to teaching computer science.
We are seeking MS and advanced undergraduate students for individual and team research and development projects. Preference is for students available to participate for multiple consecutive semesters, potentially including summer(s). Prerequisites (except as otherwise specified for particular projects): Excellent programming skills in Java, C/C++ and/or Python. 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. Most work will be conducted in the Programming Systems Lab, located in 6LE1 CEPSR; some work can be conducted remotely.
We particularly encourage students looking for an MS thesis or undergraduate thesis topic, and faculty sponsor / thesis advisor. These require a more substantial multi-semester effort. At present two projects have openings for new PhD students, with full GRA funding.
Specific projects seeking new students:
SEmantic Security bug detection with Pseudo-Oracles (SESPO): seeking MS/undergraduate project students. Students should be interested in security, software testing and program analysis.
Preponderance of the Evidence for SimilAr BEhavioR (SABER): seeking new PhD student as well as MS/undergraduate project students. Students should be interested in program understanding, program analysis, compilers and language runtime environments, software testing and machine learning, possibly also security since we may apply to behavioral similarities to vulnerability detection and identifying malware.
Toward Trustworthy MUtable RePLAY for Security Patches (MUPLAY): seeking new PhD student as well as MS/undergraduate project students. Students should be interested in compilers and language runtime environments, debuggers, program analysis, software testing, software reliability, security and systems (Linux kernel and JVM).
Gameful Computational Thinking: seeking undergraduate and graduate project students in Computer Science and related fields who are interested in investigating teaching and assessing computational thinking skills for 6-8th graders
Gameful Computational Thinking: seeking project students from Teachers College or with other background in K-12 education