Proceedings of the 5th ACM SIGPLAN Workshop on Types in Language Design and Implementation 2010
DOI: 10.1145/1708016.1708025
|View full text |Cite
|
Sign up to set email alerts
|

Verifying event-driven programs using ramified frame properties

Abstract: Interactive programs, such as GUIs or spreadsheets, often maintain dependency information over dynamically-created networks of objects. That is, each imperative object tracks not only the objects its own invariant depends on, but also all of the objects which depend upon it, in order to notify them when it changes.These bidirectional linkages pose a serious challenge to verification, because their correctness relies upon a global invariant over the object graph.We show how to modularly verify programs written … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
4
1

Citation Types

0
10
0

Year Published

2010
2010
2014
2014

Publication Types

Select...
5
2
1

Relationship

0
8

Authors

Journals

citations
Cited by 23 publications
(10 citation statements)
references
References 21 publications
0
10
0
Order By: Relevance
“…More recently, Mehnert et al and Krishnaswami et al have used some form of ramification to verify respectively implementations of snapshottable trees [MSBS12] and programs that follow the subjectobserver pattern [KBA10], both of which involved unspecified sharing. Their ramifications are restricted to ad-hoc "ramification operators" tailored for each example, and the logic itself is domainspecific and done modulo a predicate on the global heap.…”
Section: Related Workmentioning
confidence: 99%
“…More recently, Mehnert et al and Krishnaswami et al have used some form of ramification to verify respectively implementations of snapshottable trees [MSBS12] and programs that follow the subjectobserver pattern [KBA10], both of which involved unspecified sharing. Their ramifications are restricted to ad-hoc "ramification operators" tailored for each example, and the logic itself is domainspecific and done modulo a predicate on the global heap.…”
Section: Related Workmentioning
confidence: 99%
“…Early models of logically (but not physically) separable resources like fractional permissions [7,10] and trees [9] treat those resources as primitive, either baking them into the operational semantics or, in simple cases, relying on a fixed interpretation into an underlying heap. To handle higher-level notions of separation, Krishnaswami et al [23] embedded "domain-specific separation logics" into higher-order separation logic, and DinsdaleYoung, Gardner, and Wheelhouse named the general phenomenon "fictional disjointness" and justified its support of local reasoning by employing data refinement and axiomatic semantics [14].…”
Section: Related Workmentioning
confidence: 99%
“…CSL has been extended to deal with dynamically-allocated locks [11,14,15] and re-entrant locks [12]. Others have extended separation logic or similar logics with primitive channels [13,1,24,18], and event driven programs [17].…”
Section: Related Work and Conclusionmentioning
confidence: 99%