Project CORE - Component based Reliability Estimation
In safety-critical application areas with high reliability demands, a quantitative assessment of software reliability is crucial for licensing the use of software systems. For the purpose of estimating software reliability, it is not the number of software faults which is significant, but rather the frequency of their manifestation during runtime. Therefore, a sound reliability assessment has to be carried out by anticipating as far as possible the expected operational profile during the testing phase.
As described in former annual research reports a preliminary sub-project investigated techniques for logging usage data and visualise corresponding operational profiles in order to document past operational experience. To do so, a tool was implemented allowing to log all external method calls of a predefined Java component during runtime. This technique for logging runtime calls is intended to support systematic decision-making concerning the need for additional tests of functionalities to be re-used in a new context. In another former sub-project a method was developed allowing to estimate the future operational profile of a software program. This method was applied to a real-world medical system for the calibration of hearing aids. Based on this information the test process can be adjusted to future software usage by selecting single test cases with operationally representative frequencies. In such a way, test results can be converted into reliability estimates by means of reliability growth models.
In the current project phase, the application of statistical hypothesis testing for the purpose of a quantitative reliability estimation was investigated. Based on a preliminary testing or usage period, an upper bound of the failure probability can be determined at any given confidence level. In the case of pre-developed software components by such a procedure component-specific reliability estimates can be composed into a single system reliability assessment. Existing approaches are limited by idealistic assumptions or by insufficiently sharp conclusions. Therefore, an approach overcoming such limitations functionalities was developed, capable of combining reliability statements for mutually exclusive functionalities; in particular, this approach results in a noticeable reduction of the testing or operational experience required.
Future research will focus on adapting software reliability estimations to new operational profiles.
Contact Person: Dr.-Ing. Sven Söhnlein