Poster: How Do Community Smells Influence Code Smells?

Code smells reflect sub-optimal patterns of code that often lead to critical software flaws or failure. In the same way, community smells reflect sub-optimal organisational and socio-technical patterns in the organisational structure of the software community. To understand the relation between the community smells and code smells we start by surveying 162 developers of nine open-source systems. Then we look deeper into this connection by conducting an empirical study of 117 releases from these systems. Our results indicate that community-related factors are intuitively perceived by most developers as causes of the persistence of code smells. Inspired by this observation we design a community-aware prediction model for code smells and show that it outperforms a model that does not consider community factors.

[1]  Gabriele Bavota,et al.  Mining Version Histories for Detecting Code Smells , 2015, IEEE Transactions on Software Engineering.

[2]  Gabriele Bavota,et al.  An experimental investigation on the innate relationship between quality and refactoring , 2015, J. Syst. Softw..

[3]  Massimiliano Di Penta,et al.  Combining Quantitative and Qualitative Studies in Empirical Software Engineering Research , 2017, 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C).

[4]  Alexander Serebrenik,et al.  Perceptions of Diversity on Git Hub: A User Survey , 2015, 2015 IEEE/ACM 8th International Workshop on Cooperative and Human Aspects of Software Engineering.

[5]  Philippe Kruchten,et al.  Social debt in software engineering: insights from industry , 2015, Journal of Internet Services and Applications.

[6]  Gabriele Bavota,et al.  The Impact of API Change- and Fault-Proneness on the User Ratings of Android Apps , 2015, IEEE Transactions on Software Engineering.

[7]  Rick Kazman,et al.  The Architect's Role in Community Shepherding , 2016, IEEE Software.

[8]  Mario Piattini,et al.  Problems and Solutions in Distributed Software Development: A Systematic Review , 2008, SEAFOOD.

[9]  Premkumar T. Devanbu,et al.  Gender and Tenure Diversity in GitHub Teams , 2015, CHI.

[10]  J. Ross Quinlan,et al.  Induction of Decision Trees , 1986, Machine Learning.

[11]  Andrea De Lucia,et al.  Detecting code smells using machine learning techniques: Are we there yet? , 2018, 2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER).

[12]  Elisabetta Di Nitto,et al.  When Software Architecture Leads to Social Debt , 2015, 2015 12th Working IEEE/IFIP Conference on Software Architecture.

[13]  Radu Marinescu,et al.  Assessing technical debt by identifying design flaws in software systems , 2012, IBM J. Res. Dev..

[14]  Yann-Gaël Guéhéneuc,et al.  Decor: a tool for the detection of design defects , 2007, ASE.

[15]  Shane McIntosh,et al.  An Empirical Comparison of Model Validation Techniques for Defect Prediction Models , 2017, IEEE Transactions on Software Engineering.

[16]  Kazi Sakib,et al.  Understanding the Evolution of Code Smells by Observing Code Smell Clusters , 2016, 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER).

[17]  Sven Apel,et al.  From Developer Networks to Verified Communities: A Fine-Grained Approach , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.