MultiJava: modular open classes and symmetric multiple dispatch for Java
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
An axiomatic basis for computer programming
Communications of the ACM
Communications of the ACM
Wireless J2me Platform Programming
Wireless J2me Platform Programming
Computer
An overview of JML tools and applications
International Journal on Software Tools for Technology Transfer (STTT) - Special section on formal methods for industrial critical systems
Jose: Aspects for Design by Contract80-89
SEFM '06 Proceedings of the Fourth IEEE International Conference on Software Engineering and Formal Methods
Pipa: a behavioral interface specification language for aspectJ
FASE'03 Proceedings of the 6th international conference on Fundamental approaches to software engineering
JML’s rich, inherited specifications for behavioral subtypes
ICFEM'06 Proceedings of the 8th international conference on Formal Methods and Software Engineering
The spec# programming system: an overview
CASSIS'04 Proceedings of the 2004 international conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices
Specification and Runtime Verification of Java Card Programs
Electronic Notes in Theoretical Computer Science (ENTCS)
Checking concurrent contracts with aspects
Proceedings of the 2010 ACM Symposium on Applied Computing
Towards client-aware interface specifications
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
On the interplay of exception handling and design by contract: an aspect-oriented recovery approach
Proceedings of the 13th Workshop on Formal Techniques for Java-Like Programs
JCML: A specification language for the runtime verification of Java Card programs
Science of Computer Programming
Modular aspect-oriented design rule enforcement with XPIDRs
Proceedings of the 12th workshop on Foundations of aspect-oriented languages
Science of Computer Programming
A design rule language for aspect-oriented programming
Journal of Systems and Software
Client-aware checking and information hiding in interface specifications with JML/ajmlc
Proceedings of the 2013 companion publication for conference on Systems, programming, & applications: software for humanity
Hi-index | 0.00 |
The Java Modeling Language (JML) is a behavioral interface specification language (BISL) designed for Java. It was developed to improve functional software correctness of Java applications. However, instrumented object program generated by the JML compiler use the Java reflection mechanism and data structures not supported by Java ME applications. To deal with this limitation, we propose the use of AspectJ to implement a new JML compiler, which generates an instrumented bytecode compliant with both Java SE and Java ME applications. The paper includes a comparative study to demonstrate the quality of the final code generated by our compiler. The size of the code is compared against the code generated by an existent JML compiler. Moreover, we evaluate the amount of additional code required to implement the JML assertions in Java applications. Results indicate that the overhead in code size produced by our compiler is very small, which is essential for Java ME applications.