On the Investigation of Domain-Sensitive Bad Smells in Information Systems - Almeida, Markos Viggiato de; Tavares, Cleiton Silva; Oliveira, Johnatan Alves de; Figueiredo, Eduardo Magno Lages (INFOCOMP Journal of Computer Science, 2017)
Bad smells are symptoms that something may be wrong in the information system design or source code. Although bad smells have been widely studied, we still lack an in-deep analysis about how they appear more or less frequently in specific information systems domains. The frequency of bad smells in a domain of information systems can be useful, for instance, to allow software developers to focus on the more relevant bad smells of a certain domain. Moreover, developers of new bad smell detection tools could take information about domains into consideration to improve the tool detection rates. In this paper, we investigate code smells more likely to appear in six specific information systems domains: accounting, e-commerce, health, games, dictionaries and restaurant. Our analysis relies on 88 information systems mined from GitHub. We identified bad smells with two detection tools, PMD and Checkstyle. Our findings suggest Comments is a domain-independent bad smell since it uniformly appears in all investigated domains. On the other hand, Large Class and Long Parameter List can be considered domain-sensitive bad smells since they appear more frequently in accounting and health systems, respectively. Although less frequent in general, Switch Statements also appear more in health systems than in other domains.