O uso de exemplos trabalhados para facilitar a contribuição de novatos em projetos de software livre
Resumo
O mercado de desenvolvimento de software está crescendo rapidamente, e projetos de software livre (SL) oferecem oportunidades valiosas para novatos. Contudo, as barreiras técnicas e não técnicas ainda dificultam as primeiras contribuições. Embora estudos busquem mitigar esses desafios, persistem as limitações. Exemplos trabalhados ajudam aprendizes a cometer menos erros, mas é difícil encontrar exemplos estruturados. Muitos desenvolvedores recorrem ao Stack Overflow, estratégia que nem sempre é eficaz. Recentemente, modelos de linguagem como o ChatGPT transformaram a busca por soluções. Considerando a reutilização frequente de códigos do Stack Overflow e o uso crescente do ChatGPT, este estudo investigou se respostas dessas fontes poderiam funcionar como exemplos trabalhados para apoiar o aprendizado e a resolução de problemas de novatos. Para isso, usamos uma issue do projeto Pandas como estudo de caso e conduzimos entrevistas individuais com o protocolo Thinking Aloud, seguidas de análise qualitativa. Os resultados sugerem que exemplos trabalhados dessas fontes podem auxiliar novatos em suas primeiras contribuições a projetos de SL.
Palavras-chave:
Educação em engenharia de software com OSS, Integração de novatos, Exemplos trabalhados, Stack Overflow, ChatGPT
Referências
Robert K. Atkinson, Sharon J. Derry, Alexander Renkl, and DonaldWortham. 2000. Learning from Examples: Instructional Principles from the Worked Examples Research. Review of Educational Research 70, 2 (2000), 181–214. DOI: 10.3102/00346543070002181
Sogol Balali, Umayal Annamalai, Hema Susmita Padala, Bianca Trinkenreich, Marco A. Gerosa, Igor Steinmacher, and Anita Sarma. 2020. Recommending Tasks to Newcomers in OSS Projects: How Do Mentors Handle It?. In Proceedings of the 16th International Symposium on Open Collaboration (Virtual conference, Spain) (OpenSym ’20). Association for Computing Machinery, New York, NY, USA, Article 7, 14 pages. DOI: 10.1145/3412569.3412571
Sogol Balali, Igor Steinmacher, Umayal Annamalai, Anita Sarma, and Marco Aurelio Gerosa. 2018. Newcomers’ barriers... is that all? an analysis of mentors’ and newcomers’ barriers in OSS projects. Computer Supported Cooperative Work (CSCW) 27 (2018), 679–714.
Sebastian Baltes and Stephan Diehl. 2019. Usage and attribution of Stack Overflow code snippets in GitHub projects. Empirical Software Engineering 24, 3 (2019), 1259–1295.
Sebastian Baltes, Christoph Treude, and Stephan Diehl. 2019. Sotorrent: Studying the origin, evolution, and usage of stack overflowcode snippets. In 2019 IEEE/ACM 16th International Conference on Mining Software Repositories (MSR). IEEE, 191–194.
Xiangping Chen, Furen Xu, Yuan Huang, Xiaocong Zhou, and Zibin Zheng. 2024. An empirical study of code reuse between GitHub and stack overflow during software development. Journal of Systems and Software 210 (2024), 111964.
Simone de França Tonhão, Thelma Elita Colanzi, and Igor Steinmacher. 2020. A Portal for Cataloging Worked Examples Extracted from Open Source Software. In Proceedings of the XXXIV Brazilian Symposium on Software Engineering (Natal, Brazil) (SBES ’20). Association for Computing Machinery, New York, NY, USA, 493–498. DOI: 10.1145/3422392.3422471
Zack Delile, Sean Radel, Joe Godinez, Garrett Engstrom, Theo Brucker, Kenzie Young, and Sepideh Ghanavati. 2023. Evaluating Privacy Questions From Stack Overflow: Can ChatGPT Compete? arXiv preprint arXiv:2306.11174 (2023).
Amir Dirin and Teemu Henrikki Laine. 2024. Examining the Utilization of Artificial Intelligence Tools by Students in Software Engineering Projects.. In CSEDU (2). 286–293.
Manuel B Garcia, Teodoro F Revano, Renato R Maaliw, Pitz Gerald G Lagrazon, Arlene Mae C Valderama, Ari Happonen, Basit Qureshi, and Ramazan Yilmaz. 2023. Exploring Student preference between aI-powered chatGPT and Humancurated stack overflow in resolving programming problems and queries. In 2023 IEEE 15th International Conference on Humanoid, Nanotechnology, Information Technology, Communication and Control, Environment, and Management (HNICEM). IEEE, 1–6.
Samia Kabir, David N Udo-Imeh, Bonan Kou, and Tianyi Zhang. 2023. Who Answers It Better? An In-Depth Analysis of ChatGPT and Stack Overflow Answers to Software Engineering Questions. arXiv preprint arXiv:2308.02312 (2023).
Alireza Kavianpour. 2024. Teaching Programming Languages by Two Teachers: Instructor and ChatGPT. In 2024 ASEE Annual Conference & Exposition.
Moara Sousa Brito Lessa and Christina von Flach G. Chavez. 2020. An Approach for Selecting FLOSS Projects for Education. In Proceedings of the XXXIV Brazilian Symposium on Software Engineering. 463–472.
Jinrun Liu, Xinyu Tang, Linlin Li, Panpan Chen, and Yepang Liu. 2023. ChatGPT vs. Stack Overflow: An Exploratory Comparison of Programming Assistance Tools. In 2023 IEEE 23rd International Conference on Software Quality, Reliability, and Security Companion (QRS-C). IEEE, 364–373.
Saraj Singh Manes and Olga Baysal. 2021. Studying the change histories of stack overflow and github snippets. In 2021 IEEE/ACM 18th International Conference on Mining Software Repositories (MSR). IEEE, 283–294.
Andressa S. S. Medeiros, Thelma Elita Colanzi, Igor Scaliante Wiese, and Igor Steinmacher. 2024. O uso de exemplos trabalhados para facilitar a contribuição de novatos em projetos de software livre. DOI: 10.5281/zenodo.15167298
JunSeong Moon, RaeEun Yang, SoMin Cha, and Seong Baeg Kim. 2023. chatGPT vs Mentor: Programming Language Learning Assistance System for Beginners. In 2023 IEEE 8th International Conference On Software Engineering and Computer Systems (ICSECS). 106–110.
Raphael Pham, Yauheni Stoliar, and Kurt Schneider. 2015. Automatically recommending test code examples to inexperienced developers. In Proceedings of the 2015 10th joint meeting on foundations of software engineering. 890–893.
Ben Skudder and Andrew Luxton-Reilly. 2014. Worked examples in computer science. In Proceedings of the Sixteenth Australasian Computing Education Conference-Volume 148. 59–64.
Sandro Speth, Niklas Meißner, and Steffen Becker. 2023. Investigating the Use of AI-Generated Exercises for Beginner and Intermediate Programming Courses: A ChatGPT Case Study. In 2023 IEEE 35th International Conference on Software Engineering Education and Training (CSEE&T). 142–146.
Igor Steinmacher, Ana Paula Chaves, Tayana Uchoa Conte, and Marco Aurélio Gerosa. 2014. Preliminary empirical identification of barriers faced by newcomers to Open Source Software projects. In 2014 Brazilian Symposium on Software Engineering. IEEE, 51–60.
Igor Steinmacher, Tayana Uchoa Conte, Christoph Treude, and Marco Aurélio Gerosa. 2016. Overcoming Open Source Project Entry Barriers with a Portal for Newcomers. In Proceedings of the 38th International Conference on Software Engineering (Austin, Texas) (ICSE ’16). Association for Computing Machinery, New York, NY, USA, 273–284. DOI: 10.1145/2884781.2884806
Igor Steinmacher, Marco Aurélio Graciotto Silva, and Marco Aurélio Gerosa. 2014. Barriers faced by newcomers to open source projects: a systematic review. In Open Source Software: Mobile Open Source Technologies: 10th IFIP WG 2.13 International Conference on Open Source Systems, OSS 2014, San José, Costa Rica, May 6-9, 2014. Proceedings 10. 153–163.
Igor Steinmacher, Igor Wiese, Ana Paula Chaves, and Marco Aurélio Gerosa. 2013. Why do newcomers abandon open source software projects?. In 2013 6th InternationalWorkshop on Cooperative and Human Aspects of Software Engineering (CHASE). IEEE, 25–32.
Xin Tan, Yiran Chen, Haohua Wu, Minghui Zhou, and Li Zhang. 2023. Is It Enough to Recommend Tasks to Newcomers? Understanding Mentoring on Good First Issues. In Proceedings of the 45th International Conference on Software Engineering (Melbourne, Victoria, Australia) (ICSE ’23). IEEE Press, 653–664. DOI: 10.1109/ICSE48619.2023.00064
Simone Tonhão, Thelma Colanzi, and Igor Steinmacher. 2021. Using real worked examples to aid software engineering teaching. In Proceedings of the XXXV Brazilian Symposium on Software Engineering. 133–142.
Wengran Wang, Yudong Rao, Archit Kwatra, Alexandra Milliken, Yihuan Dong, Neeloy Gomes, Sarah Martin, Veronica Catété, Amy Isvik, Tiffany Barnes, et al. 2023. A Case Study on When and How Novices Use Code Examples in Open-Ended Programming. In Proceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 1. 82–88.
Jules White, Quchen Fu, Sam Hays, Michael Sandborn, Carlos Olea, Henry Gilbert, Ashraf Elnashar, Jesse Spencer-Smith, and Douglas C Schmidt. 2023. A prompt pattern catalog to enhance prompt engineering with chatgpt. arXiv preprint arXiv:2302.11382 (2023).
Wenxin Xiao, Hao He,Weiwei Xu, Xin Tan, Jinhao Dong, and Minghui Zhou. 2022. Recommending Good First Issues in GitHub OSS Projects. In Proceedings of the 44th International Conference on Software Engineering (Pittsburgh, Pennsylvania) (ICSE ’22). Association for Computing Machinery, New York, NY, USA, 1830–1842. DOI: 10.1145/3510003.3510196
Bowen Xu, Thanh-Dat Nguyen, Thanh Le-Cong, Thong Hoang, Jiakun Liu, Kisub Kim, Chen Gong, Changan Niu, ChenyuWang, Bach Le, et al. 2023. AreWe Ready to Embrace Generative AI for Software Q&A? arXiv preprint arXiv:2307.09765 (2023).
Sogol Balali, Umayal Annamalai, Hema Susmita Padala, Bianca Trinkenreich, Marco A. Gerosa, Igor Steinmacher, and Anita Sarma. 2020. Recommending Tasks to Newcomers in OSS Projects: How Do Mentors Handle It?. In Proceedings of the 16th International Symposium on Open Collaboration (Virtual conference, Spain) (OpenSym ’20). Association for Computing Machinery, New York, NY, USA, Article 7, 14 pages. DOI: 10.1145/3412569.3412571
Sogol Balali, Igor Steinmacher, Umayal Annamalai, Anita Sarma, and Marco Aurelio Gerosa. 2018. Newcomers’ barriers... is that all? an analysis of mentors’ and newcomers’ barriers in OSS projects. Computer Supported Cooperative Work (CSCW) 27 (2018), 679–714.
Sebastian Baltes and Stephan Diehl. 2019. Usage and attribution of Stack Overflow code snippets in GitHub projects. Empirical Software Engineering 24, 3 (2019), 1259–1295.
Sebastian Baltes, Christoph Treude, and Stephan Diehl. 2019. Sotorrent: Studying the origin, evolution, and usage of stack overflowcode snippets. In 2019 IEEE/ACM 16th International Conference on Mining Software Repositories (MSR). IEEE, 191–194.
Xiangping Chen, Furen Xu, Yuan Huang, Xiaocong Zhou, and Zibin Zheng. 2024. An empirical study of code reuse between GitHub and stack overflow during software development. Journal of Systems and Software 210 (2024), 111964.
Simone de França Tonhão, Thelma Elita Colanzi, and Igor Steinmacher. 2020. A Portal for Cataloging Worked Examples Extracted from Open Source Software. In Proceedings of the XXXIV Brazilian Symposium on Software Engineering (Natal, Brazil) (SBES ’20). Association for Computing Machinery, New York, NY, USA, 493–498. DOI: 10.1145/3422392.3422471
Zack Delile, Sean Radel, Joe Godinez, Garrett Engstrom, Theo Brucker, Kenzie Young, and Sepideh Ghanavati. 2023. Evaluating Privacy Questions From Stack Overflow: Can ChatGPT Compete? arXiv preprint arXiv:2306.11174 (2023).
Amir Dirin and Teemu Henrikki Laine. 2024. Examining the Utilization of Artificial Intelligence Tools by Students in Software Engineering Projects.. In CSEDU (2). 286–293.
Manuel B Garcia, Teodoro F Revano, Renato R Maaliw, Pitz Gerald G Lagrazon, Arlene Mae C Valderama, Ari Happonen, Basit Qureshi, and Ramazan Yilmaz. 2023. Exploring Student preference between aI-powered chatGPT and Humancurated stack overflow in resolving programming problems and queries. In 2023 IEEE 15th International Conference on Humanoid, Nanotechnology, Information Technology, Communication and Control, Environment, and Management (HNICEM). IEEE, 1–6.
Samia Kabir, David N Udo-Imeh, Bonan Kou, and Tianyi Zhang. 2023. Who Answers It Better? An In-Depth Analysis of ChatGPT and Stack Overflow Answers to Software Engineering Questions. arXiv preprint arXiv:2308.02312 (2023).
Alireza Kavianpour. 2024. Teaching Programming Languages by Two Teachers: Instructor and ChatGPT. In 2024 ASEE Annual Conference & Exposition.
Moara Sousa Brito Lessa and Christina von Flach G. Chavez. 2020. An Approach for Selecting FLOSS Projects for Education. In Proceedings of the XXXIV Brazilian Symposium on Software Engineering. 463–472.
Jinrun Liu, Xinyu Tang, Linlin Li, Panpan Chen, and Yepang Liu. 2023. ChatGPT vs. Stack Overflow: An Exploratory Comparison of Programming Assistance Tools. In 2023 IEEE 23rd International Conference on Software Quality, Reliability, and Security Companion (QRS-C). IEEE, 364–373.
Saraj Singh Manes and Olga Baysal. 2021. Studying the change histories of stack overflow and github snippets. In 2021 IEEE/ACM 18th International Conference on Mining Software Repositories (MSR). IEEE, 283–294.
Andressa S. S. Medeiros, Thelma Elita Colanzi, Igor Scaliante Wiese, and Igor Steinmacher. 2024. O uso de exemplos trabalhados para facilitar a contribuição de novatos em projetos de software livre. DOI: 10.5281/zenodo.15167298
JunSeong Moon, RaeEun Yang, SoMin Cha, and Seong Baeg Kim. 2023. chatGPT vs Mentor: Programming Language Learning Assistance System for Beginners. In 2023 IEEE 8th International Conference On Software Engineering and Computer Systems (ICSECS). 106–110.
Raphael Pham, Yauheni Stoliar, and Kurt Schneider. 2015. Automatically recommending test code examples to inexperienced developers. In Proceedings of the 2015 10th joint meeting on foundations of software engineering. 890–893.
Ben Skudder and Andrew Luxton-Reilly. 2014. Worked examples in computer science. In Proceedings of the Sixteenth Australasian Computing Education Conference-Volume 148. 59–64.
Sandro Speth, Niklas Meißner, and Steffen Becker. 2023. Investigating the Use of AI-Generated Exercises for Beginner and Intermediate Programming Courses: A ChatGPT Case Study. In 2023 IEEE 35th International Conference on Software Engineering Education and Training (CSEE&T). 142–146.
Igor Steinmacher, Ana Paula Chaves, Tayana Uchoa Conte, and Marco Aurélio Gerosa. 2014. Preliminary empirical identification of barriers faced by newcomers to Open Source Software projects. In 2014 Brazilian Symposium on Software Engineering. IEEE, 51–60.
Igor Steinmacher, Tayana Uchoa Conte, Christoph Treude, and Marco Aurélio Gerosa. 2016. Overcoming Open Source Project Entry Barriers with a Portal for Newcomers. In Proceedings of the 38th International Conference on Software Engineering (Austin, Texas) (ICSE ’16). Association for Computing Machinery, New York, NY, USA, 273–284. DOI: 10.1145/2884781.2884806
Igor Steinmacher, Marco Aurélio Graciotto Silva, and Marco Aurélio Gerosa. 2014. Barriers faced by newcomers to open source projects: a systematic review. In Open Source Software: Mobile Open Source Technologies: 10th IFIP WG 2.13 International Conference on Open Source Systems, OSS 2014, San José, Costa Rica, May 6-9, 2014. Proceedings 10. 153–163.
Igor Steinmacher, Igor Wiese, Ana Paula Chaves, and Marco Aurélio Gerosa. 2013. Why do newcomers abandon open source software projects?. In 2013 6th InternationalWorkshop on Cooperative and Human Aspects of Software Engineering (CHASE). IEEE, 25–32.
Xin Tan, Yiran Chen, Haohua Wu, Minghui Zhou, and Li Zhang. 2023. Is It Enough to Recommend Tasks to Newcomers? Understanding Mentoring on Good First Issues. In Proceedings of the 45th International Conference on Software Engineering (Melbourne, Victoria, Australia) (ICSE ’23). IEEE Press, 653–664. DOI: 10.1109/ICSE48619.2023.00064
Simone Tonhão, Thelma Colanzi, and Igor Steinmacher. 2021. Using real worked examples to aid software engineering teaching. In Proceedings of the XXXV Brazilian Symposium on Software Engineering. 133–142.
Wengran Wang, Yudong Rao, Archit Kwatra, Alexandra Milliken, Yihuan Dong, Neeloy Gomes, Sarah Martin, Veronica Catété, Amy Isvik, Tiffany Barnes, et al. 2023. A Case Study on When and How Novices Use Code Examples in Open-Ended Programming. In Proceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 1. 82–88.
Jules White, Quchen Fu, Sam Hays, Michael Sandborn, Carlos Olea, Henry Gilbert, Ashraf Elnashar, Jesse Spencer-Smith, and Douglas C Schmidt. 2023. A prompt pattern catalog to enhance prompt engineering with chatgpt. arXiv preprint arXiv:2302.11382 (2023).
Wenxin Xiao, Hao He,Weiwei Xu, Xin Tan, Jinhao Dong, and Minghui Zhou. 2022. Recommending Good First Issues in GitHub OSS Projects. In Proceedings of the 44th International Conference on Software Engineering (Pittsburgh, Pennsylvania) (ICSE ’22). Association for Computing Machinery, New York, NY, USA, 1830–1842. DOI: 10.1145/3510003.3510196
Bowen Xu, Thanh-Dat Nguyen, Thanh Le-Cong, Thong Hoang, Jiakun Liu, Kisub Kim, Chen Gong, Changan Niu, ChenyuWang, Bach Le, et al. 2023. AreWe Ready to Embrace Generative AI for Software Q&A? arXiv preprint arXiv:2307.09765 (2023).
Publicado
22/09/2025
Como Citar
MEDEIROS, Andressa S. S.; COLANZI, Thelma E.; WIESE, Igor S.; STEINMACHER, Igor F..
O uso de exemplos trabalhados para facilitar a contribuição de novatos em projetos de software livre. In: SIMPÓSIO BRASILEIRO DE ENGENHARIA DE SOFTWARE (SBES), 39. , 2025, Recife/PE.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2025
.
p. 459-469.
ISSN 2833-0633.
DOI: https://doi.org/10.5753/sbes.2025.10703.
