“…Fowler defined "bad code smells" (shortly, "code smells" or simply "smells") as "symptoms of the presence of poor design or implementation choices applied during the development of a software system" [35]. Starting from there, several researchers heavily investigated (i) how code smells evolve over time [84,86,91,119,120,121], (ii) the way developers perceive them [79,111,126], and (iii) what is their impact on non-functional attributes of source code [1,36,50,52,77,83,104,125]. All these studies came up with a shared conclusion: code smells negatively impact program comprehension, maintainability of source code, and development costs.…”