Embedded Languages in Magic Comments
Describe the Embedded Languages in Magic Comments?
Expert
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.
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.
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.
Normal 0 false false
How did college education change for women in the 1880s and 90s?
Programming by Contract: The major mechanism for expressing functional properties is the use of assertions—statements involving conditions expressed as Boolean expressions which cause program termination if the condition is not met.
18,76,764
1933341 Asked
3,689
Active Tutors
1453000
Questions Answered
Start Excelling in your courses, Ask an Expert and get answers for your homework and assignments!!