Embedded Languages in Magic Comments

Describe the Embedded Languages in Magic Comments?

E

Expert

Verified

In this approach, contracts are specified using a separate notation that is embedded in comments, using special compilers to turn annotations into instrumentation. Two typical implementations of this category are SPARKAda and the Java Modeling Language (JML).

SPARKAda (SPARKAda website) is an Ada95 subset with a rich set of annotations that exceeds runtime instrumentation. The SPARKAda tool suite includes extensive static analysis and proof checkers.

666_magic comments1.jpg

While SPARKAda is well documented, it is only available from a single commercial vendor.

The Java Modeling Language (JML website) is an open source language extension for Java. It provides additional expressions that especially focus on avoiding side effects of contracts.

367_magic comments2.jpg

Using a contract language that is embedded in comments, but can easily access features of the relevant program scope, is almost as powerful as direct language support. The downside is that this approach usually requires a target language compiler re-implementation (an Ada or Java compiler), which imposes a serious tool dependency.

   Related Questions in Science

©TutorsGlobe All rights reserved 2022-2023.