An Approach for Selecting FLOSS Projects for Education - Lessa, Moara Sousa Brito; Chavez, Christina von Flach G. (Anais do Simpósio Brasileiro de Engenharia de Software (SBES); 2020: Anais do XXXIV Simpósio Brasileiro de Engenharia de Software, 2020)
Context: The use of Free/Libre/Open Source Software (FLOSS) projects in Software Engineering Education (SEE) provides an opportunity for learning the theory and practicing technical and soft skills, narrowing the theory-practice gap usually present in undergraduate software engineering courses. However, selecting a FLOSS project for pedagogical use has its challenges. The selection should consider technical, social and pedagogical criteria, and the search process is often manual and ad-hoc. Objective: We present an approach to the selection of FLOSS projects for SEE based on technical and social criteria, and evaluate it from the students' perspective. Method: We performed a literature review to identify the criteria for selecting FLOSS projects used in SEE research. A set of selection criteria was documented and operationalized so that automatic search could be performed in open source projects repositories. We implemented a tool called FlossSearch.Edu to support the selection of FLOSS projects, based on the combination of one or more criteria, from a randomly populated repository of cloned GitHub projects. A case study was conducted with undergraduate students. They used the tool to select FLOSS projects based on criteria defined by the professor and answered a survey based on the Technology Acceptance Model (TAM). Results: FlossSearch.Edu played an important role in the process of selecting FLOSS projects. Most participants that used FlossSearch.Edu stated that the tool was useful, easy to use and that they intended to use it in the future.