Validation of software is often a weak link in delivering high assurance systems. Traditional software testing is problematic in both the selection of good test data and the assessment of reliability after testing.
This paper describes ongoing research in perturbation analysis, which is a dynamic software analysis technique based on perturbing the data state at various locations in an executing program. The results of perturbation analysis have many uses, including the automatic generation of robust test data and reliability estimates for code locations and execution paths. An experiment is described that applies perturbation analysis to a software component of the Tactical Tomahawk Weapons Control System. The application of perturbation analysis to produce reliability estimates for software components is also discussed.