Information-flow interfaces

Ezio Bartocci,Thomas Ferrère,Thomas A. Henzinger,Dejan Nickovic,Ana Oliveira da Costa
DOI: https://doi.org/10.1007/s10703-024-00447-0
2024-05-24
Formal Methods in System Design
Abstract:Contract-based design is a promising methodology for taming the complexity of developing sophisticated systems. A formal contract distinguishes between assumptions , which are constraints that the designer of a component puts on the environments in which the component can be used safely, and guarantees , which are promises that the designer asks from the team that implements the component. A theory of formal contracts can be formalized as an interface theory , which supports the composition and refinement of both assumptions and guarantees. Although there is a rich landscape of contract-based design methods that address functional and extra-functional properties, we present the first interface theory designed to ensure system-wide security properties. Our framework provides a refinement relation and a composition operation that support both incremental design and independent implementability. We develop our theory for both stateless and stateful interfaces. Additionally, we introduce information-flow contracts where assumptions and guarantees are sets of flow relations. We use these contracts to illustrate how to enrich information-flow interfaces with a semantic view. We illustrate the applicability of our framework with two examples inspired by the automotive domain.
computer science, theory & methods
What problem does this paper attempt to address?