A Snapshot of OpenMP Projects on GitHub

Resumo


This paper presents a mapping of the use of the OpenMP API in open-source projects hosted on GitHub. A case study collected data on using OpenMP directives following a mining process in repositories developed in C and C++ with OpenMP. The study analyzed the use of OpenMP resources to support critical sections and exploit data parallelism. The analysis reveals usage patterns of such resources that limit the parallelization potential obtainable with this programming tool. The results contribute to understanding how the community uses this tool and provide insights for developing better practices and tools to support the use of OpenMP and improve the teaching of parallel processing. All software artifacts developed for this study are available to foster reproducibility and further research.
Palavras-chave: OpenMP, Parallel Programming, Minning Software Repositories, GitHub, Reprodutibility

Referências

Sumon Biswas, Md Johirul Islam, Yijia Huang, and Hridesh Rajan. 2019. Boa Meets Python: A Boa Dataset of Data Science Software in Python Language. In 2019 IEEE/ACM 16th International Conference on Mining Software Repositories (MSR). 577–581. DOI: 10.1109/MSR.2019.00086

OpenMP Architecture Review Board. 2021. OpenMP Application Programming Interface Specification 5.2. [link]

Hudson Borges and Marco Tulio Valente. 2018. What’s in a GitHub Star? Understanding Repository Starring Practices in a Social Coding Platform. Journal of Systems and Software 146 (2018), 112–129. DOI: 10.1016/j.jss.2018.09.016

Hudson Silva Borges, André C. Hora, and Marco Túlio Valente. 2016. Understanding the Factors That Impact the Popularity of GitHub Repositories. 2016 IEEE International Conference on Software Maintenance and Evolution (ICSME) (2016), 334–344. [link]

Rohit Chandra, Leonardo Dagum, Dave Kohr, Dror Maydan, Jeff McDonald, and Ramesh Menon. 2001. Parallel Programming in OpenMP. (2001).

Mário André de F. Farias, Renato Novais, Methanias Colaço Júnior, Luís Paulo da Silva Carvalho, Manoel Mendonça, and Rodrigo Oliveira Spínola. 2016. A Systematic Mapping Study on Mining Software Repositories. In Proceedings of the 31st Annual ACM Symposium on Applied Computing (Pisa, Italy) (SAC ’16). Association for Computing Machinery, New York, NY, USA, 1472–1479. DOI: 10.1145/2851613.2851786

Christoph Gote, Ingo Scholtes, and Frank Schweitzer. 2019. git2net - Mining Time-Stamped Co-Editing Networks from Large git Repositories. In 2019 IEEE/ACM16th International Conference on Mining Software Repositories (MSR). 433–444. DOI: 10.1109/MSR.2019.00070

Victor A. Luzgin and Ivan I. Kholod. 2020. Overview of Mining Software Repositories. In 2020 IEEE Conference of Russian Young Researchers in Electrical and Electronic Engineering (EIConRus). 400–404. DOI: 10.1109/EIConRus49466.2020.9039225

Nuthan Munaiah, Steven Kroh, Craig Cabrey, and Meiyappan Nagappan. 2017. Curating GitHub for engineered software projects. Empirical Software Engineering 22 (2017). DOI: 10.1007/s10664-017-9512-6

PyGithub. 2023. PyGithub documentation. [link] Disponível em [link], versão v3.

Rajendra K. Raj, Carol J. Romanowski, John Impagliazzo, Sherif G. Aly, Brett A. Becker, Juan Chen, Sheikh Ghafoor, Nasser Giacaman, Steven I. Gordon, Cruz Izu, Shahram Rahimi, Michael P. Robson, and Neena Thota. 2020. High Performance Computing Education: Current Challenges and Future Directions. In Proceedings of the Working Group Reports on Innovation and Technology in Computer Science Education (Trondheim, Norway) (ITiCSE-WGR ’20). Association for Computing Machinery, New York, NY, USA, 51–74. DOI: 10.1145/3437800.3439203

Simone Romano, Maria Caulo, Matteo Buompastore, Leonardo Guerra, Anas Mounsif, Michele Telesca, Maria Teresa Baldassarre, and Giuseppe Scanniello. 2021. G-Repo: a Tool to Support MSR Studies on GitHub. In 2021 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER). 551–555. DOI: 10.1109/SANER50967.2021.00064

Xin Yang, Raula Gaikovina Kula, Norihiro Yoshida, and Hajimu Iida. 2016. Mining the modern code review repositories: a dataset of people, process and product. In Proceedings of the 13th International Conference on Mining Software Repositories (Austin, Texas) (MSR ’16). Association for Computing Machinery, New York, NY, USA, 460–463. DOI: 10.1145/2901739.2903504
Publicado
30/09/2024
QUEVEDO, Cristian Carvalho; OLIVEIRA JR., Marcos Antonio de; DU BOIS, André Rauber; CAVALHEIRO, Gerson Geraldo H.. A Snapshot of OpenMP Projects on GitHub. In: SIMPÓSIO BRASILEIRO DE LINGUAGENS DE PROGRAMAÇÃO (SBLP), 28. , 2024, Curitiba/PR. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2024 . p. 102-105.