SOFTWARE DEPENDABILITY (ENGLISH)

International Teaching SOFTWARE DEPENDABILITY (ENGLISH)

0522500119
COMPUTER SCIENCE
EQF7
COMPUTER SCIENCE
2021/2022



OBBLIGATORIO
YEAR OF COURSE 1
YEAR OF DIDACTIC SYSTEM 2016
SECONDO SEMESTRE
CFUHOURSACTIVITY
945LESSONS
Objectives
THE GOAL OF THE COURSE IS TO TEACH METHODOLOGIES AND TECHNIQUES OF SOFTWARE RELIABILITY ANALYSIS, DESIGN, AND VERIFICATION. IN PARTICULAR, THESE CONCEPTS WILL BE PRESENTED IN THE CONTEXT OF COMPLEX AND CRITICAL SOFTWARE SYSTEMS.

KNOWLEDGE AND UNDERSTANDING
THE STUDENTS WILL GAIN KNOWLEDGE ABOUT METHODOLOGIES AND TECHNIQUES OF SOFTWARE RELIABILITY ANALYSIS, DESIGN, AND VERIFICATION. THE STUDENTS WILL GAIN THE ABILITY TO UNDERSTAND THE STATE OF THE ART, THE SCIENTIFIC LITERATURE, AND THE INTERNATIONAL STANDARDS IN THE FIELD.

ABITILY TO APPLY KNOWLEDGE AND UNDERSTANDING
THE STUDENTS WILL BE ABLE TO APPLY KNOWLEDGE ABOUT METHODOLOGIES AND TECHNIQUES OF SOFTWARE RELIABILITY ANALYSIS, DESIGN, AND VERIFICATION, IN PARTICULAR IN THE CONTEXT OF COMPLEX AND CRITICAL SOFTWARE SYSTEMS.

Prerequisites
THE STUDENTS MUST HAVE PREVIOUS KNOWLEDGE OF BASIC CONCEPTS OF SOFTWARE ENGINEERING, IN PARTICULAR SOFTWARE DEVELOPMENT PROCESS MODELS AND SOFTWARE TESTING.
Contents
THE CONTENT OF THE COURSE IS ORGANIZED IN TWO MODULES:

M1: FUNDAMENTALS OF SOFTWARE DEPENDABILITY
THIS MODULE INTRODUCES THE FUNDAMENTALS OF SOFTWARE DEPENDABILITY. THE CONTENT INCLUDES:

- DEPENDABILITY REQUIREMENTS;
- RELIABILITY ENGINEERING;
- VULNERABILITIES OF SOFTWARE SYSTEMS;
- ERRORS, FAULTS, AND RISKS;
- TECHNIQUES TO AVOID, REMOVE, AND PREVENT THE INTRODUCTION OF DEFECTS AND VULNERABILITIES;
- DEFECT PREDICTION. THIS PART INCLUDES A GENTLE INTRODUCTION TO THE MACHINE LEARNING TECHNIQUES FOR SOFTWARE DEPENDABILITY;
- SOFTWARE DEPENDABILITY ASSESSMENT METHODS;
- SOFTWARE INSPECTIONS;
- SOCIO-TECHNICAL ASPECTS AND THEIR IMPACT ON SOFTWARE DEPENDABILITY.

M2: SOFTWARE TESTING
THIS MODULE EXAMINES IN DEPTH AND INTEGRATES PREVIOUS KNOWLEDGE ON SOFTWARE VERIFICATION AND VALIDATION ACQUIRED IN THE UNDERGRADUATE COURSE OF SOFTWARE ENGINEERING. THE TOPICS INCLUDE:

- TESTING PROCESS AND DOCUMENTATION;
- TEST-DRIVEN SOFTWARE DEVELOPMENT;
- SYSTEMATIC TECHNIQUES FOR BLACK-BOX AND WHITE-BOX TESTING;
- TEST CASE ASSESSMENT METHODOLOGIES;
- TESTING OF NON-FUNCTIONAL REQUIREMENTS;
- REGRESSION TESTING;
- OPTIMIZATION OF TEST CASES;
- AUTOMATIC TEST CASE GENERATION. THIS PART INCLUDES AN INTRODUCTION TO SEARCH-BASED ALGORITHMS.
- TESTING OF EMBEDDED AND CYBERPHYSICAL SYSTEMS.
Teaching Methods
THE COURSE INCLUDES 45 HOURS OF FRONTAL LECTURES (9 ECTS, IN ENGLISH LANGUAGE) TO TRANSFER THE KNOWLEDGE RELATED TO THE THEORETICAL/METHODOLOGICAL CONTENTS AND TO THE TOOLS REQUIRED TO CARRY OUT A PROJECT.

THE STUDENTS WILL CARRY OUT A PROJECT (INDIVIDUALLY OR IN A GROUP OF MAXIMUM 3 STUDENTS) TO TRAIN ON THE PRACTICAL ACTIVITIES OF THE COURSE. THE EFFORT REQUIRED FOR THE PROJECT ACTIVITIES IS ABOUT 45 HOURS.
Verification of learning
LEARNING ASSESSMENT IS BASED ON AN EXAM WITH GRADES ON A SCALE OF 30. THE EXAM CONSISTS OF A SOFTWARE PROJECT DEVELOPED INDIVIDUALLY OR IN A GROUP OF STUDENTS AND AN ORAL EXAMINATION.
Texts
- I. SOMMERVILLE, SOFTWARE ENGINEERING, ADDISON WESLEY

- J. KNIGHT, "FUNDAMENTALS OF DEPENDABLE COMPUTING FOR SOFTWARE ENGINEERS", CHAPMAN AND HALL/CRC

- M. PEZZE, M. YOUNG, "SOFTWARE TESTING AND ANALYSIS: PROCESSES PRINCIPLES AND TECHNIQUES", JOHN WILEY & SONS

HANDOUTS OF THE LECTURES.

More Information
ATTENDING THE COURSE IS NOT MANDATORY BUT STRONGLY RECOMMENDED. STUDENTS MUST BE READY TO ATTEND THE COURSE ACTIVELY, THROUGH THE INTERACTION WITH THE LECTURER AS WELL AS THE INDIVIDUAL STUDY OF THE MATERIAL TAUGHT DURING THE LECTURES. A SATISFACTORY PREPARATION WHICH LEADS TO PASSING THE EXAM WILL CONSIST OF AN AVERAGE INDIVIDUAL STUDY OF TWO HOURS FOR EACH HOUR OF LECTURE AND AN AVERAGE OF ONE HOUR DEVOTED TO THE DEVELOPMENT OF THE PROJECT. BY DESIGN, THE COURSE EXPECTS A STRONG PREDISPOSITION TO LEARNING NEW SOFTWARE INSTRUMENTS FOR THE DEVELOPMENT OF SOFTWARE DEPENDABILITY MODULES.

THE DIDACTIC MATERIAL WILL BE MADE AVAILABLE ON THE E-LEARNING PLATFORM OF THE DEPARTMENT.

IN CASE THE SANITARY CONDITIONS WILL NOT ALLOW THE NORMAL EXECUTION OF THE DIDACTIC ACTIVITIES, THE COURSE WILL BE PERFORMED VIRTUALLY THROUGH THE DIDACTIC PLATFORM RECOMMENDED BY THE DEPARTMENT OF COMPUTER SCIENCE.
  BETA VERSION Data source ESSE3