|
ABSTRACT
Traditional static type systems are very effective for verifying basic interface specifications, but are somewhat limited in the kinds specifications they support. Dynamically-checked contracts can enforce more precise specifications, but these are not checked until run time, resulting in incomplete detection of defects.Hybrid type checking is a synthesis of these two approaches that enforces precise interface specifications, via static analysis where possible, but also via dynamic checks where necessary. This paper explores the key ideas and implications of hybrid type checking, in the context of the simply-typed λ-calculus with arbitrary refinements of base types.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
M. Abadi , L. Cardelli , B. Pierce , G. Plotkin, Dynamic typing in a statically-typed language, Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.213-227, January 11-13, 1989, Austin, Texas, United States
[doi> 10.1145/75277.75296]
|
| |
2
|
R. Agarwal and S. D. Stoller. Type inference for parameterized race-free Java. In Proceedings of the Conference on Verification, Model Checking, and Abstract Interpretation, pages 149--160, 2004.
|
 |
3
|
Alexander Aiken , Edward L. Wimmers , T. K. Lakshman, Soft typing with conditional types, Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.163-173, January 16-19, 1994, Portland, Oregon, United States
[doi> 10.1145/174675.177847]
|
 |
4
|
|
 |
5
|
Thomas Ball , Rupak Majumdar , Todd Millstein , Sriram K. Rajamani, Automatic predicate abstraction of C programs, Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation, p.203-213, June 2001, Snowbird, Utah, United States
|
| |
6
|
D. Blei, C. Harrelson, R. Jhala, R. Majumdar, G. C. Necula, S. P. Rahul, W. Weimer, and D. Weitz. Vampyre. Information available from http://www-cad.eecs.berkeley.edu/rupak/Vampyre/, 2000.
|
| |
7
|
|
| |
8
|
L. Burdy, Y. Cheon, D. Cok, M. Ernst, J. Kiniry, G. Leavens, K. Leino, and E. Poll. An overview of JML tools and applications, 2003.
|
| |
9
|
L. Cardelli. Phase distinctions in type theory. Manuscript, 1988.
|
| |
10
|
|
 |
11
|
|
 |
12
|
|
| |
13
|
|
 |
14
|
|
 |
15
|
Cormac Flanagan , Matthew Flatt , Shriram Krishnamurthi , Stephanie Weirich , Matthias Felleisen, Catching bugs in the web of program invariants, Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation, p.23-32, May 21-24, 1996, Philadelphia, Pennsylvania, United States
|
 |
16
|
Cormac Flanagan , K. Rustan M. Leino , Mark Lillibridge , Greg Nelson , James B. Saxe , Raymie Stata, Extended static checking for Java, Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation, June 17-19, 2002, Berlin, Germany
|
 |
17
|
|
 |
18
|
|
| |
19
|
B. Gomes, D. Stoutamire, B. Vaysman, and H. Klawitter. A language manual for Sather 1.1, 1996.
|
| |
20
|
|
 |
21
|
|
| |
22
|
|
| |
23
|
Thomas A. Henzinger , Ranjit Jhala , Rupak Majumdar , George C. Necula , Grégoire Sutre , Westley Weimer, Temporal-Safety Proofs for Systems Code, Proceedings of the 14th International Conference on Computer Aided Verification, p.526-538, July 27-31, 2002
|
 |
24
|
|
| |
25
|
M. Kölling and J. Rosenberg. Blue: Language specification, version 0.94, 1997.
|
| |
26
|
G. T. Leavens and Y. Cheon. Design by contract with JML, 2005. avaiable at http://www.cs.iastate.edu/~leavens/JML/#.
|
| |
27
|
|
| |
28
|
M. Fagan. Soft Typing. PhD thesis, Rice University, 1990.
|
 |
29
|
|
| |
30
|
|
 |
31
|
|
 |
32
|
|
 |
33
|
|
 |
34
|
|
| |
35
|
X. Ou, G. Tan, Y. Mandelbaum, and D. Walker. Dynamic typing with dependent types. In IFIP International Conference on Theoretical Computer Science, pages 437--450, 2004.
|
 |
36
|
|
 |
37
|
|
 |
38
|
|
 |
39
|
D. Tarditi , G. Morrisett , P. Cheng , C. Stone , R. Harper , P. Lee, TIL: a type-directed optimizing compiler for ML, ACM SIGPLAN Notices, v.31 n.5, p.181-192, May 1996
|
| |
40
|
J. Vitek, S. Jagannathan, A. Welc, and A. L. Hosking. A semantic framework for designer transactions. In Proceedings of European Symposium on Programming, pages 249--263, 2004.
|
 |
41
|
Christoph von Praun , Thomas R. Gross, Object race detection, Proceedings of the 16th ACM SIGPLAN conference on Object oriented programming, systems, languages, and applications, p.70-82, October 14-18, 2001, Tampa Bay, FL, USA
|
 |
42
|
|
| |
43
|
|
| |
44
|
|
 |
45
|
|
CITED BY 22
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Amal Ahmed , Robert Bruce Findler , Jacob Matthews , Philip Wadler, Blame for all, Proceedings for the 1st workshop on Script to Program Evolution, p.1-13, July 06-06, 2009, Genova, Italy
|
|
|
|
|
|
Sylvain Lebresne , Gregor Richards , Johan Östlund , Tobias Wrigstad , Jan Vitek, Understanding the dynamics of JavaScript, Proceedings for the 1st workshop on Script to Program Evolution, p.30-33, July 06-06, 2009, Genova, Italy
|
|