Navigation

Home

Musa's Book


Resources


SRE Orientation

Training Services

Consulting Services

Contact

Click Here for A Special Announcement!

Glossary for Software Reliability Engineering


This glossary is a compilation of terms that occur frequently in software reliability engineering. They generally do not occur as frequently in other disciplines, or they have special meaning in software reliability engineering.


acceleration factor -- Factor by which an occurrence probability or proportion is increased.

acquired failure intensity -- The failure intensity for all hardware and required software components, usually found by adding the failure intensities of the components.

acquired software -- Software that is contracted for, purchased, or reused.

assertion -- Code that checks the value of a variable against an anticipated value or range of values and generates a return code or message if the check is not valid.

associated system -- Base product or system specially related to it that is tested separately.

availability -- The probability that a system or a capability of a system is functional at a given time in a specified environment.

basic failure intensity -- Failure intensity that would exist at start of system test for new operations for a project without reviews (requirements, design, or code) or fault tolerance.

bottleneck processor – Processor that requires the most execution time per natural or operating time unit.

build -- Minor version of software that incorporates bug fixes and possible new features; multiple builds occur as a major version is developed.

cascaded deviation -- Deviation directly resulting from an initial deviation.

certification test -- Test that is directed solely at accepting or rejecting the software and is not coupled to removal of the faults that are causing the failures.

component -- Part of a system, such as a software module.

consumer risk -- Risk of falsely saying objective is met when it is not.

criticality -- Importance of an operation with respect to safety or value added by satisfactory execution, or risk to human life, cost, or capability resulting from failure.

customer – Organization or person that is purchasing your product.

customer type -- Set of customers expected to have the same user types.

developed code -- Code that is newly written or modified.

developed software -- Software developed by your organization.

deviation -- Any departure of system behavior in execution from expected behavior.

direct input variable – Variable external to operation that controls execution of operation in an easily traceable way, permitting you to recognize the relationship between values of the variable and the processing that results, and to use this information to optimally select values to test.

discrimination ratio -- Factor of error in estimating failure intensity in certification test.

equivalence class -- Set of values of a direct input variable that should yield the same failure behavior in a system because identical processing is specified for them.

error -- Incorrect or missing action by a person or persons that causes a fault in a program.

estimation -- Determination of software reliability model parameters and quantities from failure data.

execution time -- Time processor(s) is/are executing nonfiller operations, in exec hr.

exponential model -- Musa basic software reliability model.

failure -- Departure of system behavior in execution from user requirements.

failure intensity -- Failures per natural or time unit, an alternative way of expressing reliability.

failure intensity reduction objective (FIRO) -- Failure intensity improvement that must be obtained through software reliability strategies.

failure intensity objective (FIO) -- Failure intensity system is expected to meet before release to the field..

failure severity class -- Set of failures with same degree of per-failure impact on users

failure time -- Accumulated elapsed time at which a failure occurs.

fault -- Defect in system that causes a failure when executed.

fault density -- Faults per line of deliverable executable source code.

fault tolerance -- The capability of a system to counteract deviations and prevent them from becoming failures.

fault tolerance fraction (FTF) -- Part of remaining FIRO, after early system test and reviews, to be achieved through fault tolerance, as contrasted to system test.

feature test -- A test that executes all the new test cases of a release, independently of each other, with interactions and effects of the field environment minimized. Its purpose is to identify failures resulting from execution of test cases by themselves.

FI/FIO -- Ratio of failure intensity to failure intensity objective; used to track status during test.

filler occurrence -- Instance of execution of a filler operation above the minimum required for proper system operation (usually for audit and maintenance operations)

indirect input variable – Variable external to operation that influences execution of operation in a way that is not easily traceable, making it impractical to recognize the relationship between values of the variable and the processing that results, and hence to optimally select values to test.

input variable -- Variable external to operation that influences execution.

load test -- A test that executes all test cases together, with full interactions and all the effects of the field environment. Its purpose is to identify failures resulting from interactions among test cases, overloading of and queueing for resources, and database degradation.

logarithmic model -- Musa-Okumoto logarithmic Poisson software reliability model.

natural unit -- Unit other than time related to amount of processing performed by software-based product, such as runs, pages of output, transactions, telephone calls, jobs, semiconductor wafers, queries, or API calls.

occurrence probability -- Probability with which an operation occurs.

occurrence proportion -- Proportion of occurrences of a new operation with respect to occurrences of all new operations for a release.

occurrence rate -- Frequency at which an operation occurs.

operation -- Major system logical task performed for initiator, which returns control to system when complete.

operation interaction factor -- Factor that estimates effect of newly-developed operations on reused operations in causing failures. Typical values range from 0.1 to 0.25.

operational development -- Development that is scheduled operation by operation, in such a fashion that the most used and/or most critical operations are implemented in the first release and the less used and/or critical are delayed, the net result being faster time to market for the most important capabilities.

operational profile – Complete set of operations (major system logical tasks) with their probabilities of occurrence.

operations list -- The set of possible operations.

prediction -- Determination of software reliability model parameters and quantities from characteristics of the software product and development process.

probability -- The fraction of occasions on which a specified value or set of values of a quantity occurs, out of all possible values for that quantity.

producer risk -- Risk of falsely saying objective is not met when it is.

product -- System that is sold to customers.

random -- Possessing the property of being able to have one of a number of values at one time, each occurring with some probability.

reduced operation software (ROS) -- Software that directly implements only the most used and/or most critical operation, handling the others in some alternative fashion; the software analog of RISC for hardware.

regression test – A test that executes a subset of all valid test cases of all releases at each system build with significant change, independently of each other, with interactions and effects of the field environment minimized; it is designed to reveal failures caused by faults introduced by program changes.

reliability -- Probability that a system or a capability of a system will continue to function without failure for a specified period in a specified environment. The period may be specified in natural or time units.

reliability growth test -- Test that is coupled with attempts to remove the faults causing the failures so as to result in a decrease in failure intensity or growth in reliability.

reused operation -- Operation that has been carried over to a new release from a previous release.

run -- Specific execution of an operation, characterized by a complete set of input variables with values.

software reliability strategy – Activity that reduces failure intensity, incurring development cost and perhaps development time.

stable program -- Program in which code is unchanging, with program neither evolving nor being repaired.

supersystem -- Set of interactionally-complex systems that include base product or variation plus independent systems, where users judge product by the set’s availability, reliability.

supplier risk -- Risk of falsely saying objective is not met when it is.

system -- A combination of hardware, software, and/or personnel elements that performs some function.

test case -- Partial specification of a run, characterized by a complete set of direct input variables with values.

test operational profile – Modified operational profile that will be used to direct the test controller in executing load test.

test procedure -- Test controller for load test that invokes at various times test cases that are randomly selected from the test case set. Selection from the test case set is based on the test operational profile; invocation times, on the total operation occurrence rate.

test unit – Facility needed and available for test.

uniform -- Having equal probability of occurrence.

user -- Person who employs the product.

user type -- Set of users who are expected to employ the product in the same way.

For a deeper understanding of these terms and how they are used in software reliability engineering, see

· The book Software Reliability Engineering: More Reliable Software Faster and Cheaper

· The course More Reliable Software Faster and Cheaper - classroom version

· The course More Reliable Software Faster and Cheaper – distance learning version


JOHN D. MUSA
Software Reliability Engineering and Testing Courses

s