Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network

  Advanced Search  

Design and implementation of assertions for the common language infrastructure

Summary: Design and implementation of assertions for the
common language infrastructure
N. Tran, C. Mingins and D. Abramson
Abstract: Assertions are a well established mechanism for the specification and verification of
program semantics in the forms of pre-conditions, post-conditions and invariants of object and
component interfaces. Traditionally, assertions are typically specific to individual programming
languages. The ECMA Common Language Infrastructure (CLI) provides a shared dynamic
execution environment for implementation and interoperation of multiple languages. The authors
extend the CLI with support for assertions, in the Design by Contract style, in a language-agnostic
manner. Their design is flexible and powerful in that it treats assertions as first class constructs in
both the binary format and in the run-time while leaving the source level specification choices
completely open. The design also enforces behavioural sub-typing and object re-entrance rules, and
provides sensible exception handling. The implementation of run-time monitoring in Microsoft's
Shared Source CLI (a.k.a. Rotor) integrates with the dynamic run-time, performing just-in-time
code weaving in a novel way to maximise efficiency while operating at the platform-neutral level.
1 Introduction
Design by Contract (DbC) is both a method and a set of
language features that support component interface speci-
fications. These specifications are seen as sets of contracts
between a component and its environment, specifying what


Source: Abramson, David - Caulfield School of Information Technology, Monash University


Collections: Computer Technologies and Information Sciences