Training and Research
PhD Programme Courses/classes
This page shows the PhD course's training activities for the academic year 2024/2025. Further activities will be added during the year. Please check regularly for updates!
Introduction to Blockchain
Credits: 3
Language: English
Teacher: Nicola Fausto Spoto
Principles and Applications of Abstract Interpretation
Credits: 3
Language: English
Teacher: Michele Pasqua
AI and explainable models
Credits: 5
Language: English
Teacher: Lorenza Brusini
Automated Software Testing
Credits: 4
Language: English
Teacher: Mariano Ceccato
Multi Omics Patient Stratification
Credits: 3
Language: English
Teacher: Rosalba Giugno
ACADEMIC WRITING IN LATEX
Credits: 3
Language: English
Teacher: Enrico Gregorio
A practical interdisciplinary PhD course on exploratory data analysis
Credits: 4
Language: English
Teacher: Rui Pedro Fernandes Ribeiro
Cyber-physical systems security
Credits: 3
Language: English
Teacher: Massimo Merro
Elements of Machine Learning
Credits: 3
Language: English
Teacher: Ferdinando Cicalese
Genomica informazionale: contenuto informativo dei genomi e s divergenza dalla randomicità
Credits: 3
Language: English
Introduction to Quantum Machine Learning
Credits: 3
Language: English
Teacher: Alessandra Di Pierro
Laboratory of quantum information in classical wave-optics analogy
Credits: 3
Language: English
Teacher: Claudia Daffara
Automated Software Testing (2024/2025)
Teacher
Referent
Credits
4
Language
English
Class attendance
Free Choice
Location
VERONA
Learning objectives
Software testing is a cornerstone activity in software development, conducted to identify defects by checking the program execution across several testing scenarios. Considering that manually writing test cases for all the important scenarios might be quite time consuming and expensive, several research approaches have been proposed to automate the generation of test cases that (i) assess many features of the software under development and (ii) are likely to reveal defects.
This PhD course will cover the foundational techniques proposed in literature to automatically write test cases, including those based on symbolic execution, concrete-symbolic execution and evolutionary algorithms. Subsequently, more recent approaches will be covered, that have been elaborated and proposed to automatically write test cases for diverse application domains, such as for web application, Android apps, blockchain smart-contracts and REST APIs.
The course will also include practical hands-on activities, where participants are supposed to develop a small project to implement one of the presented approaches to automatically write test cases for a domain of their interest. The exam consists in presenting this project at the end of the course.
Prerequisites and basic notions
Basic knowledge of programming, especially in Java
Program
The course program includes the following topics:
- Foundations and terminology of software testing
- Automated generation of test cases: Concrete symbolic execution, Search based, Genetic algorithms
- Automated generation of test cases for different domains: Web application, Smartphone apps, Blockchain smart contracts, REST APIs.
- Tools to support automated generation of test cases
Didactic methods
Frontal lectures, practical laboratory and discussions.
Learning assessment procedures
Project at the end of the course.
Assessment
Clarity, quality and completeness of the project.
Criteria for the composition of the final grade
Project evaluation.
Scheduled Lessons
When | Classroom | Teacher | topics |
---|---|---|---|
Monday 27 January 2025 13:30 - 16:30 Duration: 3:00 AM |
Ca' Vignal 1 - C [90 - terra] | Mariano Ceccato | Introduzione al Corso. Esecuzione concreta simbolica per la generazione automatizzata di casi di test |
Wednesday 05 February 2025 13:00 - 16:30 Duration: 3:30 AM |
Ca' Vignal 1 - B [89 - terra] | Mariano Ceccato | Formulazione del problema della generazione automatizzata di casi di test come problema di ottimizzazione. Approcci basati su euristiche di ricerca. Algoritmi genetici. |
Wednesday 12 February 2025 13:00 - 16:30 Duration: 3:30 AM |
Ca' Vignal 1 - C [90 - terra] | Mariano Ceccato | Generazione automatizzata di casi di test per applicazioni web. Approccio bloack box, approccio white box, oracolo generic. |
Wednesday 19 February 2025 13:00 - 16:00 Duration: 3:00 AM |
Ca' Vignal 1 - C [90 - terra] | Mariano Ceccato | Generazione automatizzata di casi di test per smart contracts. |
Wednesday 26 February 2025 13:00 - 16:00 Duration: 3:00 AM |
Ca' Vignal 1 - C [90 - terra] | Mariano Ceccato | Difetti e vulnerabilità in smartphone apps. Generazione automatizzata di casi di test per smartphone apps. |