Open source software development is regarded as a collaborative activity in which developers interact to build a software product. Such a human collaboration is described as an organized effort of the "social" activity of organizations, individuals, and stakeholders, which can affect the development community and the open source project health. Negative effects of the development community manifest typically in the form of community smells, which represent symptoms of organizational and social issues within the open source software development community that often lead to additional project costs and reduced software quality. Recognizing the advantages of the early detection of potential community smells in a software project, we introduce a novel approach that learns from various community organizational, social, and emotional aspects to provide an automated support for detecting community smells. In particular, our approach learns from a set of interleaving organizationalsocial and emotional symptoms that characterize the existence of community smell instances in a software project. We build a multi-label learning model to detect 10 common types of community smells. We use the ensemble classifier chain (ECC) model that transforms multi-label problems into several single-label problems, which are solved using genetic programming (GP) to find the optimal detection rules for each smell type. To evaluate the performance of our approach, we conducted an empirical study on a benchmark of 143 open source projects. The statistical tests of our results show that our approach can detect community smells with an average Fmeasure of 93%, achieving a better performance compared to different state-of-theart techniques. Furthermore, we investigate the most influential community-related metrics to identify each community smell type.human factors in software engineering, software organization and properties
| INTRODUCTIONOpen source software (OSS) development is a collaborative activity in which developers interact between each other to develop and maintain a software system. 1,2 Nowadays, OSS is becoming an essential part in the software economy. The number of OSS projects and their size has been growing at exponential rate. 3 The success of OSS development leads to building sustainable software systems. 2,4,5 Unlike proprietary software, OSS projects can be developed and maintained by the whole community, providing more transparency on the source code, development processes, and technologies as well as developers communications. As there exist a substantial number of OSS projects, there is a continuous