This page contains a copy of the source code of the benchmark applications used in the thesis:
Jiasi Shen. 2022. Program Inference and Regeneration via Active Learning. Ph.D. Thesis, Massachusetts Institute of Technology.
The zip file contains the following code repositories.
railscollab/
: RailsCollab Project ManagerOriginal Ruby on Rails application on Github: https://github.com/jamesu/railscollab
Git commit: 9f6c8c12c990e39411e060879589006bde086ace
kanban/
: Kanban Task ManagerOriginal Ruby on Rails application on Github: https://github.com/seanomlor/kanban
Git commit: 0660e77aa3734210d06aa2c8e0a444798e8eb862
todo/
: Todo Task ManagerOriginal Ruby on Rails application on Github: https://github.com/engineyard/todo
Git commit: af9bc2f6e95452c23e9cb2cdb25f8427a41f998c
fulcrum/
: Fulcrum Task ManagerOriginal Ruby on Rails application on Github: https://github.com/fulcrum-agile/fulcrum
Git commit: dd4e59ec24c6f45d018fd2436c01836a04b15fef
kandan/
: Kandan Chat RoomOriginal Ruby on Rails application on Github: https://github.com/kandanapp/kandan
Git commit: 380efafdf220fb7b14a097867a333b37d86e9c0b
enki/
: Enki Blogging ApplicationOriginal Ruby on Rails application on Github: https://github.com/xaviershay/enki
Git commit: e70af252596f4123761bf389d371fe1b73611b73
blog/
: BlogOriginal Ruby on Rails example application: https://guides.rubyonrails.org/getting_started.html
studentdb/
: Student RegistrationThis Java application was adapted from an earlier version of a program developed by the MITRE Corporation. The version was developed specifically for studying the detection and nullification of SQL injection attacks. In the test suite titled "IARPA STONESOUP Phase 1 - Injection for Java" (https://samate.nist.gov/SARD/testsuite.php), the version "TC_Java_89_m100" is the most similar to the program that we used and implements largely the same functionality.