This collection describes research conducted for the Federal Aviation Administration (FAA) to define complexity measures for use in assessing the safety of avionics systems. These complexity measures are intended to help the FAA identify when systems are too complex to assure their safety.
The project began with a literature review of what is known about complexity, its causes, and its impacts. We used this review to define complexity for software-reliant avionics systems. Next, we identified candidate measures of complexity for systems with embedded software that relate to safety, assurability, or both. After we had some candidate measures, we studied the impact of complexity on safety and estimated assurance cases to test the identified metrics. The most important output of this research is a complexity forumula that enables a program to estimate the amount of effort that demonstrating safety will require.
The following papers are the output of this two-year project for the FAA.