Abstract
Social norms prescribe behaviours that are expected to be followed or avoided in communities. Politeness is one such norm which is not only expected during physical interactions in human societies, but also during digital interactions in online communities. Online Software Engineering (SE) communities such as
Stack Overflow have become an indispensable part of learning computer programming and technical problem solving for professionals and students alike. However, practitioners have reported that some SE communities have become unwelcoming and hostile spaces, as evidenced through the presence of rude and offensive comments. These comments that violate the politeness norm of the community are detrimental to the emotional well-being of individuals participating in these communities. Politeness norm violations may elicit sanctions from the community. For example, impolite comments on Stack Overflow elicit sanctions such as downvoting or being flagged for a moderator’s scrutiny. However, the large number of comments that are posted on a day-to-day basis cannot be effectively monitored by humans. While some communities have employed automated systems that monitor the presence of offensive comments, these are not as effective at detecting nuanced offensive language, and as a result, a considerable number of norm-violating posts still enter the discussion space. Thus, the main objective of this thesis is to investigate the nature and prevalence of politeness norm violations in online SE communities, and develop approaches to classify them with the ultimate goal of reducing such violations entering the online discussion space.
For this purpose, this thesis considers user comments on discussions held in four prominent SE platforms: Stack Overflow, GitHub, Gitter and Slack. To reduce politeness norm violations, this thesis proposes and develops a prototype implementation of an Offensive Language Reduction System (OLRS), a decision support system that has the ability to detect, classify and reduce offensive language in SE communities. A
comment posted by a user when presented to this system identifies and classifies the offence, and
paraphrases the offensive comments into less offensive or non-offensive ones, which are provided as
recommendations to the user for their consideration. OLRS implements an offence classification taxonomy developed in this thesis that identifies the type, target and specific nature of offensive comments. This thesis implements six sets of machine learning models to implement various functionalities of the system
(e.g., offence classification), using a mix of well-known traditional and deep learning approaches within each set. The best performing model within each set is then selected to be included the in OLRS. The OLRS is thus an integration of several machine learning models.
The OLRS implemented as a web-based tool was evaluated in a pilot study involving 13 participants (SE students, staff and practitioners) for its usefulness and usability. Our results show that the system has the potential to reduce offensive language in SE communities, and the need for manual moderation efforts to
detect such offences. Thus, we believe our system can be helpful in making the SE communities more welcoming for all participants.