Enforcing Information Hiding In Interface Specifications: A Client-Aware Checking Approach

Keywords

AspectJML language; Information hiding; Interface specification languages; JML language; Runtime assertion checking

Abstract

Information hiding is an established principle that controls which parts of a module are visible to non-privileged and privileged clients (e.g., subclasses). 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. Unfortunately, contemporary formal interface specification languages and their respective runtime assertion checkers (RACs) are inconsistent with information hiding rules because they check assertions in an overly-dynamic manner on the supplier side. We explain how overly-dynamic RACs compromise information hiding and how our client-aware checking technique allows these RACs to use the privacy information in specifications, which promotes information hiding.

Publication Date

3-16-2015

Publication Title

ACM International Conference Proceeding Series

Volume

2015-March

Number of Pages

47-51

Document Type

Article; Proceedings Paper

Personal Identifier

scopus

DOI Link

https://doi.org/10.1145/2735386.2736750

Socpus ID

84940476921 (Scopus)

Source API URL

https://api.elsevier.com/content/abstract/scopus_id/84940476921

This document is currently not available here.

Share

COinS