For this assignment, you will detect design patterns in a Java system of your choice. You can use the same system as in the previous assignment.
Start by obtaining design pattern results from the three tools discussed in class: Finder, Pinot, and SSA.
You can install PINOT locally by following the instructions here.
You can run SSA locally by getting this jar file.
Based on these results, you will have to perform the following tasks:
You are required to perform the above tasks for the following patterns: Adapter, Decorator, Observer, Strategy, and Template Method.
In the case that a given tool discovers a very large number of instances for a given pattern, you can produce a report of why you think this is happening rather than evaluate all instances. For FINDER, you can look at the rules for each pattern here. For other two tools, you can refer to the paper describing them: PINOT, SSA.
You must submit the following documents (the file name for each document is shown in parentheses):
You can submit by giving something like the following command:
submit 6431 DP DPDReport.pdf finder.out.txt pinot.out.txt ssa.out.txt