Availability and Reliability Analysis of Computer Software Systems Considering Maintenance and Security Issues
Total Page:16
File Type:pdf, Size:1020Kb
View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by ScholarBank@NUS AVAILABILITY AND RELIABILITY ANALYSIS OF COMPUTER SOFTWARE SYSTEMS CONSIDERING MAINTENANCE AND SECURITY ISSUES XIONG CHENG-JIE NATIONAL UNIVERSITY OF SINGAPORE 2011 AVAILABILITY AND RELIABILITY ANALYSIS OF COMPUTER SOFTWARE SYSTEMS CONSIDERING MAINTENANCE AND SECURITY ISSUES XIONG CHENG-JIE (B. Eng), WUHAN UNIVERSITY A THESIS SUBMITTED FOR THE DEGREE OF DOCTOR OF PHILOSOPHY DEPARTMENT OF INDUSTRIAL AND SYSTEMS ENGINEERING NATIIONAL UNIVERSITY OF SINGAPORE 2011 Acknowledgement First and foremost my greatest gratitude goes to my main supervisor, Prof. Xie Min, who supported me both in research and in practice all through my PhD candidature and whose wisdom is so charming that enlightened my research path. He is not only a well-respected advisor in research, but also more a spiritual tutor as well as a great friend. His knowledge and patience helped me transform from a beginner to a junior research without anxiety or frustration, which I am extremely grateful for. What is more, his noble personality and passion for research always spurs me to search more for research and life. I would have achieved much less if I had not been under his supervision. I am also heartily thankful to my co-supervisor, A/Prof. Ng Szu Hui, for her guidance and very detailed suggestions in my research, especially when I was undergoing the manuscript reviewing process. Her serious attitude towards research always reminds me to get rid of fickleness and utilitarianism, which was fatal in research. Her positive life style and friendliness also made me feel more inspired when I was her teaching assistant. I also gained lots of teaching experience from her. I am really grateful for her directions. Then I also want to express my gratefulness to the Department of Industrial and Systems Engineering and the National University of Singapore, for providing me scholarship and an excellent environment to study and do research. I would have missed the most precious life experience if I had not won a chance to study in Singapore. I would like to thank A/Prof. Poh Kim Leng and Dr. NG Tsan Sheng, Adam, for serving as my oral qualification exam committee and provided me lots of deep insights for my further research. I also greatly thank Ms. Ow Lai Chun and Mr. Lau Pak Kai, for their excellent administrative and technical support to my PhD study. The warmest gratefulness also goes to A/Prof. Tang Loon Ching, who interviewed and encouraged me to join the Department of Industrial and System Engineering in Shanghai 5 years ago. I would not be able to finish this thesis, or even to start writing this thesis, without their help. As a member of the Quality and Reliability Lab, I also benefited a lot from my lab mates. With all of them, I had a great post-graduate life for 4 years. Special thanks goes to Li Yanfu and Shen Yan, who helped me a lot in life and at the same time in research, especially in research proposal and thesis writing. I would also like to thank Qian Yanjun, Yin Jun and Zhou Peng, for their help and advices that made my life and research easier. Finally, I would like to express my deepest thank to my parents, for their continuous encouragements and support for more than 20 years. Furthermore, to Mao Chengting, thank you for your understanding and encouragements. II Table of Contents Acknowledgement ........................................................................................................................... I Summary ....................................................................................................................................... IV List of Tables ............................................................................................................................... VII List of Figures ............................................................................................................................ VIII List of Notations and Acronyms ................................................................................................... IX Chapter 1 Introduction ............................................................................................................... 1 1.1 Focus of this thesis .............................................................................................................................. 2 1.2 Introduction to Quality Metrics of Computer Software Systems ........................................................ 2 1.2.1 Software Reliability ..................................................................................................................... 3 1.2.2 Software Availability ................................................................................................................... 3 1.2.3 Software Service Reliability ........................................................................................................ 4 1.3 External Factors Affecting Software Quality ...................................................................................... 5 1.3.1 Software Maintenance.................................................................................................................. 5 1.3.2 Malicious Software ...................................................................................................................... 6 1.4 Research Motivation ........................................................................................................................... 7 1.5 Thesis Organization ............................................................................................................................ 8 Chapter 2 Literature Review.................................................................................................... 10 2.1 Reviews on Software Reliability Modelling ..................................................................................... 10 2.1.1 Basic Software Reliability Models............................................................................................. 10 2.1.2 Software Reliability Model Extensions ..................................................................................... 22 2.2 Reviews on Software Availability Related Problems ....................................................................... 25 2.2.1 Software Maintenance and Software Availability ..................................................................... 26 2.2.2 Software Availability Assessment ............................................................................................. 32 2.2.3 Malicious Software and Its Impact on Software Quality ........................................................... 36 Chapter 3 Software Availability Modelling and Application Extensions ................................ 40 3.1 Introduction ....................................................................................................................................... 40 I 3.2 Software Maintenance Activities and Software Availability ............................................................ 43 3.2.1 Decomposition of Software Maintenance Activities ................................................................. 43 3.2.2 Software Maintenance Efforts and Software Maintenance Modeling ....................................... 46 3.2.3 Software Maintenance Modeling—A Numerical Example ....................................................... 51 3.2.4 Validation of Software Maintenance Modelling ........................................................................ 57 3.2.5 Software Availability Modeling Considering Software Maintenance ....................................... 58 3.3 Software Maintenance Policy Considering Software Availability Constraints ................................ 67 3.3.1 Re-investigation on Software Maintenance and Software Maintenance Policy ........................ 67 3.3.2 Software Maintenance Policy Modeling with Consideration of Software Availability and Cost Constraints .......................................................................................................................................... 71 3.3.3 Validation of Policy Optimality—A Numerical Example ......................................................... 75 3.4 Summary and Conclusion Remarks .................................................................................................. 80 Chapter 4 Software Availability Assessment of N-version Programming Systems .............. 82 4.1 Introduction ....................................................................................................................................... 82 4.2 Software Availability Modeling of N-version Programming Systems ............................................. 85 4.2.1 Structure Decomposition of N-version Programming Systems ................................................. 86 4.2.2 Proposed Model of Software Availability of N-version Programming Systems ....................... 89 4.3 Impact of N-version Programming on Software Availability ........................................................... 98 4.3.1 Failure and restoration rates for different versions of software ................................................. 98 4.3.2 Impact of N-version Programming on Software Availability: A Simulation Approach .......... 101 4.3.3 Optimal Software Structure under Software Availability and Budget Constraints .................. 112 Chapter 5 Quality Degradation Analysis of Distributed Software Systems Considering Malware