Adoption of Best Practices and Continuous Integration in GitHub Repositories with Functional Languages
Abstract
Functional programming languages, such as Haskell, Elixir, and F#, have gained prominence in both academic and industrial contexts for enabling concise, composable, and parallelizable code. Although their adoption in open-source projects has increased, little is known about how well these projects follow established software engineering practices. This study investigates whether repositories written in functional languages adopt (i) maintenance guidelines recommended by the open-source community and (ii) continuous integration practices. An analysis of 496 GitHub repositories revealed widespread use of introductory documentation (91.9%) and licenses (89.7%), but low adoption of contribution guidelines (34.1%) and codes of conduct (17.7%). Continuous integration was present in 85.1% of the projects.
References
Elazhary, O., Storey, M.-A., Ernst, N., and Zaidman, A. (2019). Do as i do, not as i say: Do contribution guidelines match the github contribution process? In 2019 IEEE International Conference on Software Maintenance and Evolution (ICSME), pages 286–290. IEEE.
GitHub (2020–2025c). Open source guides. [link]. Acessado em 17 de junho de 2025.
GitHub (2025a). GitHub Actions: Automate your workflow. [link]. Acessado em: 2025-06-10.
GitHub (2025b). Github community guidelines. [link]. Acessado em 17 de junho de 2025.
Hudak, P. (1989). Conception, evolution, and application of functional programming languages. ACM Computing Surveys (CSUR), 21(3):359–411.
Prana, G. A. A., Treude, C., Thung, F., Atapattu, T., and Lo, D. (2019). Categorizing the content of github readme files. Empirical Software Engineering, 24:1296–1327.
Rausch, T., Hummer, W., Leitner, P., and Schulte, S. (2017). An empirical analysis of build failures in the continuous integration workflows of java-based open-source software. In 2017 IEEE/ACM 14th International Conference on Mining Software Repositories (MSR), pages 345–355. IEEE.
Ray, B., Posnett, D., Filkov, V., and Devanbu, P. (2014). A large scale study of programming languages and code quality in github. In Proceedings of the 22nd ACM SIGSOFT international symposium on foundations of software engineering, pages 155–165.
Steinmacher, I., Silva, M. A. G., Gerosa, M. A., and Redmiles, D. F. (2015). A systematic literature review on the barriers faced by newcomers to open source software projects. Information and Software Technology, 59:67–85.
Tourani, P., Adams, B., and Serebrenik, A. (2017). Code of conduct in open source projects. In 2017 IEEE 24th international conference on software analysis, evolution and reengineering (SANER), pages 24–33. IEEE.
Valim, J. (2023). Elixir programming language. [link]. Accessed: 2025-06-15.
Vasilescu, B., Yu, Y., Wang, H., Devanbu, P., and Filkov, V. (2015). Quality and productivity outcomes relating to continuous integration in github. In Proceedings of the 2015 10th joint meeting on foundations of software engineering, pages 805–816.
Wang, T., Wang, S., and Chen, T.-H. P. (2023). Study the correlation between the readme file of github projects and their popularity. Journal of Systems and Software, 205:111806.