2009
DOI: 10.1007/978-3-642-03013-0_10
|View full text |Cite
|
Sign up to set email alerts
|

Practical API Protocol Checking with Access Permissions

Abstract: Abstract. Reusable APIs often de ne usage protocols. We previously developed a sound modular type system that checks compliance with typestate-based protocols while a ording a great deal of aliasing exibility. We also developed Plural, a prototype tool that embodies our approach as an automated static analysis and includes several extensions we found useful in practice. This paper evaluates our approach along the following dimensions: (1) We report on experience in specifying relevant usage rules for a large J… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

1
55
0

Year Published

2010
2010
2024
2024

Publication Types

Select...
4
2
1

Relationship

2
5

Authors

Journals

citations
Cited by 53 publications
(56 citation statements)
references
References 34 publications
1
55
0
Order By: Relevance
“…Plural is envisioned to work like a typechecker and hence sound [6,3] so false negatives cannot occur. Empirically we found Plural's false positive rate to be less than 6 false positives per kloc in sample open-source programs [7].…”
Section: Design Spacementioning
confidence: 74%
See 2 more Smart Citations
“…Plural is envisioned to work like a typechecker and hence sound [6,3] so false negatives cannot occur. Empirically we found Plural's false positive rate to be less than 6 false positives per kloc in sample open-source programs [7].…”
Section: Design Spacementioning
confidence: 74%
“…Modular checking means we would like to check code one method at a time, using only the specifications of other objects; this requires us to describe the protocol and aliasing state of objects at method boundaries. We accomplish both tasks using access permissions [6], which we have implemented in Plural [7], an automated tool for checking permission-based typestate protocols in Java. This section is a review of previously published work [6,3,7].…”
Section: Typestate Protocols With Access Permissionsmentioning
confidence: 99%
See 1 more Smart Citation
“…Neither Beckman nor Whaley identified any protocols in interfaces, so 9 interfaces were added from other sources (e.g. Bierhoff et al [4]). These interfaces are not implemented in the Java Standard Library, but they are implemented by many third parties, and so the interface protocols can be very widely used.…”
Section: B Winnowing the Question Listmentioning
confidence: 99%
“…Many tools verify protocols (e.g. Bierhoff et al [4], Dwyer et al [9], Foster et al [11]). These tools require programmers to specify protocols using alias and typestate annotations separate from code.…”
Section: Introductionmentioning
confidence: 99%