Mining Design Rules: Creating a User Interface for Programmer-Computer Interaction


  • Taein Kim Aspiring Scientists’ Summer Internship Program Intern
  • Sahar Mehrpour Aspiring Scientists’ Summer Internship Program Co-mentor
  • Dr. Thomas LaToza Aspiring Scientists’ Summer Internship Program Primary Mentor



Programmers reusing functionality must follow a variety of design rules to ensure their code works correctly. An algorithm to mine design rules can identify potential rules from examples found in other code. This algorithm has been implemented as a plugin tool in IntelliJ, a popular development environment. Developers can use the tool to view suggested mined rules. This project aims to use a ranking algorithm in the user interface of the tool to order suggested design rules. Each time suggested design rules are requested, the search results are reordered. If a user accepts a suggested design rule, the user can then edit the design rule through the tool.





College of Engineering and Computing: Department of Computer Science