2020
DOI: 10.1007/978-3-030-45234-6_21
|View full text |Cite
|
Sign up to set email alerts
|

Holistic Specifications for Robust Programs

Abstract: Functional specifications describe what program components can do: the sufficient conditions to invoke a component's operations. They allow us to reason about the use of components in the closed world setting, where the component interacts with known client code, and where the client code must establish the appropriate pre-conditions before calling into the component. Sufficient conditions are not enough to reason about the use of components in the open world setting, where the component interacts with externa… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
9
0

Year Published

2021
2021
2023
2023

Publication Types

Select...
3
2
1

Relationship

2
4

Authors

Journals

citations
Cited by 6 publications
(9 citation statements)
references
References 42 publications
0
9
0
Order By: Relevance
“…TooL is straightforward: Appendix A contains the full definitions. TooL is based on ℒ oo [Drossopoulou et al 2020b], with some small variations, as well as the addition of a simple type system -more in 4. As discussed in §2.5, open world specifications need to be able to provide guarantees which hold during execution of an internal, known, trusted module 𝑀 when linked together with any unknown, untrusted, module 𝑀 ′ .…”
Section: Toolmentioning
confidence: 99%
See 3 more Smart Citations
“…TooL is straightforward: Appendix A contains the full definitions. TooL is based on ℒ oo [Drossopoulou et al 2020b], with some small variations, as well as the addition of a simple type system -more in 4. As discussed in §2.5, open world specifications need to be able to provide guarantees which hold during execution of an internal, known, trusted module 𝑀 when linked together with any unknown, untrusted, module 𝑀 ′ .…”
Section: Toolmentioning
confidence: 99%
“…To express our focus on external states, we define the external states semantics, of the form 𝑀 ′ ; 𝑀, 𝜎 𝜎 ′ , where 𝑀 ′ is the external module, and 𝑀 is the internal module, and where we collapse all internal steps into one single step. Drossopoulou et al [2020b] provides a simple graphical description of our external states semantics: (A) is the "normal" execution after linking two modules into one: 𝑀 ′ • 𝑀, ... ... whereas (B) is the external states execution when 𝑀 ′ is external, 𝑀 ′ ; 𝑀, ... .... Note that whether a module is external or internal depends on perspective -nothing in a module itself renders it internal or external.…”
Section: Toolmentioning
confidence: 99%
See 2 more Smart Citations
“…Model We have constructed a Coq model 7 [23] of the core of the Chainmail specification language, along with the underlying L oo language. Our formalism is organised as follows:…”
Section: Properties Of Assertionsmentioning
confidence: 99%