Client-aware checking and information hiding in interface specifications with JML/ajmlc

Henrique Rebêlo, Gary T. Leavens, Ricardo Lima · 2013

Information hiding controls which parts of a module are visible to different clients. This aids maintenance because hidden implementation details can be changed without affecting clients. The benefits of information hiding apply not only to code but also to other artifacts, such as specifications. In this demonstration we show how our client-aware checking (CAC) technique, which is implemented by our JML/ajmlc compiler and freely available online, use the privacy information in specifications to promote information hiding. We demonstrate the benefits of CAC over existing runtime assertion checkers (RACs) of contemporary interface specification languages.

Read the paper · More papers on PaperTik