Computer Science Software

Software Reliability and Analysis Research

Description

This cluster of papers focuses on the assessment and prediction of software reliability, utilizing architecture-based approaches, testing-effort dependent models, neural networks, and fault detection and correction processes. It also explores the reliability of component-based systems, NHPP models, open source software, and sensitivity analysis using Markov chain models.

Keywords

Architecture-Based Approach; Software Reliability Modeling; Testing-Effort Dependent Models; Component-Based Systems; Neural Network; Fault Detection and Correction; NHPP Models; Open Source Software; Sensitivity Analysis; Markov Chain Models

Preface. 1 Introduction. 1.1 Conceptualization and Analysis of Trajectories. 1.2 Three Initial Questions About Trajectories. 1.3 Brief History of Latent Curve Models. 1.4 Organization of the Remainder of the Book. … Preface. 1 Introduction. 1.1 Conceptualization and Analysis of Trajectories. 1.2 Three Initial Questions About Trajectories. 1.3 Brief History of Latent Curve Models. 1.4 Organization of the Remainder of the Book. 2 Unconditional Latent Curve Model. 2.1 Repeated Measures. 2.2 General Model and Assumptions. 2.3 Identification. 2.4 Case-By-Case Approach. 2.5 Structural Equation Model Approach. 2.6 Alternative Approaches to the SEM. 2.7 Conclusions. Appendix 2A: Test Statistics, Nonnormality, and Statistical Power. 3 Missing Data and Alternative Metrics of Time. 3.1 Missing Data. 3.2 Missing Data and Alternative Metrics of Time. 3.3 Conclusions. 4 Nonlinear Trajectories and the Coding of Time. 4.1 Modeling Nonlinear Functions of Time. 4.2 Nonlinear Curve Fitting: Estimated Factor Loadings. 4.3 Piecewise Linear Trajectory Models. 4.4 Alternative Parametric Functions. 4.5 Linear Transformations of the Metric of Time. 4.6 Conclusions. Appendix 4A: Identification of Quadratic and Piecewise Latent Curve Models. 4A.1 Quadratic LCM. 4A.2 Piecewise LCM. 5 Conditional Latent Curve Models. 5.1 Conditional Model and Assumptions. 5.2 Identification. 5.3 Structural Equation Modeling Approach. 5.4 Interpretation of Conditional Model Estimates. 5.5 Empirical Example. 5.6 Conclusions. 6 The Analysis of Groups. 6.1 Dummy Variable Approach. 6.2 Multiple-Group Analysis. 6.3 Unknown Group Membership. 6.4 Conclusions. Appendix 6A: Case-by-Case Approach to Analysis of Various Groups. 6A.1 Dummy Variable Method. 6A.2 Multiple-Group Analysis. 6A.3 Unknown Group Membership. 6A.4 Appendix Summary. 7 Multivariate Latent Curve Models. 7.1 Time-Invariant Covariates. 7.2 Time-Varying Covariates. 7.3 Simultaneous Inclusion of Time-Invariant and Time-Varying Covariates. 7.4 Multivariate Latent Curve Models. 7.5 Autoregressive Latent Trajectory Model. 7.6 General Equation for All Models. 7.7 Implied Moment Matrices. 7.8 Conclusions. 8 Extensions of Latent Curve Models. 8.1 Dichotomous and Ordinal Repeated Measures. 8.2 Repeated Latent Variables with Multiple Indicators. 8.3 Latent Covariates. 8.4 Conclusions. References. Author Index. Subject Index.
Computer software reliability has never been so important. Computers are used in areas as diverse as air traffic control, nuclear reactors, real-time military, industrial process control, security sys Computer software reliability has never been so important. Computers are used in areas as diverse as air traffic control, nuclear reactors, real-time military, industrial process control, security sys
Safe Reinforcement Learning can be defined as the process of learning policies that maximize the expectation of the return in problems in which it is important to ensure reasonable system … Safe Reinforcement Learning can be defined as the process of learning policies that maximize the expectation of the return in problems in which it is important to ensure reasonable system performance and/or respect safety constraints during the learning and/or deployment processes. We categorize and analyze two approaches of Safe Reinforcement Learning. The first is based on the modification of the optimality criterion, the classic discounted finite/infinite horizon, with a safety factor. The second is based on the modification of the exploration process through the incorporation of external knowledge or the guidance of a risk metric. We use the proposed classification to survey the existing literature, as well as suggesting future directions for Safe Reinforcement Learning.
The theory permits the estimation, in advance of a project, of the amount of testing in terms of execution time required to achieve a specified reliability goal [stated as a … The theory permits the estimation, in advance of a project, of the amount of testing in terms of execution time required to achieve a specified reliability goal [stated as a mean time to failure (MTTF)]. Execution time can then be related to calendar time, permitting a schedule to be developed. Estimates of execution time and calendar time remaining until the reliability goal is attained can be continually remade as testing proceeds, based only on the length of the execution time intervals between failures. The current MTTF and the number of errors remaining can also be estimated. Maximum likelihood estimation is employed, and confidence intervals are also established. The foregoing information is obviously very valuable in scheduling and monitoring the progress of program testing. A program has been implemented to compute the foregoing quantities. The reliability model that has been developed can be used in making system tradeoffs involving software or software and hardware components. It also provides a soundly based unit of measure for the comparative evaluation of various programming techniques that are expected to enhance reliability. The model has been applied to four medium-sized software development projects, all of which have completed their life cycles.
<i xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">N</i> -version programming has been proposed as a method of incorporating fault tolerance into software. Multiple versions of a program (i.e. ` <i xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">N</i> ') are prepared … <i xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">N</i> -version programming has been proposed as a method of incorporating fault tolerance into software. Multiple versions of a program (i.e. ` <i xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">N</i> ') are prepared and executed in parallel. Their outputs are collected and examined by a voter, and, if they are not identical, it is assumed that the majority is correct. This method depends for its reliability improvement on the assumption that programs that have been developed independently will fail independently. An experiment is described in which the fundamental axiom is tested. In all, 27 versions of a program were prepared independently from the same specification at two universities and then subjected to one million tests. The results of the tests revealed that the programs were individually extremely reliable but that the number of tests in which more than one program failed was substantially more than expected. The results of these tests are presented along with an analysis of some of the faults that were found in the programs. Background information on the programmers used is also summarized.
This paper presents a stochastic model for the software failure phenomenon based on a nonhomogeneous Poisson process (NHPP). The failure process is analyzed to develop a suitable meanvalue function for … This paper presents a stochastic model for the software failure phenomenon based on a nonhomogeneous Poisson process (NHPP). The failure process is analyzed to develop a suitable meanvalue function for the NHPP; expressions are given for several performance measures. Actual software failure data are analyzed and compared with a previous analysis.
Probability and Statistics with Reliability, Queuing and Computer Science Applications, Second Edition, offers a comprehensive introduction to probabiliby, stochastic processes, and statistics for students of computer science, electrical and computer … Probability and Statistics with Reliability, Queuing and Computer Science Applications, Second Edition, offers a comprehensive introduction to probabiliby, stochastic processes, and statistics for students of computer science, electrical and computer engineering, and applied mathematics. Its wealth of practical examples and up-to-date information makes it an excellent resource for practitioners as well.
Studies stochastic models of queueing, reliability, inventory, and sequencing in which random influences are considered. One stochastic mode--rl is approximated by another that is simpler in structure or about which … Studies stochastic models of queueing, reliability, inventory, and sequencing in which random influences are considered. One stochastic mode--rl is approximated by another that is simpler in structure or about which simpler assumptions can be made. After general results on comparison properties of random variables and stochastic processes are given, the properties are illustrated by application to various queueing models and questions in experimental design, renewal and reliability theory, PERT networks and branching processes.
The authors introduce a new programming language concept, called typestate, which is a refinement of the concept of type. Whereas the type of a data object determines the set of … The authors introduce a new programming language concept, called typestate, which is a refinement of the concept of type. Whereas the type of a data object determines the set of operations over permitted on the object, typestate determines the subset of these operations which is permitted in a particular context. Typestate tracking is a program analysis technique which enhances program reliability by detecting at compile-time syntactically legal but semantically undefined execution sequences. These include reading a variable before it has been initialized and dereferencing a pointer after the dynamic object has been deallocated. The authors define typestate, give examples of its application, and show how typestate checking may be embedded into a compiler. They discuss the consequences of typestate checking for software reliability and software structure, and summarize their experience in using a high-level language incorporating typestate checking.
Between June 1985 and January 1987, the Therac-25 medical electron accelerator was involved in six massive radiation overdoses. As a result, several people died and others were seriously injured. A … Between June 1985 and January 1987, the Therac-25 medical electron accelerator was involved in six massive radiation overdoses. As a result, several people died and others were seriously injured. A detailed investigation of the factors involved in the software-related overdoses and attempts by users, manufacturers, and government agencies to deal with the accidents is presented. The authors demonstrate the complex nature of accidents and the need to investigate all aspects of system development and operation in order to prevent future accidents. The authors also present some lessons learned in terms of system engineering, software engineering, and government regulation of safety-critical systems containing software components.< <ETX xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">&gt;</ETX>
From the Publisher: This book is the Second Edition of the highly successful Software Metrics: A Rigorous Approach. The book has been comprehensively re-written and re-designed to take account of … From the Publisher: This book is the Second Edition of the highly successful Software Metrics: A Rigorous Approach. The book has been comprehensively re-written and re-designed to take account of the fast changing developments in software metrics, most notably their widespread penetration into industrial practice. Thus there are now extensive case studies, worked examples, and exercises. While every section of the book has been improved and updated, there are also entirely new sections dealing with process maturity and measurement, goal-question-metric, metrics plans, experimentation, empirical studies, object-oriented metrics, and metrics tools. The book continues to provide an accessible and comprehensive introduction to software metrics, now an essential component in the software engineering process. Software Metrics, 2/e is ideal for undergraduate and graduates studying a course in software metrics or software quality assurance. It also provides an excellent resource for practitioners in industry.
A systematic approach to organizing the process of determining the operational profile for guiding software development is presented. The operational profile is a quantitative characterization of how a system will … A systematic approach to organizing the process of determining the operational profile for guiding software development is presented. The operational profile is a quantitative characterization of how a system will be used that shows how to increase productivity and reliability and speed development by allocating development resources to function on the basis of use. Using an operational profile to guide testing ensures that if testing is terminated and the software is shipped because of schedule constraints, the most-used operations will have received the most testing and the reliability level will be the maximum that is practically achievable for the given test time. For guiding regression testing, it efficiently allocates test cases in accordance with use, so the faults most likely to be found, of those introduced by changes, are the ones that have the most effect on reliability.< <ETX xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">&gt;</ETX>
This paper investigates a stochastic model for a software error detection process in which the growth curve of the number of detected software errors for the observed data is S-shaped. … This paper investigates a stochastic model for a software error detection process in which the growth curve of the number of detected software errors for the observed data is S-shaped. The software error detection model is a nonhomogeneous Poisson process where the mean-value function has an S-shaped growth curve. The model is applied to actual software error data. Statistical inference on the unknown parameters is discussed. The model fits the observed data better than other models.
A description is given of a software-process maturity framework that has been developed to provide the US Department of Defense with a means to characterize the capabilities of software-development organizations. … A description is given of a software-process maturity framework that has been developed to provide the US Department of Defense with a means to characterize the capabilities of software-development organizations. This software-development process-maturity model reasonably represents the actual ways in which software-development organizations improve. It provides a framework for assessing these organizations and identifying the priority areas for immediate improvement. It also helps identify those places where advanced technology can be most valuable in improving the software-development process. The framework can be used by any software organization to assess its own capabilities and identify the most important areas for improvement.< <ETX xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">&gt;</ETX>
This article describes a formal analysis technique, called consistency checking , for automatic detection of errors, such as type errors, nondeterminism, missing cases, and circular definitions, in requirements specifications. The … This article describes a formal analysis technique, called consistency checking , for automatic detection of errors, such as type errors, nondeterminism, missing cases, and circular definitions, in requirements specifications. The technique is designed to analyze requirements specifications expressed in the SCR (Software Cost Reduction) tabular notation. As background, the SCR approach to specifying requirements is reviewed. To provide a formal semantics for the SCR notation and a foundation for consistency checking, a formal requirements model is introduced; the model represents a software system as a finite-state automation which produces externally visible outputs in response to changes in monitored environmental quantities. Results of two experiments are presented which evaluated the utility and scalability of our technique for consistency checking in real-world avionics application. The role of consistency checking during the requirements phase of software development is discussed.
Evolution of the N-version software approach to the tolerance of design faults is reviewed. Principal requirements for the implementation of N-version software are summarized and the DEDIX distributed supervisor and … Evolution of the N-version software approach to the tolerance of design faults is reviewed. Principal requirements for the implementation of N-version software are summarized and the DEDIX distributed supervisor and testbed for the execution of N-version software is described. Goals of current research are presented and some potential benefits of the N-version approach are identified.
Schemes of concurrent programs are considered. The result of a scheme is defined as a set of traces, where each trace is a partially ordered set of symbol occurrences. It … Schemes of concurrent programs are considered. The result of a scheme is defined as a set of traces, where each trace is a partially ordered set of symbol occurrences. It is shown that to each scheme corresponds a set of equations determining the result of the scheme; it is shown how these equations can be solved and that the solutions of these equations are regular trace languages. Next, a notion of action systems is introduced; an action consists of its resources and its transformation. Some properties of action systems are shown. Interpretations of schemes are defined as mappings which assign actions to scheme symbols. Interpreted schemes can be regarded as concurrent programs. It is shown how the results of schemes can be lifted (via interpretations) to the results of programs. Some examples of applications of the described methods to prove concurrent programs correct are given.
A user-oriented reliability model has been developed to measure the reliability of service that a system provides to a user community. It has been observed that in many systems, especially … A user-oriented reliability model has been developed to measure the reliability of service that a system provides to a user community. It has been observed that in many systems, especially software systems, reliable service can be provided to a user when it is known that errors exist, provided that the service requested does not utilize the defective parts. The reliability of service, therefore, depends both on the reliability of the components and the probabilistic distribution of the utilization of the components to provide the service. In this paper, a user-oriented software reliability figure of merit is defined to measure the reliability of a software system with respect to a user environment. The effects of the user profile, which summarizes the characteristics of the users of a system, on system reliability are discussed. A simple Markov model is formulated to determine the reliability of a software system based on the reliability of each individual module and the measured intermodular transition probabilities as the user profile. Sensitivity analysis techniques are developed to determine modules most critical to system reliability. The applications of this model to develop cost-effective testing strategies and to determine the expected penalty cost of failures are also discussed. Some future refinements and extensions of the model are presented.
Technical foundations introduction software reliability and system reliability the operational profile software reliability modelling survey model evaluation and recalibration techniques practices and experiences best current practice of SRE software reliability … Technical foundations introduction software reliability and system reliability the operational profile software reliability modelling survey model evaluation and recalibration techniques practices and experiences best current practice of SRE software reliability measurement experience measurement-based analysis of software reliability software fault and failure classification techniques trend analysis in validation and maintenance software reliability and field data analysis software reliability process assessment emerging techniques software reliability prediction metrics software reliability and testing fault-tolerant SRE software reliability using fault trees software reliability process simulation neural networks and software reliability. Appendices: software reliability tools software failure data set repository.
Orthogonal defect classification (ODC), a concept that enables in-process feedback to software developers by extracting signatures on the development process from defects, is described. The ideas are evolved from an … Orthogonal defect classification (ODC), a concept that enables in-process feedback to software developers by extracting signatures on the development process from defects, is described. The ideas are evolved from an earlier finding that demonstrates the use of semantic information from defects to extract cause-effect relationships in the development process. This finding is leveraged to develop a systematic framework for building measurement and analysis methods. The authors define ODC and discuss the necessary and sufficient conditions required to provide feedback to a developer; illustrate the use of the defect type distribution to measure the progress of a product through a process; illustrate the use of the defect trigger distribution to evaluate the effectiveness and eventually the completeness of verification processes such as inspection or testing; provides sample results from pilot projects using ODC; and open the doors to a wide variety of analysis techniques for providing effective and fast feedback based on the concepts of ODC.< <ETX xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">&gt;</ETX>
The development of techniques for quantitative, model-based evaluation of computer system dependability has a long and rich history. A wide array of model-based evaluation techniques is now available, ranging from … The development of techniques for quantitative, model-based evaluation of computer system dependability has a long and rich history. A wide array of model-based evaluation techniques is now available, ranging from combinatorial methods, which are useful for quick, rough-cut analyses, to state-based methods, such as Markov reward models, and detailed, discrete-event simulation. The use of quantitative techniques for security evaluation is much less common, and has typically taken the form of formal analysis of small parts of an overall design, or experimental red team-based approaches. Alone, neither of these approaches is fully satisfactory, and we argue that there is much to be gained through the development of a sound model-based methodology for quantifying the security one can expect from a particular design. In this work, we survey existing model-based techniques for evaluating system dependability, and summarize how they are now being extended to evaluate system security. We find that many techniques from dependability evaluation can be applied in the security domain, but that significant challenges remain, largely due to fundamental differences between the accidental nature of the faults commonly assumed in dependability evaluation, and the intentional, human nature of cyber attacks.
Advance knowledge of which files in the next release of a large software system are most likely to contain the largest numbers of faults can be a very valuable asset. … Advance knowledge of which files in the next release of a large software system are most likely to contain the largest numbers of faults can be a very valuable asset. To accomplish this, a negative binomial regression model has been developed and used to predict the expected number of faults in each file of the next release of a system. The predictions are based on the code of the file in the current release, and fault and modification history of the file from previous releases. The model has been applied to two large industrial systems, one with a history of 17 consecutive quarterly releases over 4 years, and the other with nine releases over 2 years. The predictions were quite accurate: for each release of the two systems, the 20 percent of the files with the highest predicted number of faults contained between 71 percent and 92 percent of the faults that were actually detected, with the overall average being 83 percent. The same model was also used to predict which files of the first system were likely to have the highest fault densities (faults per KLOC). In this case, the 20 percent of the files with the highest predicted fault densities contained an average of 62 percent of the system's detected faults. However, the identified files contained a much smaller percentage of the code mass than the files selected to maximize the numbers of faults. The model was also used to make predictions from a much smaller input set that only contained fault data from integration testing and later. The prediction was again very accurate, identifying files that contained from 71 percent to 93 percent of the faults, with the average being 84 percent. Finally, a highly simplified version of the predictor selected files containing, on average, 73 percent and 74 percent of the faults for the two systems.
If you are a software developer, manager, or maintainer, quality is often on your mind. But what do you really mean by software quality? Is your definition adequate? Is the … If you are a software developer, manager, or maintainer, quality is often on your mind. But what do you really mean by software quality? Is your definition adequate? Is the software you produce better or worse than you would like it to be? We put software quality on trial, examining both the definition and evaluation of our software products and processes.
With the ever-growing complexity and dynamicity of computer systems, proactive fault management is an effective approach to enhancing availability. Online failure prediction is the key to such techniques. In contrast … With the ever-growing complexity and dynamicity of computer systems, proactive fault management is an effective approach to enhancing availability. Online failure prediction is the key to such techniques. In contrast to classical reliability methods, online failure prediction is based on runtime monitoring and a variety of models and methods that use the current state of a system and, frequently, the past experience as well. This survey describes these methods. To capture the wide spectrum of approaches concerning this area, a taxonomy has been developed, whose different approaches are explained and major concepts are described in detail.
If the performance of a computing system is "degradable," performance and reliability issues must be dealt with simultaneously in the process of evaluating system effectiveness. For this purpose, a unified … If the performance of a computing system is "degradable," performance and reliability issues must be dealt with simultaneously in the process of evaluating system effectiveness. For this purpose, a unified measure, called "performability," is introduced and the foundations of performability modeling and evaluation are established. A critical step in the modeling process is the introduction of a "capability function" which relates low-level system behavior to user-oriented performance levels. A hierarchical modeling scheme is used to formulate the capability function and capability is used, in turn, to evaluate performability. These techniques are then illustrated for a specific application: the performability evaluation of an aircraft computer in the environment of an air transport mission.
A new software reliability model is developed that predicts expected failures (and hence related reliability quantities) as well or better than existing software reliability models, and is simpler than any … A new software reliability model is developed that predicts expected failures (and hence related reliability quantities) as well or better than existing software reliability models, and is simpler than any of the models that approach it in predictive validity. The model incorporates both execution time and calendar time components, each of which is derived. The model is evaluated, using actual data, and compared with other models.
This paper discusses improvements to conventional software reliability analysis models by making the assumptions on which they are based more realistic. In an actual project environment, sometimes no more information … This paper discusses improvements to conventional software reliability analysis models by making the assumptions on which they are based more realistic. In an actual project environment, sometimes no more information is available than reliability data obtained from a test report. The models described here are designed to resolve the problems caused by this constraint on the availability of reliability data. By utilizing the technical knowledge about a program, a test, and test data, we can select an appropriate software reliability analysis model for accurate quality assessment. The delayed S-shaped growth model, the inflection S-shaped model, and the hyperexponential model are proposed.
A number of analytical models have been proposed during the past 15 years for assessing the reliability of a software system. In this paper we present an overview of the … A number of analytical models have been proposed during the past 15 years for assessing the reliability of a software system. In this paper we present an overview of the key modeling approaches, provide a critical analysis of the underlying assumptions, and assess the limitations and applicability of these models during the software development cycle. We also propose a step-by-step procedure for fitting a model and illustrate it via an analysis of failure data from a medium-sized real-time command and control software system.
Seventh Edition of the successful Introduction to Probability Models introduces elementary probability theory and stochastic processes. This book is particularly well-suited to those applying probability theory to the study of … Seventh Edition of the successful Introduction to Probability Models introduces elementary probability theory and stochastic processes. This book is particularly well-suited to those applying probability theory to the study of phenomena in engineering, management science, the physical and social sciences, and operations research. Skillfully organized, Introduction to Probability Models covers all essential topics. Sheldon Ross, a talented and prolific textbook author, distinguishes this book by his effort to develop in students an intuitive, and therefore lasting, grasp of probability theory. Ross' classic and best-selling text has been carefully and substantially revised. Seventh Edition includes many new examples and exercises, with the majority of the new exercises being of the easier type. Also, the book introduces stochastic processes, stressing applications, in an easily understood manner. There is a comprehensive introduction to the applied models of probability that stresses intuition. Both professionals, researchers, and the interested reader will agree that this is the most solid and widely used book for probability theory. Features: * Provides a detailed coverage of the Markov Chain Monte Carlo methods and Markov Chain covertimes * Gives a thorough presentation of k-record values and the surprising Ignatov's * theorem * Includes examples relating to: Random walks to circles, The matching rounds problem, The best prize problem, and many more * Contains a comprehensive appendix with the answers to approximately 100 exercises from throughout the text * Accompanied by a complete instructor's solutions manual with step-by-step solutions to all exercises New to this edition: * Includes many new and easier examples and exercises * Offers new material on utilizing probabilistic method in combinatorial optimization problems * Includes new material on suspended animation reliability models * Contains new material on random algorithms and cycles of random permutations
At first there was the Markov property. The theory of stochastic processes, which can be considered as an exten sion of probability theory, allows the modeling of the evolution of … At first there was the Markov property. The theory of stochastic processes, which can be considered as an exten sion of probability theory, allows the modeling of the evolution of systems through the
Embedded software is deployed in billions of devices worldwide, including in safety-sensitive systems like medical devices and autonomous vehicles. Defects in embedded software can have severe consequences. Many embedded software … Embedded software is deployed in billions of devices worldwide, including in safety-sensitive systems like medical devices and autonomous vehicles. Defects in embedded software can have severe consequences. Many embedded software products incorporate Open-Source Embedded Software (EMBOSS), so it is important for EMBOSS engineers to use appropriate mechanisms to avoid defects. One of the common security practices is to use Static Application Security Testing (SAST) tools, which help identify commonly occurring vulnerabilities. Existing research related to SAST tools focuses mainly on regular (or non-embedded) software. There is a lack of knowledge about the use of SAST tools in embedded software. Furthermore, embedded software greatly differs from regular software in terms of semantics, software organization, coding practices, and build setup. All of these factors influence SAST tools and could potentially affect their usage. In this experience paper, we report on a large-scale empirical study of SAST in EMBOSS repositories. We collected a corpus of 258 of the most popular EMBOSS projects, and then measured their use of SAST tools via program analysis and a survey (N=25) of their developers. Advanced SAST tools are rarely used -- only 3% of projects go beyond trivial compiler analyses. Developers cited the perception of ineffectiveness and false positives as reasons for limited adoption. Motivated by this deficit, we applied the state-of-the-art (SOTA) CodeQL SAST tool and measured its ease of use and actual effectiveness. Across the 258 projects, CodeQL reported 709 true defects with a false positive rate of 34%. There were 535 (75%) likely security vulnerabilities, including in major projects maintained by Microsoft, Amazon, and the Apache Foundation. EMBOSS engineers have confirmed 376 (53%) of these defects, mainly by accepting our pull requests. Two CVEs were issued. Based on these results, we proposed pull requests to include our workflows as part of EMBOSS Continuous Integration (CI) pipelines, 37 (71% of active repositories) of these are already merged. In summary, we urge EMBOSS engineers to adopt the current generation of SAST tools, which offer low false positive rates and are effective at finding security-relevant defects.
季 潘 | International Conference on Frontiers of Traffic and Transportation Engineering (FTTE 2022)
Open-source software is gaining popularity in industrial projects due to its accessibility and cost-effectiveness. However, concerns persist about its quality and reliability. To assess software reliability quantitatively, software reliability models … Open-source software is gaining popularity in industrial projects due to its accessibility and cost-effectiveness. However, concerns persist about its quality and reliability. To assess software reliability quantitatively, software reliability models are utilized, with the unknown parameters of these models typically determined using statistical techniques. In many cases, these methods fail to converge to the global optimal solution of parameter estimation of nonlinear mathematical models and are quite sensitive to the initial guesses of unknown parameters. This necessitates employing a high-quality parameter estimation technique. The study demonstrates the potential application of nine nature-inspired swarm intelligence-based algorithms to address nonlinear parameter estimation problems and effectively identify the global optimal solution with high likelihood, irrespective of the initial guess. These typical algorithms are classified into several categories, including animal-inspired algorithms such as grey wolf optimizer, insect-inspired algorithms such as artificial bee colony, social spider optimization, firefly algorithm, and moth flame optimization, bird-inspired algorithms such as particle swarm optimization, sea creature-inspired algorithms such as whale optimization algorithm, and plant-inspired algorithms such as flower pollination algorithm and dandelion optimizer. Three real-world, open-source reliability datasets are utilized to assess the efficacy of these algorithms in estimating the parameters of two prominent non-homogeneous Poisson process models in software reliability.
M. Anitha , K.Bindu sree , B. Lavanya +1 more | International jounal of information technology and computer engineering.
As software systems grow increasingly complex,ensuring their security becomes paramount.Vulnerabilities in software can lead to devastatingconsequences, including data breaches, systemcompromise, and financial losses. Traditionalmethods of detecting vulnerabilities rely heavily onmanual … As software systems grow increasingly complex,ensuring their security becomes paramount.Vulnerabilities in software can lead to devastatingconsequences, including data breaches, systemcompromise, and financial losses. Traditionalmethods of detecting vulnerabilities rely heavily onmanual code inspection, which is time-consumingand error-prone. In recent years, machine learning(ML) algorithms have emerged as promising toolsfor automating the detection of softwarevulnerabilities.This research proposes a novel software vulnerabilitydetection tool that leverages machine learningalgorithms. The tool utilizes supervised learningtechniques to analyze code repositories and identifypotential vulnerabilities. By training on labeleddatasets of known vulnerabilities, the system learnsto recognize patterns indicative of security flaws. Email: [email protected]
The accurate prediction of both detected and corrected faults is crucial for enhancing software reliability and determining optimal release times. Traditional Software Reliability Growth Models (SRGMs) often focus on either … The accurate prediction of both detected and corrected faults is crucial for enhancing software reliability and determining optimal release times. Traditional Software Reliability Growth Models (SRGMs) often focus on either fault detection or correction, potentially overlooking the comprehensive view needed for effective software maintenance. This paper introduces a Dense Neural Network (DNN)-based model that predicts both detected and corrected faults using data from the initial testing phase. The proposed model adopted a simpler architecture to reduce computational overhead and minimize time complexity, making it suitable for real-world applications. By incorporating logarithmic encoding, the model effectively manages missing data and performs well with smaller datasets, which are common in early testing stages. The proposed model is compared with existing approaches, demonstrating superior results across multiple datasets. This comparative analysis highlights the model's enhanced predictive accuracy, computational efficiency, and less time complexity. Additionally, the predicted faults are used to determine the optimal release time, based on the customer's reliability requirements and the minimum cost necessary to achieve that reliability. By offering a more comprehensive and accurate prediction of software reliability, this model provides a practical solution for software development teams, facilitating better decision-making in testing, maintenance, and release planning.
Matthew C. Ledwith , Raymond R. Hill , L. Champagne +1 more | The Journal of Defense Modeling and Simulation Applications Methodology Technology
Operationally validating military and defense queuing models requires the rigorous assessment of agreement between functional responses of the model and the system or process of interest. This article provides and … Operationally validating military and defense queuing models requires the rigorous assessment of agreement between functional responses of the model and the system or process of interest. This article provides and contextualizes two distance-based validation methods for operationally validating complex transient-phase military and defense queuing models. The limits of agreement approach and the probability of agreement approach, both developed within the measurement system comparison literature, are contextualized through an illustrative M/M/1 queuing model application derived from the military air traffic control domain. The limits of agreement approach characterizes agreement through an evaluation of the differences between observations and predictions on the same entity, while the probability of agreement approach uses a mixed-effects structural model to characterize the relationship between observations and predictions. The procedures and results of both methods are juxtaposed against common Boolean-based statistical methods and are used to establish global predictive capabilities useful for calibrating military and defense queuing models over multiple settings of controllable input.
| International Journal of Advanced Trends in Computer Science and Engineering
The early prediction of software failure is important in the field of software engineering since it leads to the development of better quality software, along with a reduction in maintenance … The early prediction of software failure is important in the field of software engineering since it leads to the development of better quality software, along with a reduction in maintenance cost and effort. However, even though there is growing interest in early prediction of software failure, the existing literature shows some gaps. While many studies are quite reliant on static code metrics or test case execution data, they tend to miss out on vital dynamic and contextual information which can be obtained by analyzing software system logs. Log data is regularly created by computing systems during their runtime and contains rich information including event sequences, timestamps, error messages, and system states that can potentially being utilized in the identification of anomalies and predictions of failures on real-time. The objective of this work is to categorize the existing literature on the use of system logs for predicting software, through systematic literature review, with the help of the guidelines from Barbara Kitchenham. The review categorizes system logs into four primary parameters: resource/hardware logs, workload/performance logs, network logs, and security logs. It also highlights the machine learning models. The findings reveal that log attributes such as CPU usage, memory utilization, disk space, transaction processing, and network errors are consistently identified as key predictors of software failure. This finding aligns with expert opinions, demonstrating strong agreement on the relevance of these attributes for predicting software failure. This study contributes to the growing body of knowledge on software failure prediction, emphasizing the importance of integrating machine learning with systematic log monitoring to enhance proactive system failure management. Future work should focus on developing real-time monitoring tools that leverage machine learning models to automate failure detection and prediction across various system components.
Sankar Ramachandran | International Journal of Computational and Experimental Science and Engineering
: In this paper, we explore innovative techniques for repairing and optimizing XPath expressions used in Selenium automation scripts, ensuring greater reliability and maintainability of test cases. Our focus will … : In this paper, we explore innovative techniques for repairing and optimizing XPath expressions used in Selenium automation scripts, ensuring greater reliability and maintainability of test cases. Our focus will be on identifying common pitfalls in XPath usage and presenting solutions that enhance the robustness of automated tests, ultimately leading to more efficient testing processes. By employing advanced algorithms and heuristics, we aim to streamline the process of XPath repair, allowing testers to quickly identify and rectify issues that may arise due to changes in the web application's structure. This paper will also discuss the importance of integrating these repair techniques into continuous integration pipelines, enabling teams to maintain high-quality test automation while adapting swiftly to evolving application environments. Integrating these techniques not only improves test resilience but also fosters a culture of proactive quality assurance, where teams can confidently deploy updates without the fear of broken tests undermining their efforts. This proactive approach ultimately leads to more reliable software releases, as teams can focus on innovation and feature development rather than being bogged down by frequent test failures. By prioritizing test automation repair within the development cycle, organizations can enhance collaboration among team members and streamline their workflows, ensuring that quality remains a shared responsibility rather than an afterthought. This shift towards a collaborative quality mindset empowers teams to achieve greater efficiency and responsiveness, ultimately driving business success in a competitive landscape. This transformation not only fosters a culture of accountability but also encourages continuous improvement, as teams learn from past challenges and adapt their processes to better meet evolving customer needs. Embracing this approach allows organizations to not only reduce the time spent on resolving test failures but also to focus on delivering innovative solutions that resonate with their target audience, thereby staying ahead of market trends. By prioritizing quality at every stage of the development process, businesses can enhance customer satisfaction and build long-lasting relationships based on trust and reliability.
Takemichi Nakamura | Journal of the Mass Spectrometry Society of Japan
Recent advances in prompt learning have opened new avenues for enhancing natural language understanding in domain-specific tasks, including code vulnerability detection. Motivated by the limitations of conventional binary classification methods … Recent advances in prompt learning have opened new avenues for enhancing natural language understanding in domain-specific tasks, including code vulnerability detection. Motivated by the limitations of conventional binary classification methods in capturing complex code semantics, we propose a novel framework that integrates a two-stage prompt optimization mechanism with hierarchical representation learning. Our approach leverages graphon theory to generate task-adaptive, structurally enriched prompts by encoding both contextual and graphical information into trainable vector representations. To further enhance representational capacity, we incorporate the pretrained model CodeBERTScore, a syntax-aware encoder, and Graph Neural Networks, enabling comprehensive modeling of both local syntactic features and global structural dependencies. Experimental results on three public datasets—FFmpeg+Qemu, SVulD and Reveal—demonstrate that our method performs competitively across all benchmarks, achieving accuracy rates of 64.40%, 83.44% and 90.69%, respectively. These results underscore the effectiveness of combining prompt-based learning with graph-based structural modeling, offering a more accurate and robust solution for automated vulnerability detection.
Enhancing the safety standards of autonomous ships is a shared objective of all stakeholders involved in the maritime industry. Since the existing hazard analysis work for autonomous ships often exhibits … Enhancing the safety standards of autonomous ships is a shared objective of all stakeholders involved in the maritime industry. Since the existing hazard analysis work for autonomous ships often exhibits a degree of subjectivity, in the absence of data support, the verification of hazard analysis results has become increasingly challenging. In this study, a formal verification method in a risk-based assessment framework is proposed to verify the hazard analysis results for autonomous ships. To satisfy the characteristics of high time sensitivity, time automata are adopted as a formal language while model checking based on the formal verification tool UPPAAL is used to complete the automatic verification of the liveness of system modeling and correctness of hazard analysis results derived from extended System-Theoretic Process Analysis (STPA) by traversing the finite state space of the system. The effectiveness of the proposed method is demonstrated through a case study involving a remotely controlled ship. The results indicate that the timed automata network model for remotely controlled ships, based on the control structure, has no deadlocks and operates correctly, which demonstrates its practicability and effectiveness. By leveraging the verification of risk analysis results based on model checking, the framework enhances the precision and traceability of these inputs into RBAT. The results disclose the significance of the collaborative work between safety and system engineering in the development of autonomous systems under the definition of human–computer interaction mode transformation. These findings also hold reference value for other intelligent systems with potential hazards.
The unified modeling language (UML) supports extension mechanisms called stereo-types, tagged values, and constraints to extend its modeling capabilities. These extension mechanisms are utilized to create new and customized profiles. … The unified modeling language (UML) supports extension mechanisms called stereo-types, tagged values, and constraints to extend its modeling capabilities. These extension mechanisms are utilized to create new and customized profiles. Their applications in modeling emerging security requirements are discussed. To model authentication, availability, integrity, access control, confidentiality, data integrity, non-repudiation, authorization, encryption, hashing, and session mechanisms, a set of novel stereotypes is proposed in this paper. The proposed stereotypes inherit from baseline security requirements. Further, security concepts within the UML diagram are represented using these stereotypes. In addition, the proposed stereotypes were evaluated with the help of human subject evaluation using real-world scenarios to illustrate the usefulness of these stereotypes in modelling security requirements. The contribution of this paper is a stereotyped model security requirements and library of existing security notations with high quality symbols which can be incorporated in existing and new stereotypes and diagrams to facilitate the process of security requirement modelling. Results indicate that the proposed stereotyped model improves the modeling process of security requirements. It also provides a better representation of emerging security mechanisms in software design. Finally, during the software development process, stakeholders enjoy improved communication and understanding of security requirements.
Legacy systems, characterized by their heterogeneity and outdated coding practices, present significant security challenges in modern software infrastructure. Recent advances in Large Language Models (LLMs) and Retrieval Augmented Generation (RAG) … Legacy systems, characterized by their heterogeneity and outdated coding practices, present significant security challenges in modern software infrastructure. Recent advances in Large Language Models (LLMs) and Retrieval Augmented Generation (RAG) offer promising solutions for vulnerability detection, as demonstrated by successful implementations of knowledge-level retrieval frameworks [1]. This research proposes LegacyGuard, a hybrid framework that integrates state-of-theart code-specific LLMs with traditional static analysis and RAG-enhanced knowledge retrieval to detect vulnerabilities in multilingual legacy codebases. The framework leverages LLM- based semantic analysis for deep code understanding, while incorporating external vulnerability intelligence through RAG to enhance detection accuracy. Through systematic evaluation using precision, recall, and F1-score metrics, this work aims to demonstrate improved vulnerability detection rates and provide actionable insights through chain-of-thought reasoning. The modular architecture ensures extensibility and adaptability for future security analysis applications, contributing to both theoretical foundations and practical implementations of AI-driven vulnerability detection in legacy systems.
Enhancing software quality remains a main objective for software developers and engineers, with a specific emphasis on improving software stability to increase user satisfaction. Developers must balance rigorous software testing … Enhancing software quality remains a main objective for software developers and engineers, with a specific emphasis on improving software stability to increase user satisfaction. Developers must balance rigorous software testing with tight schedules and budgets. This often forces them to choose between quality and cost. Traditional approaches rely on software reliability growth models but are often too complex and impractical for testing complex software environments. Addressing this issue, our study introduces a system dynamics approach to develop a more adaptable software reliability growth model. This model is specifically designed to handle the complexities of modern software testing scenarios. By utilizing a system dynamics model and a set of defined rules, we can effectively simulate and illustrate the impacts of testing and debugging processes on the growth of software reliability. This method simplifies the complex mathematical derivations that are commonly associated with traditional models, making it more accessible for real-world applications. The key innovation of our approach lies in its ability to create a dynamic and interactive model that captures the various elements influencing software reliability. This includes factors such as resource allocation, testing efficiency, error detection rates, and the feedback loops among these elements. By simulating different scenarios, software developers and project managers can gain deeper insights into the impact of their decisions on software quality and testing efficiency. This can provide valuable insights for decision-making and strategy formulation in software development and quality assurance.
This chapter presents a catalog of “failure” routines that were uncovered during the development of the Purpose Driven Architecture Practice (PDAP) body of knowledge. Where these routines differ from the … This chapter presents a catalog of “failure” routines that were uncovered during the development of the Purpose Driven Architecture Practice (PDAP) body of knowledge. Where these routines differ from the routines discussed earlier is in their effect. These are routines that while perhaps not actually guaranteeing a programs' failure certainly contribute to reducing its legitimacy. The chapter explains how failure routines undermine the three architectonic activities, providing examples. It points out the failure routines are replicated by the same reflexive behaviors and the danger of them becoming normative. It then briefly discusses the epistemological nature of failure routines. Finally, a catalog that lists 55 verified failure routines is presented with a limited commentary