Consequences of Mispredictions of Software Reliability: A Model and its Industrial Evaluation (original) (raw)
Related papers
Journal of Systems and Software, 2014
During software development two important decisions organizations have to make are: how to allocate testing resources optimally and when the software is ready for release. SRGMs (Software Reliability Growth Models) provide empirical basis for evaluating and predicting reliability of software systems. When using SRGMs for the purpose of optimizing testing resource allocation, the model's ability to accurately predict the expected defect inflow profile is useful. For assessing release readiness, the asymptote accuracy is the most important attribute. Although more than hundred models for software reliability have been proposed and evaluated over time, there exists no clear guide on which models should be used for a given software development process or for a given industrial domain.
Predicting Time Range of Development Based on Generalized Software Reliability Model
2014 21st Asia-Pacific Software Engineering Conference, 2014
Development environments have changed drastically, development periods are shorter than ever and the number of team members has increased. These changes have led to difficulties in controlling the development activities and predicting when the development will end. Especially, quality managers try to control software reliability and project managers try to estimate the end of development for planing developing term and distribute the manpower to other developments. In order to assess recent software developments, we propose a generalized software reliability model (GSRM) based on a stochastic process, and simulate developments that include uncertainties and dynamics. We also compare our simulation results to those of other software reliability models. Using the values of uncertainties and dynamics obtained from GSRM, we can evaluate the developments in a quantitative manner. Additionally, we use equations to define the uncertainty regarding the time required to complete a development, and predict whether or not a development will be completed on time. We compare GSRM with an existing model using two old actual datasets and one new actual dataset which we collected, and show that the approximation curve generated by GSRM is about 12% more precise than that generated by the existing model. Furthermore, GSRM can narrow down the predicted time range in which a development will end to less than 40% of that obtained by the existing model.
Review on Software Reliability Growth Models and Software Release Planning
International Journal of Computer Applications, 2013
In this paper, Software Reliability Engineering is a field that developed from ancestry in the reliability disciplines of structural, electrical, and hardware engineering. Reliability models are powerful tools of Software Reliability Engineering for estimating, predicting, devious, and assessing software reliability. On the basis of the review the cataloging of software reliability models has been presented as a major part. This categorization is based on the various dimensions of reliability models. Models under review reflect either infinite or finite number of failures. This paper discusses a twodimensional software reliability growth modeling framework. We measured that an actual software reliability growth progression depends not only on testing time but also on testing effort and also enables us to portray software release planning problem in software reliability growth process. Thus, we can say that software project managers can demeanor more viable and accurate software reliability appraisal by using two-dimensional SRGM.
Estimating Quality-Affecting Risks in Software Projects
Regardless how much effort we make for the success of software projects, many software projects have very high failure rates and risks during their life. In addition to technical risks, the projects normally suffer from risks caused by management practices and conflicts of interests. Risk is not always avoidable, but it is controllable. The aim of this paper is to improve quality of software projects of the participating companies while estimating the quality-affecting risks in IT software projects. The results showed that there were 40 common risks in software projects of IT companies in Palestine. The amount of technical and non-technical difficulties was very large. Our data showed, once again, that most of the risks were very important. The study has been conducted on a group of managers to improve the probability of project success.
Planning software maintenance work is a key factor for a successful maintenance project and for better project scheduling, monitoring, and control. To this aim, effort estimation is a valuable asset to maintenance managers in planning maintenance activities and performing cost/benefits analysis. Software practitioners recognize the importance of realistic estimates of effort to the successful management of software projects. Having realistic estimates at an early stage in a project's life cycle allow project managers and software organizations to manage resources effectively. Prediction is a necessary part of an effective process, be it authoring, design, testing, or Web development as a whole. Maintenance projects may range from ordinary projects requiring simple activities of understanding, impact analysis and modifications, to extraordinary projects requiring complex interventions such as encapsulation, reuse, reengineering, migration, and retirement. Moreover, software costs are the result of a large number of parameters so any estimation or control technique must reflect a large number of complex and dynamic factors. This paper mainly covers the models related to Fault predictions well ahead of the execution so that it gives an insight to the managers to take appropriate decisions. Data about the defects found during software testing is recorded in software defect reports or bug reports. The data consists of defect information including defect number at various testing stages, complexity (of the defect), severity, information about the component to which the defect belongs, tester, and person fixing the defect. Reliability models mainly use data about the number of defects and its corresponding International Journal of Management (IJM) 131 time to predict the remaining number of defects. This research work proposes an empirical approach to systematically elucidate useful information from software defect reports by (1) employing a data exploration technique that analyzes relationships between software quality of different releases using appropriate statistics, and (2) constructing predictive models for forecasting time for fixing defects using existing machine learning and data mining techniques.
Accuracy of Software Reliability Prediction from Different Approaches
2015
Many models have been proposed for software reliability prediction, but none of these models could capture a necessary amount of software characteristic. We have proposed a mixed approach using both analytical and data driven models for finding the accuracy in reliability prediction involving case study. This report includes qualitative research strategy. Data is collected from the case study conducted on three different companies. Based on the case study an analysis will be made on the approaches used by the companies and also by using some other data related to the organizations Software Quality Assurance (SQA) team. Out of the three organizations, the first two organizations used for the case study are working on reliability prediction and the third company is a growing company developing a product with less focus on quality. Data collection was by the means of interviewing an employee of the organization who leads a team and is in the managing position for at least last 2 years.
Predicting Software Assurance Using Quality and Reliability Measures
2018
Security vulnerabilities are defects that enable an external party to compromise a system. Our research indicates that improving software quality by reducing the number of errors also reduces the number of vulnerabilities and hence improves software security. Some portion of security vulnerabilities (maybe over half of them) are also quality defects. This report includes security analysis based on data the Software Engineering Institute (SEI) has collected over many years for 100 software development projects. Can quality defect models that predict quality results be applied to security to predict security results? Simple defect models focus on an enumeration of development errors after they have occurred and do not relate directly to operational security vulnerabilities, except when the cause is quality related. This report discusses how a combination of software development and quality techniques can improve software security.
Two Practical Software Reliability Growth Models for Software Project Management
ABSTRACT Software project management is highly competitive and challenging than ever before, due to enlightened customers and quick obsolescence of technology and the products have to be delivered on time, within budget and with lesser number of defects. Every project is also unique and in order to be successful, lessons learnt in one project are to be used quickly in every ongoing and future project. Software reliability engineering which has remained an active area of research over the past 40 years, throws a number of metrics which can be used effectively to steer current and future projects to the satisfaction of all the stakeholders. Some vital metrics which can be accurately brought out by Software Reliability Growth Models include total number of faults present at completion of software integration, the learning index of the testing team, quality of debugging, software release time, patent faults etc. In this paper, 2 Generalized Non-Homogenous Poisson Process (NHPP) Software Reliability Growth Models (SRGM) are presented which are found to estimate the software release time reasonably accurately and consistently. In addition, the SRGMs also provide the vital metrics discussed above readily, which may be found to be immensely useful for efficient software project management.
Having the ability to predict the number of errors in any software project before the commencement of its testing is a big advantage for the software quality assurance department of any software house. This paper presents the results of an empirical study designed to examine the relative predictive strength of five different parameterssource lines of code (SLOC), testing time, number of different testing types, number of test cases and average experience of testersin predicting the number of pre-release errors in a software project. Domain-wise analysis is conducted for 80 real-life projects spanning six different domains i.e. SQA, E-commerce, Ecommunication, Finance, CRM, and Engineering. Simple linear regression as well as multiple linear regression is used along with an analyses of collinearity among the predictors. The results indicate that SLOC is the strongest single predictor for all project domains. Furthermore, it is found that, collinearity is high in most domain-wise predictive relationships involving more than three of the five predictors.
Predicting Software Quality from Development and Release Factors
International Conference on Advances in Information Mining and Management, 2021
Long lasting sustainable systems require quality software releases. If a new version of the software encounters relatively fewer post-release defects, i.e., bugs, then we can consider that version as a better quality release. In the competitive world of faster release and shorter release cycle based development, it is challenging to deliver a quality release of a software product. Predicting the release quality certainly helps developers to take precautions and measures to prevent post-release bugs. Although many researchers studied software quality prediction, a lack of robust empirical study on software development historical data to predict their impact on software release quality has been observed. In this study, we predict the release quality of Eclipse Equinox project by constructing a decision tree model from six factors, such as code changes (churns), commits, churns in testfiles, churns in config-files, last-minute-change, etc., observed from the historical data extracted from the version control system. Such development and release factors will give us a better understanding on how the developers' activities affect the quality of a software release. Five quality levels, i.e., classes are used in our classification model from the Eclipse bugs depending on the presence of different levels of severity of bugs. Furthermore, we will construct three more models, Naïve Bayes, K-means Clustering, and Linear Regression, and will compare the accuracy of prediction. The outcome of this study will be a set of classification models built on the six development factors and an insightful comparison among them.