This will use the BOA language + other means (such as findbugs, STAN4J) to do analysis of each project and determine their quality.
It must interact with the 309 dashboard and show the results there.
Significant Specialized Domain Knowledge needed, Significant Back-end components, Significant algorithmic approaches needed
Java, Boa language, Python.
Period 1 (3 Weeks, ~ March 11th)
Analysis of the proportion of language use
Analyze the frequency of bugs in the project
Period 2 (3 Weeks, March 11th ~ April 1st)
Analyze the number and frequency of commit submitted by each person in each project
Analyze the total number of lines of code for each member, and the changes in the number of lines of code per commit
Period 3 (3 Weeks, April 1st ~ April 22nd)
Analyze how many methods have high rate of duplication in each project
Analyze the technique used of each projects(such as websockets, etc.)
Period 4 (3 Weeks, April 22nd ~ Final Presentation)
Analyze the design pattern of each 309 project(Such as modular design)
Analyze the quality of each projects based on data generated from previous functions