logo-polimi
Loading...
Risorse bibliografiche
Risorsa bibliografica obbligatoria
Risorsa bibliografica facoltativa
Scheda Riassuntiva
Anno Accademico 2023/2024
Tipo incarico Dottorato
Insegnamento 061643 - SOFTWARE ENGINEERING FOR ML AND ML FOR SOFTWARE ENGINEERING
Cfu 5.00 Tipo insegnamento Monodisciplinare
Docenti: Titolare (Co-titolari) Baresi Luciano

Corso di Dottorato Da (compreso) A (escluso) Insegnamento
MI (1380) - INGEGNERIA DELL'INFORMAZIONE / INFORMATION TECHNOLOGYAZZZZ061643 - SOFTWARE ENGINEERING FOR ML AND ML FOR SOFTWARE ENGINEERING
MI (481) - COMPUTER SCIENCE AND ENGINEERING - INGEGNERIA INFORMATICAAZZZZ061722 - SOFTWARE ENGINEERING FOR ML AND ML FOR SOFTWARE ENGINEERING

Programma dettagliato e risultati di apprendimento attesi

Educational objectives

Machine Learning is ubiquitous: many modern software systems embed ML components and play a key role in the functionality offered by the system. While we all are impressed by what these models can achieve, we often overlook that they are specific software elements. Consequently, we should conceive, manage, and assess them accordingly. Software Engineering cannot ignore these systems; the discipline must evolve to address them and provide methods and tools for conceiving, designing, and assessing the quality of ML-based systems.

On the flip side, one cannot underestimate the impact of ML, and generative AI, on Software Engineering. They serve both as the target and the means of many software engineering endeavors. Numerous solutions for managing the different aspects of the software lifecycle now heavily rely on ML and generative AI, which appear to offer the right means to tackle the complexity of modern software in a straightforward and rapid way. One cannot ignore Copilot, chatGPT, or similar tools.

This course aims to provide an introduction and survey of these two independent yet related aspects. Essentially, the course seeks to explore the role ML and generative AI play in software engineering. It will discuss the current state of the art through exemplary solutions and highlight open issues and new ideas for future research.

 Expected learning outcomes

The students will gain an understanding of the current state of the art in machine learning and generative AI within the realm of software engineering. They will comprehend the new challenges and issues associated with these technologies as well as how to tackle them. Through exposure to exemplary solutions, they will also receive guidance on further advancing the integration of these fields.

Detailed program

Part 1: Introduction to ML-Based Systems

- Course organization

- Introduction to ML-based systems and their characteristics

- Discussion on challenges and opportunities in developing and maintaining ML-based systems

Part 2: Software engineering for ML

- How software engineering can help ML-based systems

- Self-adaptation and neural networks

- Testing neural network-based systems

Part 3: Practical Applications of ML in Software Engineering

- Discussion on how machine learning is transforming software engineering

- Automated test case generation, fault localization, and anomaly detection using machine learning

- Code clone detection, bug localization, and software change prediction using machine learning.

Part 4: Generative AI Techniques for Software Engineering

- Generative AI for code generation, test generation, program repair, and design automation

- Empirical assessment of LLMs for code generation

- Discussion on LLMs and requirements elicitation

Part 5: Ethical Considerations and Research Opportunities

- Ethical considerations and challenges associated with using ML and generative AI in software engineering

- Emerging trends and future directions in leveraging ML and generative AI for software engineering

- Concluding remarks


Note Sulla Modalità di valutazione

The course will be structured with traditional lectures and interactive discussions.

The examination process involves students presenting and discussing a brief survey they have conducted either individually or in small groups, focusing on one of the topics covered during the course.


Intervallo di svolgimento dell'attività didattica
Data inizio
Data termine

Calendario testuale dell'attività didattica

22/4 (14:00-18:00): part 1

29/4 (14:00-18:00): part 2

6/5 (14:00-18:00): part 3

9/5 (14:00-18:00): part 4

13/5 (14:00-18:00): part 5 


Bibliografia

Software utilizzato
Nessun software richiesto

Mix Forme Didattiche
Tipo Forma Didattica Ore didattiche
lezione
25.0
esercitazione
0.0
laboratorio informatico
0.0
laboratorio sperimentale
0.0
progetto
0.0
laboratorio di progetto
0.0

Informazioni in lingua inglese a supporto dell'internazionalizzazione
Insegnamento erogato in lingua Inglese
Disponibilità di materiale didattico/slides in lingua inglese
Disponibilità di libri di testo/bibliografia in lingua inglese
Possibilità di sostenere l'esame in lingua inglese

Note Docente
Luciano Baresi is full professor at DEIB - Politecnico di Milano (https://baresi.faculty.polimi.it)
schedaincarico v. 1.10.0 / 1.10.0
Area Servizi ICT
23/07/2024