An approach to detect false design patterns
Natan da Silva Severo, Ricardo Job · 2019
A false design pattern occurs when software vocabularies indicate the existence of a design pattern, but it is not implemented. Occurrences of false design patterns may make it difficult to understand, maintain, and evolve software. In this context, we present an approach to detect false patterns of projects implemented in the Java language. We evaluated this solution in eighteen open source projects and through three research questions, we identified 435 indications of false design patterns. Of these, we detected a set of 202 real occurrences of false design patterns. In one of the evaluated projects we achieved an accuracy of approximately 81%. In addition, it was possible to relate the false standards to some software metrics. Identifying these occurrences enables better communication and understanding of the code.