Predicting Software Reliability in Softwarized Networks

Hasan Yagiz Ozkan,Madeleine Kaufmann,Wolfgang Kellerer,Carmen Mas-Machuca
2024-07-31
Abstract:Providing high quality software and evaluating the software reliability in softwarized networks are crucial for vendors and customers. These networks rely on open source code, which are sensitive to contain high number of bugs. Both, the knowledge about the code of previous releases as well as the bug history of the particular project can be used to evaluate the software reliability of a new software release based on SRGM. In this work a framework to predict the number of the bugs of a new release, as well as other reliability parameters, is proposed. An exemplary implementation of this framework to two particular open source projects, is described in detail. The difference between the prediction accuracy of the two projects is presented. Different alternatives to increase the prediction accuracy are proposed and compared in this paper.
Software Engineering,Networking and Internet Architecture
What problem does this paper attempt to address?
### What problem does this paper attempt to solve? This paper aims to solve the problem of how to evaluate the quality and reliability of new software versions in software - defined networks. Specifically, the author proposes a framework for predicting the number of residual defects (i.e., undetected or unresolved defects) in new software releases as well as other reliability parameters. The following are the specific objectives of this research: 1. **Evaluate the reliability of new software versions**: Predict the number of possible defects in the new version by combining the defect history of previous versions and code - metric indicators. 2. **Improve prediction accuracy**: Explore different methods to improve the accuracy of prediction according to the characteristics of different projects. For example, for new projects without sufficient historical data, study cross - project prediction methods; for projects with a long development cycle, study the influence of historical data of different versions on prediction. 3. **Provide decision support**: Based on the prediction results, help developers/suppliers decide when to release a new version, and help users/customers decide whether to upgrade to a new version to meet their reliability requirements. ### Core content of the paper - **Background and motivation**: The delivery of high - quality software is crucial for suppliers and platforms. With the wide application of open - source software, how to effectively manage and predict defects in new versions has become a key issue. - **Methodology**: The author proposes a framework that uses the defect - tracking system and code - metric tools of open - source projects, combined with machine - learning models, to predict the number of defects in new versions. This framework mainly depends on the following aspects: - **Defect history**: Analyze the defect distribution of previous versions. - **Code metrics**: Extract various metric indicators of the code, such as the number of lines of code, function complexity, etc. - **Regression model**: Establish a regression model to predict the number of defects in the new version based on historical data. - **Implementation and verification**: The author implemented this framework on two specific open - source projects (ONAP and ONOS) and described in detail the implementation process of each step, including the collection of defect history, the extraction of code metrics, correlation analysis, and the fitting and prediction of the regression model. ### Formula representation The regression model formula involved in the paper is as follows: \[ y_i=\beta_0 + \beta_1 x_{i1}+\ldots+\beta_n x_{in}+\epsilon_i,\quad i = 1,\ldots,k - 1 \] where: - \( y_i \) represents the number of defects in the \( i \) - th version, - \( x_{in} \) represents the \( n \) - th code - metric value of the \( i \) - th version, - \( \beta_0,\beta_1,\ldots,\beta_n \) are regression coefficients, - \( \epsilon_i \) is an error term. By minimizing the error \( \epsilon \), the optimal regression coefficient \( \beta \) is found, thereby realizing the prediction of the number of defects in the new version. ### Conclusion This research provides an effective method for evaluating and predicting the reliability of new versions in software - defined networks, which helps to improve software quality and reduce potential risks.