Автор: Javaid Iqbal, Faheem Syeed Masoodi, Ishfaq Ahmad Malik, Shozab Khurshid, Iqra Saraf
Издательство: CRC Press
Год: 2024
Страниц: 273
Язык: английский
Формат: pdf (true), epub (true)
Размер: 29.6 MB
Because of the growing reliance on software, concerns are growing as to how reliable a system is before it is commissioned for use, how high the level of reliability is in the system, and how many vulnerabilities exist in the system before its operationalization. Equally pressing issues include how to secure the system from internal and external security threats that may exist in the face of resident vulnerabilities. These two problems are considered increasingly important because they necessitate the development of tools and techniques capable of analyzing dependability and security aspects of a system. These concerns become more pronounced in the cases of safety-critical and mission-critical systems. System Reliability and Security: Techniques and Methodologies focuses on the use of soft computing techniques and analytical techniques in the modeling and analysis of dependable and secure systems.
The study of Software Defect Prediction Approaches (SDP) is crucial to the area of Software Engineering (SE). The creation of models for estimating defect rates, identifying defect patterns, and categorizing software module defect proneness typically into defective and non-defective has received a lot of attention in this area. We initially give a quick overview of the conventional software fault prediction process in this section. We can make the following observations by contrasting and analyzing the aforementioned machine-learning/deep-learning-based defect prediction approaches: (1) In order to accommodate various prediction scenarios, defect prediction systems typically directly use or adapt well-known Machine Learning algorithms. (2) The majority of defect prediction algorithms use supervised learning strategies to create classification models. Prediction performance, particularly classification accuracy, may generally be improved using supervised defect prediction approaches. (3) Deep learning approaches learn features automatically, which is better than learning on manually created features. (4) GNN models optimize the downstream task of defect prediction by utilizing the graph structure of a program (AST/CFG/DFG) and incorporating both node as well neighborhood information.
Software Testing and Quality Assurance: In general, testing is intended to uncover the errors that creep in unintentionally during the design and construction of software systems/models or to verify whether the model meets the expected objectives. In contrast to traditional software development, AI/ML models are constructed inductively. That is, the behavior of the model is generated/designed from training data. Therefore, besides noisy data, the potential causes for undesired behavior in AI/ML include execution environment, design mis-specification, poor choice of model, program code, numerical instability, and non-convex objectives. Traditional development testing techniques, i.e., code/test coverage, and mutation/property testing, etc., try to increase the structural coverage of the program code. Therefore, they are not competent to be used in forms of AI/ML (deep/reinforcement learning etc.), where program codes are data hungry/dependent. The inductive nature of AI/ML systems also makes it difficult and challenging to identify and localize the bugs in a program code. More importantly, AI/ML models expect huge amounts of data, hence extending the canvas of testing, heterogeneity, management, manipulation, quality, integration, labeling, estimation, statistical drifts, effort and budget.
System reliability engineering is a multidisciplinary field that uses computational methods for estimating or predicting the reliability aspects of a system and analyzing failure data obtained from real-world projects. System security is a related field that ensures that even a reliable system is secure against accidental or deliberate intrusions and is free of vulnerabilities. This book covers tools and techniques, cutting-edge research topics, and methodologies in the areas of system reliability and security. It examines prediction models and methods as well as how to secure a system as it is being developed.
Скачать System Reliability and Security: Techniques and Methodologies