Summary of some open source software features and corresponding model analysis in "software reliability" thesis

Source: Internet
Author: User
definition of open source software

Open source Software (open-source) is a term that is defined as a description of the software whose source code can be used by the public, and the use, modification and distribution of the software is not limited by the license. Open source software is usually copyrighted, and its license may contain restrictions such as the deliberate protection of its open source status, the publication of authorship, or the control of development. "Open source" is being registered as a certification mark by the Public Interest software organization, which is also a means of creating a formal open Source definition.

Open source software has been developed primarily by programmers scattered around the world, but at the same time some universities, government agencies, contractors, associations and commercial companies have also developed it. Open source software has historically been very closely linked to unix,internet. Many different hardware needs to be supported in these systems, and source distribution is the only practical way to achieve cross-platform portability. There are only a few compilers available on the Dos,windows,macintosh platform, and open source software is less common. For a more detailed discussion of the open source development model, see Eric Raymond, "the Cathedral and the Bazaar".

To put it simply, open source software:

Open source Software (OSS), also known as opensource software (open sources software), is a computer software that can be freely obtained from source code, and the copyright owner of such software retains a portion of the rights under the terms of the software agreement and allows the user to freely learn, modify, copy, Distribution (distribution), while improving and improving the quality of open source software. application scenarios and prospects of research on the reliability of open source software Application Scenarios

Like traditional closed-source software, software reliability is an important indicator of open-source software from release, testing to operation, which is not only related to the quality of software products, but also involves the common indicators of industry reputation of open source software enterprises.

The probability of failure not occurring:

R (x/t) = exp {-[m (t + x)-M (t)]}
R (x/t) indicates the probability that the software will not fail in a given interval (t,t+x).

MTTF (Mean time to Failure, mean time-to-failure), which is the average duration of the system's failure-free operation, taking all the average of the time period between the start of the system's normal operation and the occurrence of the failure. MTTF =∑t1/n

MTTR (Mean time to Repair, average repair times), which is the average of the time period between the failure of the system and the end of the repair. MTTR =∑ (T2+T3)/N

MTBF (Mean time between Failure, average failure interval) refers to the average of the period between the time of the system two failures. MTBF =∑ (T2+T3+T1)/N. Obvious: mtbf= mttf+ MTTR solves the problem

Predict and estimate version update time for open source software. (Not very useful)

In order for open source software researchers to design and develop more reliable open source software products, it is important to anticipate and estimate the release time of open source software. If the version update time is too early, it will affect the reliability of open source software, because there may be a large number of errors in the software, after testing for repair, the cost is quite high. And the version update too late, it will affect the time to market the enterprise products, may miss a good opportunity to lose competitiveness.
(Here you need to know the business model of open source software)

SDFA Outlook

With the development of network technology, open source software in its unique way to show its vigorous vitality and vitality, open source software concept has gradually been recognized and promoted by many enterprises and companies. To be sure, in the near future, open source software will become the main direction and main form of software development. And the reliability of open source software is the most serious software development, there is no guarantee of reliability, open source software will lose its development advantage. The reliability model and evaluation standard of open source software introduced in this article, as well as the time of version update, are necessary for the development of open source software. In addition, it should be seen that the reliability of open source software research is far from mature, is still a new field, it is urgent to develop more and better reliable models and reliability theory to enrich, enrich and develop. assumptions of common models and models

Mainly divided into three parts:

Based on modified NHPP open source software reliability model

An open source software reliability model based on stochastic differential equation

Other open source software reliability model based on modified NHPP open source software reliability Model

The NHPP open source software reliability model based on modification is mainly developed from the reliability model of the classical closed source software nhpp.

The NHPP model is defined as follows:

where Pr{n (t) = x} indicates the probability of an N (t) = x event occurring. N (t) indicates the fault count. M (t) represents the average function, that is, the number of failed detections expected within the time t. A (t) represents the total failure detection function. B (t) indicates the fault detection rate function per unit of time. (i) goal a OKUMOTONHPP model

Model assumptions
(1) The software (test) operation mode is the same as the expected (actual) running profile;
(2) for any set of finite time points, in the corresponding time period (0,T1),
(T1,T2),..., (ti-1,ti),..., (TM-1,TM) respectively, the number of failures F1,F2,..., FM independent of each other;
(3) Each defect has an equal opportunity to be detected, and the same level;
(4) The cumulative number of software failures occurring at any given moment N (t) follows the Poisson distribution of mean M (t), and the mean value M (t) makes the number of software failures occurring in the tiny time period (t,+t) in direct proportion to the software residual defects in T-moment;
(5) m (t) is a bounded, non-reduced function, and M (t) =0,t0=0;m (t) =a,t-> is infinity, here
A is the total number of software failures that occur at the end of the test process.
The model is represented as follows:
(ii) Model of reliability growth of S-shape based on modified nhpp

Yamada and others after studying the reliability growth model based on NHPP, the model of S shape reliability growth based on modified NHPP was proposed for the S shape of the mean function. Can be expressed as:

The reason for introducing the S-type curve is that the failure data of the software presents an S-shaped curve, and it can be understood that the learning process of the Test team members is taken into account, and a process of failure detection rate from low to high is reduced.
The detailed mathematical description is as follows:
(iii) Reliability growth model of NHPP based on modified fault detection rate for hump type (hump-shaped)

Open source software can be seen as the fault detection of non-homogeneous Poisson distribution of random process, Li and other people in considering the characteristics of open source software is proposed, and the closed sources of software is different from the release, open source software has attracted a large number of users, which far more than the closed-source software testers; But with the development of time, When the number of users reaches the maximum, it begins to decline, showing a change in hump shape (hump-shaped). The user's contribution to the process of troubleshooting open source software cannot be neglected, so it is assumed that the failure detection rate fits the hump shape distribution.

However, the model does not consider open source software fault detection is an infinite process, with the development of time, it is possible to detect an infinite number of errors, that is, the assumption of a (t) =∞, the meaning is: The total fault detection is infinite.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.