Keynote address - data abstraction and hierarchy
OOPSLA '87 Addendum to the proceedings on Object-oriented programming systems, languages and applications (Addendum)
The Greybox Approach: When Blackbox Specifications Hide Too Much
The Greybox Approach: When Blackbox Specifications Hide Too Much
An overview of JML tools and applications
International Journal on Software Tools for Technology Transfer (STTT) - Special section on formal methods for industrial critical systems
Weakest-precondition of unstructured programs
PASTE '05 Proceedings of the 6th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Preliminary design of JML: a behavioral interface specification language for java
ACM SIGSOFT Software Engineering Notes
Information Hiding and Visibility in Interface Specifications
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Modular verification of higher-order methods with mandatory calls specified by model programs
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Implementing Java modeling language contracts with AspectJ
Proceedings of the 2008 ACM symposium on Applied computing
The future of library specification
Proceedings of the FSE/SDP workshop on Future of software engineering research
The spec# programming system: an overview
CASSIS'04 Proceedings of the 2004 international conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices
Hi-index | 0.00 |
Runtime assertion checking (RAC) is a well-established technique for runtime verification of object-oriented (OO) programs. Contemporary RACs use specifications from the receiver's dynamic type when checking method calls. This implies that in presence of subtyping and dynamic dispatch features of object-oriented programming, these specifications differ from the ones used by static verification tools, which rely on the specifications associated with the static type of the receiver. Besides the heterogeneity problem, this also hinders the benefits of modular reasoning achieved by the notion of supertype abstraction. In this context, we propose a more precise runtime assertion checking for OO programs that better matches the semantics used in static verification tools. While we describe our approach, we discuss how it can be used to avoid the heterogenous semantics problem and among others.