Boris Bokowski

Learn More
Sharing and transfer of object references is difficult to control in object-oriented languages. Unconstrained sharing poses serious problems for writing secure components in object-oriented languages. In this paper, we present a set of inexpensive syntactic constraints that strengthen encapsulation in object-oriented programs and facilitate the(More)
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(More)
It is generally desirable to detect program errors as early as possible during software development. Statically typed languages allow many errors to be detected at compile-time. However, many errors that could be detected statically cannot be expressed using today's type systems. In this paper, we describe a meta-programming framework for Java which allows(More)
  • 1