The GoF (Gang-of-Four) design patterns (e.g., observer, command) are widely adopted in the industry as best practices and have well-investigated effects on software quality. However, not all instances of the same pattern are implemented equally. Deviations from the intended pattern structure (i.e., a buildup of elements such as classes unrelated to the pattern structure) are called pattern grime (or pollution). Among other side-effects, there is a correlation between the accumulation of grime and decreased levels of performance, security, and correctness of source code .
The SEARCH group has built two tools to support the measurement of pattern grime: SSAP and Spoon-PttGrime. SSAP is combined with the Design Pattern Detector (DPD) to extract pattern-participating classes (e.g., concrete commands of a command pattern); for more details, see Section III.C, step 2 in . Spoon-PttGrime calculates six metrics for measuring class, modular and organizational grime; for more details, see Section III.C, step 3 in .
This project entails the refactoring and upgrade (incl. dependencies’ update and small bug fixes) of both SSAP and Spoon-PttGrime. It can be taken as one or two Short Programming Projects (SPP) (depending on the level of refactoring), or a master’s intership.