DocumentCode :
834704
Title :
Design and implementation of assertions for the Common Language Infrastructure
Author :
Tran, N. ; Mingins, C. ; Abramson, D.
Author_Institution :
Sch. of Comput. Sci. & Software Eng., Monash Univ., Caulfield East, Vic., Australia
Volume :
150
Issue :
5
fYear :
2003
Firstpage :
329
Lastpage :
336
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.
Keywords :
exception handling; formal specification; program diagnostics; program verification; programming environments; programming language semantics; ECMA Common Language Infrastructure; Microsoft Shared Source CLI; Rotor; assertions; behavioural sub-typing; binary format; design by contract; exception handling; just-in-time code weaving; object re-entrance rules; program semantics; run-time monitoring; specification; verification;
fLanguage :
English
Journal_Title :
Software, IEE Proceedings -
Publisher :
iet
ISSN :
1462-5970
Type :
jour
DOI :
10.1049/ip-sen:20030988
Filename :
1249345
Link To Document :
بازگشت