Software Systems Reliability Theory

Major: Software Engineering
Code of subject: 7.121.00.O.004
Credits: 6.00
Department: Software
Lecturer: Maksym Seniv
Semester: 1 семестр
Mode of study: денна
Learning outcomes: PH01. Know and apply modern professional standards and other legal documents on software engineering. PH06. Develop and evaluate software design strategies; substantiate, analyze and evaluate design solutions in terms of quality of the final software product, resource constraints and other factors. РН07. Analyze, evaluate and apply at the system level modern software and hardware platforms for solving complex problems of software engineering. PH11. Ensure quality at all stages of the software life cycle, including the use of relevant models and assessment methods, as well as automated software testing and verification tools. РН16. Plan, organize and perform software testing, verification and validation.
Required prior and related subjects: Corequisites: Parallel and Distributed Computing Risk Management in Software Engineering Optimization Methods in Software Engineering Software Quality Management
Summary of the subject: Introduction. Fundamental concepts and definitions of reliability theory. Reliability theory as a science. Definition of "reliability" and "failure". Terminology of reliability theory. Classification of technical systems. Reliability criteria. Laws of distribution of time to failure. Reliability criteria for non-renewable systems. Reliability criteria for renewable systems. The most common laws of distribution of time to failure. Methods of analysis of reliability of technical systems. Reliability and safety analysis using a fault tree. Structural and logical analysis of technical systems. Calculations of structural reliability of systems. Increasing the reliability of technical systems. General characteristics of software reliability. Comparative characteristics of the reliability of software and hardware. Classification of software reliability models. Software reliability models based on a heterogeneous Poisson process. Review of software reliability models based on non-homogeneous Poisson process. A generalized software reliability model with a complexity indicator. Software reliability analysis based on a model with a complexity indicator. Software reliability models taking into account imperfect debugging. Obtaining estimates of software reliability model parameters. Selection of a software reliability model. Exponential models based on a heterogeneous Poisson process. S-shaped model based on non-homogeneous Poisson process. Reliability models based on a non-homogeneous Poisson process taking into account imperfect debugging. S-shaped reliability models based on a non-homogeneous Poisson process taking into account imperfect debugging. Comparison of imperfect and ideal debugging models. Component models of software reliability. Software reliability models based on the component approach. Software reliability models based on a higher-order Markov process. Software reliability analysis taking into account its architecture and complexity. Means of engineering software systems taking into account the requirements for software reliability. Determination of the duration of the process of testing software systems. Models and methods of determining the policy of optimal introduction of software into operation.
Assessment methods and criteria: Current control: 40% (2 labs 20% each) Exam: 60% (written part 50%, spoken part 10%) The maximum mark for each laboratory work can be obtained if it has been defended within 15 weeks of the semester, a student performed the task correctly, managed to prove that they have accomplished the task with no assistance, and answered all the practical and theoretical questions properly.
Recommended books: 1. Яковина В.С., Сенів М.М., Основи теорії надійності програмних систем: Навчальний посібник. – Львів: Видавництво Львівської політехніки, 2020. – 248 с. 2. Бобало Ю.Я., Волочій Б.Ю., Лозинський О.Ю., Мандзій Б.А., Озірковський Л.Д., Федасюк Д.В., Щербовських С.В., Яковина В.С. Математичні моделі та методи аналізу надійності радіоелектронних, електротехнічних та програмних систем: монографія. – Львів: Видавництво Львівської політехніки, 2013. – 300 с. 3. Волочій Б.Ю. Технологія моделювання алгоритмів поведінки інформаційних систем. – Львів: Вид-во НУ "Львівська політехніка", 2004. – 220 с. 4. Моделі, методи та засоби аналізу надійності програмних систем / В. С. Яковина, Д. В. Федасюк, М. М. Сенів, О. О. Нитребич. Львів : Видавництво Львівської політехніки. – 2015. – 220 с. 5. Seniv M., Yakovyna V., Symets I. Software for visualization of reliability block diagram and automated formulation of operability conditions of technical systems // 14th International Conference on Perspective Technologies and Methods in MEMS Design, MEMSTECH 2018 - Proceedings. – 2018. – pp. 191–195. 6. Yakovyna V. S., Seniv M. M., Symets I. I., Sambir N. B. Algorithms and software suite for reliability assessment of complex technical systems // Radio Electronics, Computer Science, Control. – 2020. – No. 4(55). – P. 163–177. 7. Bobalo Yu., Seniv M., Yakovyna V., Symets I. Method of reliability block diagram visualization and automated construction of technical system operability condition // Advances in Intelligent Systems and Computing (AISC). – 2019. – Vol. 871: Advances in intelligent systems and computing III. Selected papers from the International conference on computer science and information technologies, CSIT 2018, September 11-14, Lviv, Ukraine. – P. 599–610. 8. Яковина В. С., Сенів М. М., Литвин В. В., Симець І. І. Програмний модуль розв'язування систем диференціальних рівнянь Колмогорова-Чепмена для автоматизації надійнісного проектування // Науковий вісник НЛТУ України: збірник науково-технічних праць. – 2019. – Т. 29, № 5. – С. 141–146. 9. Яковина В. С., Сенів М. М., Симець І. І. Засоби автоматизованого формулювання умов працездатності складних технічних систем // Науковий вісник НЛТУ України. – 2019. – Т. 29, № 9. – С. 136–141.