Exploring Pull Requests in Code Samples

  • Matheus Melo UFMS
  • Gabriel Menezes UFMS
  • Bruno Cafeo UFMS

Resumo


The interaction between organizations and their clients (actors) around a common platform can be studied as Software Ecosystem (SECO). Code samples are software projects made available by organizations to help their clients in the learning process of the features from their platforms. In this context, actors’ interactions are important to keep a healthy SECO. Pull requests can be a tool to facilitate these interactions. In this study, we explore the contributions of code sample clients through pull requests. In addition, we assess the distribution of review activity between code sample maintainers. As result, we found that majority of pull requests are reviewed and accepted. Also, accepted pull requests take less time to be reviewed. Finally, few maintainers are responsible to review them.

Palavras-chave: code samples, pull requests, software ecosystems

Referências

Jan Bosch. 2009. From software product lines to software ecosystems.. In SPLC, Vol. 9. 111-119.

Willian Marotzki Braga, Gabriel Menezes, Awdren Fontao, Andre Hora, and Bruno Cafeo. 2020. Quero lhe usar! Uma Análise do Público Alvo de Code Samples. In Anais do VIII Workshop de Visualização, Evolução e Manutenção de Software. 33-40.

Mozilla Corporation. 2022. Code example guidelines. https://developer.mozilla.org/en-US/docs/MDN/Guidelines/Code_guidelines.

Awdren Fontão, Bruno Ábia, Igor Wiese, Bernardo Estácio, Marcelo Quinta, Rodrigo Pereira dos Santos, and Arilo Claudio Dias-Neto. 2018. Supporting governance of mobile application developers from mining and analyzing technical questions in stack overflow. Journal of Software Engineering Research and Development 6, 1 (2018), 1-34.

Python Software Foundation. 2021. PyPI - The Python Package Index. https://pypi.org/

The Apache Software Foundation. 2021. Apache Maven Project. https://maven.apache.org/

Corrado Gini. 1912. Variabilita e mutabilita. Reprinted in Memorie di metodologica statistica (Ed. Pizetti E (1912).

Inc. GitHub. 2022. About pull requests. [link].

Google. [n.d.]. Android Samples. https://developer.android.com/samples

Google. [n.d.]. Google Maps Samples. https://developers.google.com/maps/documentation/javascript/examples/

Georgios Gousios, Martin Pinzger, and Arie van Deursen. 2014. An exploratory study of the pull-based software development model. In Proceedings of the 36th International Conference on Software Engineering. 345-355.

Andre Hora, Romain Robbes, Marco Tulio Valente, Nicolas Anquetil, Anne Etien, and Stephane Ducasse. 2018. How do Developers React to API Evolution? A Large-Scale Empirical Study. Software Quality Journal 26, 1 (2018), 161-191.

Slinger Jansen, Michael A Cusumano, and Sjaak Brinkkemper. 2013. Software ecosystems: analyzing and managing business networks in the software industry. Edward Elgar Publishing.

Dino Konstantopoulos, John Marien, Mike Pinkerton, and Eric Braude. 2009. Best principles in the design of shared software. In International Computer Software and Applications Conference. 287-292.

Thomas Kude, Thomas Huber, and Jens Dibbern. 2018. Successfully governing software ecosystems: Competence profiles of partnership managers. IEEE software 36, 3 (2018), 39-44.

Raula Gaikovina Kula, Daniel M. German, Ali Ouni, Takashi Ishio, and Katsuro Inoue. 2018. Do developers update their library dependencies? Empirical Software Engineering 23, 1 (2018), 384-417.

Max O Lorenz. 1905. Methods of measuring the concentration of wealth. Publications of the American statistical association 9, 70 (1905), 209-219.

Konstantinos Manikas. 2016. Revisiting software ecosystems research: A longitudinal literature study. Journal of Systems and Software 117 (2016), 84-103.

Konstantinos Manikas and Klaus Marius Hansen. 2013. Software ecosystems- A systematic literature review. Journal of Systems and Software 86, 5 (2013), 1294-1306.

Gabriel Menezes, Bruno Cafeo, and Andre Hora. 2019. Framework code samples: How are they maintained and used by developers?. In 2019 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM).

Gabriel Menezes, Bruno Cafeo, and Andre Hora. 2022. How are framework code samples maintained and used by developers? The case of Android and Spring Boot. Journal of Systems and Software 185 (2022), 111146.

Microsoft. [n.d.]. Microsoft Samples. https://code.msdn.microsoft.com

Daricélio Moreira Soares, Manoel Limeira de Lima Júnior, Leonardo Murta, and Alexandre Plastino. 2021. What factors influence the lifetime of pull requests? Software: Practice and Experience 51, 6 (2021), 1173-1193. https://doi.org/10.1002/spe.2946 arXiv: https://onlinelibrary.wiley.com/doi/pdf/10.1002/spe.2946

Simon Moser and Oscar Nierstrasz. 1996. The effect of object-oriented frameworks on developer productivity. Computer 29, 9 (1996).

Steven Raemaekers, Arie van Deursen, and Joost Visser. 2012. Measuring software library stability through historical version analysis. In International Conference on Software Maintenance. 378-387.

Martin P Robillard. 2009. What makes APIs hard to learn? Answers from developers. IEEE software 26, 6 (2009), 27-34.

Daricélio M Soares, Manoel L de Lima Júnior, Alexandre Plastino, and Leonardo Murta. 2018. What factors influence the reviewer assignment to pull requests? Information and Software Technology 98 (2018), 32-43.

Spring. [n.d.]. Spring Samples. https://spring.io/guides/

Spring. 2021. Oracle. https://www.oracle.com/technetwork/indexes/samplecode

Spring. 2022. Spring | Guides. https://spring.io/guides

Jeffrey Stylos and Brad A Myers. 2006. Mica: A web-search tool for finding api components and examples. In Visual Languages and Human-Centric Computing (VL/HCC'06). IEEE, 195-202.

Yuan Tian, Ferdian Thung, Abhishek Sharma, and David Lo. 2017. APIBot: question answering bot for API documentation. In 2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE). IEEE, 153-158.

Twitter. [n.d.]. Twitter Samples. http://twitterdev.github.io

Yue Yu, Huaimin Wang, Vladimir Filkov, Premkumar Devanbu, and Bogdan Vasilescu. 2015. Wait for it: Determinants of pull request evaluation latency on github. In 2015 IEEE/ACM 12th working conference on mining software repositories. IEEE, 367-371.

Zixiao Zhu, Chenyan Hua, Yanzhen Zou, Bing Xie, and Junfeng Zhao. 2017. Automatically generating task-oriented api learning guide. In Proceedings of the 9th Asia-Pacific Symposium on Internetware. 1-10.
Publicado
03/10/2022
MELO, Matheus; MENEZES, Gabriel; CAFEO, Bruno. Exploring Pull Requests in Code Samples. In: WORKSHOP DE VISUALIZAÇÃO, EVOLUÇÃO E MANUTENÇÃO DE SOFTWARE (VEM), 10. , 2022, Online. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2022 . p. 36-40. DOI: https://doi.org/10.5753/vem.2022.226789.