Abstract

Object collaborations are at the core of all objectoriented programming, yet current class-based objectoriented programming languages do not provide an explicit construct to capture the relationships between objects. This paper reports on an empirical study that investigates the occurrence of object collaborations to assess the need of intrinsic support for relationships in a programming language. We introduce a categorization of possible forms of object collaborations and their corresponding implementation patterns when using a traditional class-based object-oriented language (Java) and analyze 25 Java programs (ranging from 4 to 6275 classes) with the Relationship Detector for Java (RelDJ) to identify occurrences of these patterns. The empirical results show that object collaborations are indeed a frequent phenomenon and reveal that collaborationrelated code does not remain encapsulated in a single class. These observations strongly support efforts to define language constructs to express object relationships: relationships allow the encapsulation of a frequently occurring phenomenon and increase program expressiveness.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call