Supporting newcomers in software development projects

The recent and fast expansion of OSS (Open-source software) communities has fostered research on how open source projects evolve and how their communities interact. Several research studies show that the inflow of new developers plays an important role in the longevity and the success of OSS projects. Beside that they also discovered that an high percentage of newcomers tend to leave the project because of the socio-technical barriers they meet when they join the project. However, such research effort did not generate yet concrete results in support retention and training of project newcomers. In this thesis dissertation we investigated problems arising when newcomers join software projects, and possible solutions to support them. Specifically, we studied (i) how newcomers behave during development activities and how they interact with others developers with the aim at (ii) developing tools and/or techniques for supporting them during the integration in the development team. Thus, among the various recommenders, we defined (i) a tool able to suggest appropriate mentors to newcomers during the training stage; then, with the aim at supporting newcomers during program comprehension we defined other two recommenders: A tool that (ii) generates high quality source code summaries and another tool able to (iii) provide descriptions of specific source code elements. For future work, we plan to improve the proposed recommenders and to integrate other kind of recommenders to better support newcomers in OSS projects.

[1]  Gabriele Bavota,et al.  How Developers' Collaborations Identified from Different Sources Tell Us about Code Changes , 2014, 2014 IEEE International Conference on Software Maintenance and Evolution.

[2]  Giuliano Antoniol,et al.  Would static analysis tools help developers with code reviews? , 2015, 2015 IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER).

[3]  Andrea De Lucia,et al.  Using IR methods for labeling source code artifacts: Is it worthwhile? , 2012, 2012 20th IEEE International Conference on Program Comprehension (ICPC).

[4]  Gerardo Canfora,et al.  How the evolution of emerging collaborations relates to code changes: an empirical study , 2014, ICPC 2014.

[5]  Gabriele Bavota,et al.  Recommending refactorings based on team co-maintenance patterns , 2014, ASE.

[6]  Andrea De Lucia,et al.  Labeling source code with information retrieval methods: an empirical study , 2013, Empirical Software Engineering.

[7]  Harald C. Gall,et al.  How can i improve my app? Classifying user reviews for software maintenance and evolution , 2015, 2015 IEEE International Conference on Software Maintenance and Evolution (ICSME).

[8]  Marco Aurélio Gerosa,et al.  The hard life of open source software project newcomers , 2014, CHASE.

[9]  Rachel K. E. Bellamy,et al.  Moving into a new software project landscape , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[10]  Andrew Begel,et al.  Global Software Development: Who Does It? , 2008, 2008 IEEE International Conference on Global Software Engineering.

[11]  Gabriele Bavota,et al.  The Evolution of Project Inter-dependencies in a Software Ecosystem: The Case of Apache , 2013, 2013 IEEE International Conference on Software Maintenance.

[12]  Harald C. Gall,et al.  Development Emails Content Analyzer: Intention Mining in Developer Discussions (T) , 2015, 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[13]  A. Mockus,et al.  Does the initial environment impact the future of developers , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[14]  Gabriele Bavota,et al.  How the Apache community upgrades dependencies: an evolutionary study , 2014, Empirical Software Engineering.

[15]  Sandeep Krishnamurthy,et al.  On the intrinsic and extrinsic motivation of free/libre/open source (FLOSS) developers , 2006 .

[16]  Gerardo Canfora,et al.  Mining source code descriptions from developer communications , 2012, 2012 20th IEEE International Conference on Program Comprehension (ICPC).

[17]  Marco Aurélio Gerosa,et al.  How to Support Newcomers Onboarding to Open Source Software Projects , 2014, OSS.

[18]  Gerardo Canfora,et al.  CODES: mining source code descriptions from developers discussions , 2014, ICPC 2014.

[19]  Fabian Fagerholm,et al.  The role of mentoring and project characteristics for onboarding in open source software projects , 2014, ESEM '14.

[20]  Gerardo Canfora,et al.  Who is going to mentor newcomers in open source projects? , 2012, SIGSOFT FSE.

[21]  R. Kraut,et al.  Dealing with Newcomers , 2010 .

[22]  Alexander Hars,et al.  Working for Free? Motivations for Participating in Open-Source Projects , 2002, Int. J. Electron. Commer..

[23]  Marco Aurélio Gerosa,et al.  Why do newcomers abandon open source software projects? , 2013, 2013 6th International Workshop on Cooperative and Human Aspects of Software Engineering (CHASE).

[24]  Reid Holmes,et al.  Do Onboarding Programs Work? , 2015, 2015 IEEE/ACM 12th Working Conference on Mining Software Repositories.

[25]  Gerardo Canfora,et al.  YODA: Young and newcOmer Developer Assistant , 2013, 2013 35th International Conference on Software Engineering (ICSE).