Universes: Lightweight Ownership for JML

被引:53
作者
Dietl, Werner [1 ]
Muller, Peter [2 ]
机构
[1] ETH, Zurich, Switzerland
[2] ETH, Software Component Technol Grp, Zurich, Switzerland
来源
JOURNAL OF OBJECT TECHNOLOGY | 2005年 / 4卷 / 08期
关键词
D O I
10.5381/jot.2005.4.8.a1
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Object-oriented programs with arbitrary object structures are difficult to understand, to maintain, and to reason about. Ownership has been applied successfully to structure the object store and to restrict how references can be passed and used. We describe how ownership relations can be expressed in the Java Modeling Language, JML. These ownership specifications can be checked by standard verification techniques, runtime assertion checking, ownership type systems, or combinations of these techniques. We show that the combination of the lightweight Universe type system and JML specifications is flexible enough to handle interesting implementations while keeping the annotation and checking overhead small. The Universe type system has been implemented in the JML compiler. This integration enables the application of ownership-based verification techniques to programs specified in JML.
引用
收藏
页码:5 / 32
页数:28
相关论文
共 46 条
[21]  
Clarke D, 2003, LECT NOTES COMPUT SC, V2743, P176
[22]   Ownership, encapsulation and the disjointness of type and effect [J].
Clarke, D ;
Drossopoulou, S .
ACM SIGPLAN NOTICES, 2002, 37 (11) :292-310
[23]   Ownership types for flexible alias protection [J].
Clarke, DG ;
Potter, JM ;
Noble, J .
ACM SIGPLAN NOTICES, 1998, 33 (10) :48-64
[24]  
CLIFTON C, 2004, 0401B IOW STAT U DEP
[25]  
Cok D., 2004, LECT NOTES COMPUTER, V3362
[26]  
DIETL W., 2004, P FORM TECHN JAV LIK, P49
[27]   Adoption and focus:: Practical linear types for imperative programming [J].
Fähndrich, M ;
DeLine, R .
ACM SIGPLAN NOTICES, 2002, 37 (05) :13-24
[28]   Extended static checking for Java']Java [J].
Flanagan, C ;
Leino, KRM ;
Lillibridge, M ;
Nelson, G ;
Saxe, JB ;
Stata, R .
ACM SIGPLAN NOTICES, 2002, 37 (05) :234-245
[29]  
Jacobs B, 2001, LECT NOTES COMPUT SC, V2028, P284
[30]   Weakest pre-condition reasoning for Java']Java programs with JML annotations [J].
Jacobs, B .
JOURNAL OF LOGIC AND ALGEBRAIC PROGRAMMING, 2004, 58 (1-2) :61-88