2008
DOI: 10.1088/1742-6596/125/1/012086
|View full text |Cite
|
Sign up to set email alerts
|

Gaining confidence in scientific applications through executable interface contracts

Abstract: Interface contract enforcement is intended to help scientists gain confidence in software built from third-party components. Unfamiliar components present increased risk of incorrect or unanticipated usage patterns and unexpected component behavior. Executable interface contracts can address these issues but may incur unacceptable overhead. Research into techniques for performance-driven contract enforcement pursues practical solutions to adapting the level of contract enforcement to performance constraints.

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1

Citation Types

0
2
0

Year Published

2012
2012
2016
2016

Publication Types

Select...
2
1

Relationship

0
3

Authors

Journals

citations
Cited by 3 publications
(2 citation statements)
references
References 7 publications
0
2
0
Order By: Relevance
“…Although this approach originated in the context of verification of the code, it can equally well be used to detect data corruption. Where contracts are provided by a language or component software environment (Dahlgren and Devanbu, 2004, 2005; Dahlgren, 2007, 2008; Dahlgren et al, 2008), they tend to be available only at interfaces, which can be limiting from a fault detection standpoint. Many languages support assertions anywhere in the code; however, a failed assertion generally causes termination of the program, which is not desirable if it is possible to recover from the detected error.…”
Section: Related Workmentioning
confidence: 99%
“…Although this approach originated in the context of verification of the code, it can equally well be used to detect data corruption. Where contracts are provided by a language or component software environment (Dahlgren and Devanbu, 2004, 2005; Dahlgren, 2007, 2008; Dahlgren et al, 2008), they tend to be available only at interfaces, which can be limiting from a fault detection standpoint. Many languages support assertions anywhere in the code; however, a failed assertion generally causes termination of the program, which is not desirable if it is possible to recover from the detected error.…”
Section: Related Workmentioning
confidence: 99%
“…These capabilities, supported in Babel [21], are being integrated into KNOT through BRAID and PAUL. PAUL structured comments will be used to specify the contracts, and BRAID will generate the verification code.…”
Section: Contracts For Correctness and Resiliencementioning
confidence: 99%