|
Anno Accademico |
2023/2024 |
Corso di Studi |
Dott. - MI (1380) Ingegneria dell'Informazione / Information Technology |
Anno di Corso |
1 |
Codice Identificativo |
061643 |
Denominazione Insegnamento |
SOFTWARE ENGINEERING FOR ML AND ML FOR SOFTWARE ENGINEERING |
Tipo Insegnamento |
MONODISCIPLINARE |
Crediti Formativi Universitari (CFU) |
5.0 |
Programma sintetico |
This course would like to discuss the bilateral relationships between software engineering and machine learning: software engineering can help realize better ML systems and ML can help software engineers conceive and enact novel solutions to produce better software.
If one considers the first direction of the relationship, ML-based systems are imposing software engineers to rethink all the activities of the usual development process. The ML framework is often given, but one has first to reason on how to produce the systems model and then the quality of the results it produces. This means that requirements must (also) focus on new aspects, and systems must be designed, implemented, deployed, tested, provisioned, and maintained in a peculiar way. Training and inherence require different frameworks, pose different challenges, and demand for appropriate solutions. For example, how can one generate appropriate test cases to test an autonomous driving system? It is also true that ML experts focus mainly on ML algorithms and tend to underestimate the problems of designing complete, scalable, and robust systems, and of deploying and operating them properly.
On the other side of the relationship, ML is offering novel means to takcle well-known software engineering problems. For example, ML can help generate code automatically, identify bugs and fix them, generate test cases, optimize deployement and provisioned resources. ML can also help identify flaws and problems in requirement definitions or design documents. There have been many different ML-based solutions to very diverse software engineering problems, with the caveat that a significant amount of data and examples must always be available to let the proposed solution provide significant results.
The aim of the course is to frame the different contributions, highlight the mutual benefits and possible problems, and select some of them for a thorough presentation and discussion. The identification of some future directions and opportunities will complete the course. |
Settori Scientifico Disciplinari (SSD) |
--
|
Scaglione
|
Nome
|
Programma dettagliato
|
Da (compreso)
|
A (escluso)
|
A
|
ZZZZ
|
Baresi Luciano
|
|
|