Using PageRank to Reveal Relevant Issues to Support Decision-Making on Open Source Projects

Software release planning is crucial to software projects that adopt incremental development. Open source projects depend on their globally distributed maintainers’ communities who share project information, usually described in the software project repository as issues, to plan the contents and timing of the next releases. This paper introduces an approach based on software issues to support decision-making regarding open source software development activities such as release planning and retrospectives. It uses the PageRank algorithm to suggest an importance ranking of the software issues based on the issues dependencies topology. When based on a highly connected topology, project leaders can use this rank as an input to planning activities. The observation of two open source projects indicates the feasibility of our approach.

[1]  Danny Ho,et al.  Software Analytics to Software Practice: A Systematic Literature Review , 2015, 2015 IEEE/ACM 1st International Workshop on Big Data Software Engineering.

[2]  Grady Booch,et al.  Collaborative Development Environments , 2003, Adv. Comput..

[3]  Rajeev Motwani,et al.  The PageRank Citation Ranking : Bringing Order to the Web , 1999, WWW 1999.

[4]  Patrick Madden,et al.  Circular Layout in the Graph Layout Toolkit , 1996, GD.

[5]  Sergey Brin,et al.  Reprint of: The anatomy of a large-scale hypertextual web search engine , 2012, Comput. Networks.

[6]  Jesús M. González-Barahona,et al.  Estimating development effort in Free/Open source software projects by mining software repositories: a case study of OpenStack , 2014, MSR 2014.

[7]  Marco Aurélio Gerosa,et al.  Preliminary Empirical Identification of Barriers Faced by Newcomers to Open Source Software Projects , 2014, 2014 Brazilian Symposium on Software Engineering.

[8]  Brendan Murphy,et al.  CODEMINE: Building a Software Development Data Analytics Platform at Microsoft , 2013, IEEE Software.

[9]  John D. Hunter,et al.  Matplotlib: A 2D Graphics Environment , 2007, Computing in Science & Engineering.

[10]  Aric Hagberg,et al.  Exploring Network Structure, Dynamics, and Function using NetworkX , 2008, Proceedings of the Python in Science Conference.

[11]  Michael W. Godfrey,et al.  Developer Dashboards: The Need for Qualitative Analytics , 2013, IEEE Software.

[12]  Antonio Soares de Azevedo Terceiro,et al.  Brazilian Public Software Portal: an integrated platform for collaborative development , 2017, OpenSym.

[13]  Tao Zhang,et al.  PRST: A PageRank-Based Summarization Technique for Summarizing Bug Reports with Duplicates , 2017, Int. J. Softw. Eng. Knowl. Eng..

[14]  Marco Tulio Valente,et al.  Predicting the Popularity of GitHub Repositories , 2016, PROMISE.