Software reliability refers to the probability of the software running without error in a given time and under certain circumstances.
Software Reliability includes the following three elements:
1. The time specified
Software reliability is only reflected in its operational phase, so "run time" as a measure of "time specified". Run time includes the cumulative time that the software system is working and hangs (open but idle) after it has been run. Due to the randomness of software running environment and program path selection, the failure of software is random event , so the running time belongs to random variable .
2. Prescribed environmental conditions
Environmental conditions refer to the operating environment of the software. It involves various supporting elements required by the software system to run, such as support hardware, operating system, other supporting software, input data format and scope, and operating procedures. The reliability of the software is different under different environmental conditions. Specifically, the specified environmental conditions are mainly described in the software system run-time Computer configuration and input data requirements, and assume that all other factors are ideal. With clearly defined environmental conditions, can also effectively determine the responsibility of software failure in the user side or the Development Party.
3. Mandated functions
Software reliability is also related to mandated tasks and functions. Due to the different tasks to be completed, the software will run a different section, the sub-modules will be called differently (that is, the program path selection), and its reliability may be different. Therefore, to accurately measure the reliability of a software system must first clarify its tasks and functions.
Trusted software:
Trust is that when an entity implements a given goal, its behavior and results are always predictable.
If software services always match the expectations of the user, even in the event of a special situation during the run, such software is trusted software.
Special cases include:
1. The hardware environment (computer, network) has failed
2, low-level software (operating system, database) error occurred
3. Other software (virus software, rogue software) has an impact on it
4, there is intentional (attack), unintentional (misoperation) error operation
What kind of software is trustworthy?
Available
function : Correct, many, not many
Reliability (fault tolerance): high
Security (confidentiality, integrity): High
Response time (from input to output): Small
Maintenance costs (monitoring, Evolution): Small
The difference between reliable software and trusted software