Data-driven Program Repair and Completion

  • Syntax errors in programs are easy to catch. However, fixing logic errors in programs is difficult. Programmers usually have to spend much more time on debugging. In this project, Given a large code database, our task is to use the good programs in a large code database to repair an incorrect program or complete a partial program. This project is under Pliny.

Completed Projects

Peer Evaluation Ranking System

  • In the context of Massive Open Online Course MOOC, one way to grade programs is peer evaluation. However, some people might give low-quality evaluations which might not be helpful at all and students have been aware of this problem. Therefore, we developped a web application where thousands of students can give feedback to peer evaluations. Our goal here is to study whether giving feedback can improve the quality of peer evaluation.

Program Autograder

  • Given a large set of programs with grades in the context of Massive Open Online Course, our goal here is to learn to give grades to a new program automatically using statistical methods and program analysis techniques

Movie Recommender System

  • Given a matrix of 6040 users by 3187 movies with 95.8% of the possible ratings missing, our task is to predict all the ratings
  • This project is for STAT 640 course in the form of a data mining competition on Kaggle.