FREE SHIPPING - SAFE PAYMENT - MONEY BACK GUARANTEE Need help?

Implementing JML Contracts with AspectJ

Improving instrumentation and checking of JML contracts
by Henrique Rebelo - Sold by Dodax EU
State: New
£48.99
VAT included - FREE Shipping
Henrique Rebelo Implementing JML Contracts with AspectJ
Henrique Rebelo - Implementing JML Contracts with AspectJ

Do you like this product? Spread the word!

£48.99 incl. VAT
Only 1 items available Only 1 items available
Delivery: between 2021-03-08 and 2021-03-10
Sales & Shipping: Dodax EU

Description

The Java Modeling Language (JML) is a formal interface specification language designed for Java. It was developed with the aim of improving the functional software correctness of Java applications. JML has a rich set of features for specifying Java applications, including abstract specifications, method and type specifications, and multiple inheritance specifications. The current JML compiler (jmlc) does not work properly when applied to Java dialects such as Java ME. The instrumented code generated by the original JML compiler uses the Java reflection mechanism and data structures not supported by Java ME platform. In order to overcome this limitation, our new JML compiler --- ajmlc (AspectJ JML Compiler) --- uses AspectJ to instrument Java code with JML contracts. A set of translation rules are defined from JML contracts into AspectJ program code. The result is a code compliant with both Java SE and Java ME applications. The translation rules handle a number of JML specifications, such as pre-, postconditions, and invariants. This book also includes proofs of concept to compare the size of the final code generated by our compiler with the code size produced by the jmlc compiler.

Contributors

Author Henrique Rebelo

Author Ricardo Massa F. Lima

Author Márcio L. Cornélio

Product Details

DUIN 1K5M20VPQQU

GTIN 9783847337539

Pages 144

Product type Paperback

£48.99
We use cookies on our website to make our services more efficient and more user-friendly. Therefore please select "Accept cookies"! Please read our Privacy Policy for further information.