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
Copyright Status
Unknown
Socpus ID
84940476921 (Scopus)
Source API URL
https://api.elsevier.com/content/abstract/scopus_id/84940476921
STARS Citation
Rebêlo, Henrique and Leavens, Gary T., "Enforcing Information Hiding In Interface Specifications: A Client-Aware Checking Approach" (2015). Scopus Export 2015-2019. 1992.
https://stars.library.ucf.edu/scopus2015/1992