CoffeeStrainer: statically-checked constraints on the definition and use of types in Java

  • Authors:
  • Boris Bokowski

  • Affiliations:
  • Freie Univ. Berlin, Berlin, Germany

  • Venue:
  • ESEC/FSE-7 Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

Usually, programming languages are used according to conventions and rules. Although general rules can be enforced by lint-like tools, there is a large class of rules that cannot be built into such tools because they result from particular design decisions or the reuse of existing software. This paper presents a system, called CoffeeStrainer, that statically checks programmer-specified constraints on Java programs. Unlike previous approaches, which only support constraints that apply to definitions of types, CoffeeStrainer additionally supports a second class of constraints which apply to all uses of a type. Both classes of constraints play an important role for object-oriented class libraries and frameworks, which often make assumptions on their correct use.