The course is focused on the study of techniques related to the mining and analysis of structured and unstructured data in software repositories, empirical software engineering, and neural code analysis. A solid basis in object-oriented programming and software engineering is required.
To acquire competences needed to analyze complex software systems and improve their maintenance and evolution.
Students will apply the acquired expertise in the context of a software analytics project running throughout the semester. Competences related to empirical software engineering will be applied in the context of a mining challenge involving real data from software repositories.
The final grade is defined based on the assignments submitted by the student throughout the semester.