Proceedings of the 11th ACM SIGPLAN Conference on Principles and Practice of Declarative Programming 2009
DOI: 10.1145/1599410.1599435
|View full text |Cite
|
Sign up to set email alerts
|

Future contracts

Abstract: Many recent research projects focus on language support for behavioral software contracts, that is, assertions that govern the boundaries between software building blocks such as procedures, classes, or modules. Contracts primarily help locate bugs in programs, but they also tend to affect the performance of the program, especially as they become complex.In this paper, we introduce future contracts and parallel contract checking: software contracts annotated with future are checked in parallel with the main pr… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
24
0

Year Published

2011
2011
2018
2018

Publication Types

Select...
2
2
1

Relationship

0
5

Authors

Journals

citations
Cited by 9 publications
(24 citation statements)
references
References 24 publications
0
24
0
Order By: Relevance
“…Our work is closely related to recent work on future contracts [7], a technique for concurrently checking behavioral software contracts in Scheme programs. The authors propose (but only partially implement) a very different approach for handling mutations in the store.…”
Section: Future Contractsmentioning
confidence: 93%
“…Our work is closely related to recent work on future contracts [7], a technique for concurrently checking behavioral software contracts in Scheme programs. The authors propose (but only partially implement) a very different approach for handling mutations in the store.…”
Section: Future Contractsmentioning
confidence: 93%
“…Unlike eager and semi-eager verification, the user evaluator is not interrupted during monitoring, and may proceed with its own computation separate from contract verification. As Dimoulas et al (2009) observe, this approach reveals a potential optimization in multi-processor settings: the user evaluator may proceed in parallel with the monitoring evaluator, allowing the user evaluator to spend less time awaiting monitoring results.…”
Section: Promise-based Verificationmentioning
confidence: 99%
“…Even so, Degen et al (2012) observe that such lazy verification violates basic blame consistency, and thus has questionable utility. Dimoulas et al (2009) and Disney et al (2011) each explore the notion of contracts using message passing, and, further, the runtime verification literature contains a number of additional examples of using messages to verify program properties (Havelund & Rosu, 2001;Barnett et al, 2005;Chen & Roşu, 2007). In each case, however, the work has different design goals from Swords et al (2015) and our work.…”
Section: Additional Software Contract Verification Techniquesmentioning
confidence: 99%
See 1 more Smart Citation
“…For instance, [25] proposes an assertion language for (constraint) logic programming that is combined in [21] with a static verification framework. [10] considered a strict language with side effects and proposed the evaluation of assertions in parallel to the application program to exploit the power of multi-core computers. In non-strict languages, one has the option between lazy assertions [7], which do not change the meaning of a program (apart from reporting violated assertions) but might not report some violations, and strict assertions which could influence the evaluation order.…”
Section: Conclusion and Related Workmentioning
confidence: 99%