Stephanie Balzer

Learn More
Understanding the collaborations that arise between the instances of classes in object-oriented programs is important for the analysis , optimization, or modification of the program. Relationships have been proposed as a programming language construct to enable an explicit representation of these collaborations. This paper introduces a relational model that(More)
The simplest and purest practical object-oriented language designs today are seen in dynamically-typed languages, such as Smalltalk and Self. Static types, however, have potential benefits for productivity, security, and reasoning about programs. In this paper, we describe the design of Wyvern, a statically typed, pure object-oriented language that attempts(More)
Allowing the description of a collection of objects, the concept of a " class " is central to object-oriented programming languages, yet, it is inadequate to describe the collaborations that arise from the interactions between these objects. The continued interest in concretizing object interactions — be it on the level of design through patterns, on the(More)
Reasoning about object-oriented programs is difficult since such programs usually involve aliasing, and it is not easy to identify the ways objects can relate to each other and thus to confine a program's heap. In this paper, we address this problem in the context of a relationship-based programming language. In relationship-based programming languages,(More)
2008 ACKNOWLEDGEMENTS First and foremost I thank Bertrand Meyer, for giving me the opportunity to do a PhD under his supervision at ETH Zurich. His support and guidance made the work presented here possible and had the decisive influence on this work's progress and finalization, as well as on my formation as a researcher in the past four years. I also thank(More)
Most ownership systems enforce a tree topology on a program's heap. The tree topology facilitates many aspects of programming such as thread synchronization, memory management, and program verification. Ownership-based verification techniques leverage the tree topology of an ownership system (and hence the fact that there exists a single owner) to restore(More)