SOFTWARE DEPENDABILITY (ENGLISH)

International Teaching SOFTWARE DEPENDABILITY (ENGLISH)

Back

0522500119
COMPUTER SCIENCE
EQF7
COMPUTER SCIENCE
2023/2024



OBBLIGATORIO
YEAR OF COURSE 1
YEAR OF DIDACTIC SYSTEM 2016
AUTUMN SEMESTER
CFUHOURSACTIVITY
945LESSONS
Objectives
THE GOAL OF THE COURSE IS TO PROVIDE THE METHODOLOGIES AND TECHNIQUES FOR ANALYZING, DESIGNING, AND VERIFYING THE RELIABILITY OF THE SOFTWARE. IN PARTICULAR, THESE CONCEPTS ARE ADDRESSED IN THE CONTEXT OF COMPLEX AND CRITICAL SOFTWARE SYSTEMS.

KNOWLEDGE AND UNDERSTANDING
STUDENTS WILL ACQUIRE KNOWLEDGE RELATED TO SOFTWARE ANALYSIS, DESIGN, AND RELIABILITY VERIFICATION METHODOLOGIES AND TECHNIQUES. STUDENTS WILL ACQUIRE THE ABILITY TO UNDERSTAND THE STATE OF THE ART, SCIENTIFIC LITERATURE, AND INTERNATIONAL STANDARDS OF THE SECTOR.

APPLYING KNOWLEDGE AND UNDERSTANDING
STUDENTS WILL BE ABLE TO APPLY KNOWLEDGE RELATED TO ANALYSIS METHODOLOGIES AND TECHNIQUES TO DESIGN AND VERIFY SOFTWARE RELIABILITY, PARTICULARLY IN COMPLEX AND CRITICAL SOFTWARE SYSTEMS.
Prerequisites
STUDENTS SHOULD KNOW BASIC SOFTWARE ENGINEERING CONCEPTS, PARTICULARLY SOFTWARE DEVELOPMENT MODELS AND SOFTWARE TESTING.
Contents
THE CONTENTS ARE DIVIDED INTO THREE TRAINING MODULES:

M1: FUNDAMENTALS OF SOFTWARE DEPENDABILITY
THE FIRST MODULE INTRODUCES THE STUDENT TO THE FUNDAMENTALS OF SOFTWARE RELIABILITY AND SOFTWARE ANALYTICS TO IMPROVE SOFTWARE RELIABILITY:
- SOFTWARE DEPENDABILITY ENGINEERING REQUIREMENTS - 2H OF FRONTAL LECTURES;
- IOT ARCHITECTURES - 2H DI LEZIONI FRONTALI;
- SOFTWARE ANALYTICS - 2H OF FRONTAL LECTURES AND 2H OF LAB SESSIONS.

M2: SOFTWARE TESTING
THE SECOND MODULE DEEPENS AND INTEGRATES THE KNOWLEDGE RELATED TO SOFTWARE VERIFICATION AND VALIDATION ALREADY ACQUIRED IN A BASIC SOFTWARE ENGINEERING COURSE OF THE BACHELOR'S DEGREE:
- INTRODUCTION TO SOFTWARE TESTING - 2H OF FRONTAL LECTURES;
- TEST-DRIVEN DEVELOPMENT - 2H OF FRONTAL LECTURES;
- METHODS TO SELECT, DESIGN, ASSESS, AND OPTIMIZE TEST CASES - 6H OF FRONTAL LECTURES AND 2H OF LAB SESSIONS;
- PERFORMANCE TESTING - 2H OF FRONTAL LECTURES AND 2H OF LAB SESSIONS;
- AUTOMATED GENERATION OF TEST CASES - 4H OF FRONTAL LECTURES AND 2H OF LAB SESSIONS;
- TESTING OF CYBER-PHYSICAL SYSTEMS - 2H OF FRONTAL LECTURES.

M3: DETECTION AND EXPLOITATION OF SOFTWARE VULNERABILITIES
THE THIRD MODULE PRESENTS STATIC AND DYNAMIC TECHNIQUES TO DETECT AND EXPLOIT SOFTWARE VULNERABILITIES:
- INTRODUCTION TO SOFTWARE VULNERABILITIES - 2H OF FRONTAL LECTURES;
- STATIC AND DYNAMIC TECHNIQUES TO DETECT AND EXPLOIT SOFTWARE VULNERABILITIES - 2H OF FRONTAL LECTURES AND 4H OF LAB SESSIONS;
- PREDICTING SOFTWARE DEFECTS THROUGH MACHINE LEARNING - 4H OF FRONTAL LECTURES.
Teaching Methods
THE THEORETICAL PART IS DEVELOPED WITH FRONTAL LECTURES (6 CFU, 30 HOURS) OF A THEORETICAL/METHODOLOGICAL NATURE TO TRANSFER THE REQUIRED KNOWLEDGE AND TOOLS FOR PROJECT ACTIVITIES.

THE PRACTICAL PART IS CARRIED OUT WITH HANDS-ON SESSIONS OF THE TECHNIQUES AND CONCEPTS PRESENTED IN THE THEORETICAL PART (3 CFU, 15 HOURS).
THE FORMULA FOLLOWED CONSISTS OF SHOWCASING A TOOL AND ALLOWING THE STUDENTS TO EXPERIMENT WITH IT ON A SOFTWARE PROJECT THEY CHOSE.
Verification of learning
THE ACHIEVEMENT OF THE TEACHING OBJECTIVES IS CERTIFIED BY PASSING AN EXAM WITH AN EVALUATION OUT OF THIRTY. THE EXAM INCLUDES REALIZING AN INDIVIDUAL OR GROUP PROJECT AND DELIVERING THE RELATED DOCUMENTATION AND AN ORAL TEST.
Texts
- J. KNIGHT, “FUNDAMENTALS OF DEPENDABLE COMPUTING FOR SOFTWARE ENGINEERS”, CHAPMAN AND HALL/CRC;
- M. PEZZÈ, M. YOUNG, "SOFTWARE TESTING AND ANALYSIS: PROCESSES PRINCIPLES AND TECHNIQUES", JOHN WILEY & SONS;
- G. MCGRAW, “SOFTWARE SECURITY: BUILDING SECURITY IN”, ADDISON-WESLEY PROFESSIONAL;
- LECTURE NOTES BY THE TEACHER.
More Information
ATTENDING THE COURSE IS NOT COMPULSORY BUT STRONGLY RECOMMENDED. STUDENTS MUST BE PREPARED TO BE ACTIVELY ENGAGED IN THE COURSE THROUGH INTERACTION WITH THE TEACHER IN THE CLASSROOM AND INDIVIDUAL TRAINING. ADEQUATE PREPARATION, LEADING TO PASSING THE EXAM, WILL CONSIST OF TWO HOURS OF INDIVIDUAL STUDY FOR EACH HOUR SPENT IN THE CLASSROOM AND ONE HOUR DEDICATED TO THE ASSOCIATED PROJECT ACTIVITY. THE COURSE EXPECTS A SOLID PREDISPOSITION TO LEARN SOFTWARE TOOLS REQUIRED TO DEVELOP RELIABILITY MODULES.

THE TEACHING MATERIAL WILL BE AVAILABLE ON THE DEPARTMENTAL E-LEARNING PLATFORM.
Lessons Timetable

  BETA VERSION Data source ESSE3