Training Philosophy

SOCCER Lab goal is to help students to develop critical thinking and the ability to learn. Technologies and tools may fade away in a short span of time and thus the most precious tool is the ability to learn and to critically weight different alternatives. Last but not least, software engineering is eminently a teamwork where knowledge and technical skill are important but soft skill such as leadership and collaboration play a key role too.


Students who join the SOCCER lab are immediately involved in all the lab’s activities, ranging from carrying out research, to writing papers, from helping colleagues to participating in meetings with other researchers. This is crucial to develop soft skills and collaborative work attitude, as well as critical thinking and learning to learn.

Students must learn to work collaboratively, break problems into smaller tasks, divide them among teammates, coordinate and work together successfully towards a common goal. According to lab hands-on training philosophy, postdoctoral, graduate, and undergraduate students must all be involved in different objectives, phases, and tasks of one or more lab projects. Post-graduate and visiting researchers will help and coach junior team members (Ph.D. and M.Sc. students). In turn, Ph.D. and M.Sc. students will be involved in supervising undergraduate students. The student will work and contribute to the laboratory goals, will learn critical thinking while developing interpersonal skills. Trainees will learn to work in a team and get acquainted with methods/approaches that can scale up for large industrial situations.

Students must be able to skillfully analyze available data and reach justifiable conclusions, pondering pros and cons based on quantitative and qualitative evidence. To some extent, the analysis of software engineering data, when compared to other fields, poses different challenges. First of all, data sets may be small. Also, data sets may be incomplete; e.g., there could be a lack of data points for some measures, if developers did record some data. Data can also be unreliable; e.g., user preferences are often the result of a subjective evaluation. Finally, there could be limited external validity, because software engineering data sets very often represent specific realities. Thus, generic training in model inference, as provided by basic statistics or machine learning courses and curricula, does not suffice for software engineering data. For example, very little attention is given to empirical software engineering, or to the analysis of large, incomplete, and noisy datasets. SOCCER Lab students will be exposed to methods and tools to make informed decisions supported by empirical evidence. They will work on large, noisy and often unreliable datasets developing cross-domain expertise.