: Object-oriented programs Dahl, Goldberg, Meyer are notoriously prone to the following kinds of error, which could lead to increasingly severe problems in the presence of tasking
Call graphs are commonly used as input for automatic clustering algorithms, the goal of which is to extract the high level structure of the program under study. Determining the ca...
Derek Rayside, Steve Reuss, Erik Hedges, Kostas Ko...
Abstract. We develop a logic for reasoning about object-oriented programs. The logic is for a language with an imperative semantics and aliasing, and accounts for self-reference in...
Abstract. A properly encapsulated data representation can be revised for refactoring or other purposes without affecting the correctness of client programs and extensions of a clas...
Inheritance is an important mechanism when developing object-oriented programs with class-based programming languages: it enables subtyping, polymorphism, and code reuse. Inherita...