  Automated filtering of toxic conversations may help an Open-source software
(OSS) community to maintain healthy interactions among the project
participants. Although, several general purpose tools exist to identify toxic
contents, those may incorrectly flag some words commonly used in the Software
Engineering (SE) context as toxic (e.g., 'junk', 'kill', and 'dump') and vice
versa. To encounter this challenge, an SE specific tool has been proposed by
the CMU Strudel Lab (referred as the `STRUDEL' hereinafter) by combining the
output of the Perspective API with the output from a customized version of the
Stanford's Politeness detector tool. However, since STRUDEL's evaluation was
very limited with only 654 SE text, its practical applicability is unclear.
Therefore, this study aims to empirically evaluate the Strudel tool as well as
four state-of-the-art general purpose toxicity detectors on a large scale SE
dataset. On this goal, we empirically developed a rubric to manually label
toxic SE interactions. Using this rubric, we manually labeled a dataset of
6,533 code review comments and 4,140 Gitter messages. The results of our
analyses suggest significant degradation of all tools' performances on our
datasets. Those degradations were significantly higher on our dataset of formal
SE communication such as code review than on our dataset of informal
communication such as Gitter messages. Two of the models from our study showed
significant performance improvements during 10-fold cross validations after we
retrained those on our SE datasets. Based on our manual investigations of the
incorrectly classified text, we have identified several recommendations for
developing an SE specific toxicity detector.
