All student projects

Upgrade Design Pattern Detector and Quality Assessment

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 [1].

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 [1]. Spoon-PttGrime calculates six metrics for measuring class, modular and organizational grime; for more details, see Section III.C, step 3 in [1].

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.


  • [1] Daniel Feitosa, Apostolos Ampatzoglou, Paris Avgeriou, and Elisa Y Nakagawa. 2018. Correlating Pattern Grime and Quality Attributes. In IEEE Access, vol. 6, pp. 23065-23078.


Dr. Daniel Feitosa

Dr. Daniel Feitosa

assistant professor