Proceedings of the 8th ACM SIGSOFT International Symposium on Foundations of Software Engineering: Twenty-First Century Applica 2000
DOI: 10.1145/355045.355052
|View full text |Cite
|
Sign up to set email alerts
|

Compiler and tool support for debugging object protocols

Abstract: We describe an extension to the Java programming language that supports static conformance checking and dynamic debugging of object "protocols," i.e., sequencing constraints on the order in which methods may be called. Our Java protocols have a statically checkable subset embedded in richer descriptions that can be checked at run time. The statically checkable subtype conformance relation is based on Nierstrasz' proposal for regular (finite-state) process types, and is also very close to the conformance relati… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
15
0

Year Published

2005
2005
2009
2009

Publication Types

Select...
5
2

Relationship

0
7

Authors

Journals

citations
Cited by 17 publications
(15 citation statements)
references
References 9 publications
0
15
0
Order By: Relevance
“…Our design builds on that of Bierhoff & Aldrich. Butkevich et al describe protocols as labeled transition systems, check dynamically for protocol usage violations, and can statically check for hierarchy violations [10]. Barnett, Rustan, Leino and Schulte introduce Spec# [14], a formal language for API contracts similar to JML and Eiffel [11].…”
Section: Related Workmentioning
confidence: 99%
“…Our design builds on that of Bierhoff & Aldrich. Butkevich et al describe protocols as labeled transition systems, check dynamically for protocol usage violations, and can statically check for hierarchy violations [10]. Barnett, Rustan, Leino and Schulte introduce Spec# [14], a formal language for API contracts similar to JML and Eiffel [11].…”
Section: Related Workmentioning
confidence: 99%
“…They can express non-determinism and case-by-case behavior, increasing expressiveness and precision over specifications in Fugue. An alternative approach by Butkevich et al uses labelled transition systems to specify protocols with non-determinism that can be checked statically for hierarchy violations [2].…”
Section: Esec-fse'05mentioning
confidence: 99%
“…This happens if the pre-condition is strengthened or the post-condition is weakened. Butkevich et al can detect hierarchy violations statically for their protocols [2]. Pre-and post-condition systems in general cannot detect hierarchy violations statically.…”
Section: Theorem 2 (Behavioral Subtyping)mentioning
confidence: 99%
See 2 more Smart Citations