Software engineering researchers have extensively explored the reuse of components at source-code level. Contracts explicitly describe component behaviour, reducing development risk by exposing potential incompatibilities early in the devel- opment process. But to benefit fully from reuse, developers of safety-critical systems must also reuse safety evidence. Full reuse would require both extending the existing notion of component contracts to cover safety properties and using these contracts in both component selection and system certification. This is not as simple as it first appears. Much of the review, analysis, and test evidence developers provide during certification is system- specific. This makes it difficult to define safety contracts that facilitate both selecting components to reuse and certifying systems. In this paper, we explore the definition and use of safety contracts, identify challenges to component-based software reuse safety-critical systems, present examples to illustrate several key difficulties, and discuss potential solutions to these problems.

BibTex Entry

@inproceedings{Graydon2014a,
 author = {P. Graydon and I. Bate},
 booktitle = {Proceedings of the 20th IEEE Pacific Rim International Symposium on Dependable Computing},
 title = {The Nature and Content of Safety Contracts: Challenges and Suggestions for a Way Forward},
 year = {2014}
}