  Test smells are defined as sub-optimal design choices developers make when
implementing test cases. Hence, similar to code smells, the research community
has produced numerous test smell detection tools to investigate the impact of
test smells on the quality and maintenance of test suites. However, little is
known about the characteristics, type of smells, target language, and
availability of these published tools. In this paper, we provide a detailed
catalog of all known, peer-reviewed, test smell detection tools.
  We start with performing a comprehensive search of peer-reviewed scientific
publications to construct a catalog of 22 tools. Then, we perform a comparative
analysis to identify the smell types detected by each tool and other salient
features that include programming language, testing framework support,
detection strategy, and adoption, among others. From our findings, we discover
tools that detect test smells in Java, Scala, Smalltalk, and C++ test suites,
with Java support favored by most tools. These tools are available as
command-line and IDE plugins, among others. Our analysis also shows that most
tools overlap in detecting specific smell types, such as General Fixture.
Further, we encounter four types of techniques these tools utilize to detect
smells. We envision our study as a one-stop source for researchers and
practitioners in determining the tool appropriate for their needs. Our findings
also empower the community with information to guide future tool development.
