ACM Home Page
Please provide us with feedback. Feedback
Dynamic constraint detection for polymorphic behavior
Full text PdfPdf (176 KB)
Source Dynamic Languages Symposium archive
Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications table of contents
Portland, Oregon, USA
POSTER SESSION: OOPSLA posters chair's welcome table of contents
Pages: 657 - 658  
Year of Publication: 2006
ISBN:1-59593-491-X
Authors
Nadya Kuzmina  University of Wyoming
Ruben Gamboa  University of Wyoming
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 5,   Downloads (12 Months): 32,   Citation Count: 1
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1176617.1176659
What is a DOI?

ABSTRACT

Dynamic invariant detection, the automatic recovery of partial program specifications by inferring likely constraints from program executions, has been successful in the context of procedural programs. The implementation for dynamic invariant detection examines only the declared type of a variable, lacking many details in the context of object-oriented programs. This paper shows how this technique can be extended to detect invariants of object-oriented programs in the presence of polymorphism by examining the runtime type of a polymorphic variable, which may have different declared and runtime types. We demonstrate the improved accuracy of the dynamically detected specification on two real-world examples: the Money example from the JUnit testing framework tutorial, and a database query engine model example, which we adopted from a commercial database application. Polymorphic constraints in both cases are shown to reveal the specification of the runtime behavior of the systems.




Collaborative Colleagues:
Nadya Kuzmina: colleagues
Ruben Gamboa: colleagues