Polymorphism in the Spotlight: Studying Its Prevalence in Java and Smalltalk
MetadataShow full item record
Subtype polymorphism is a cornerstone of object-oriented programming. By hiding variability in behavior behind a uniform interface, polymorphism decouples clients from providers and thus enables genericity, modularity and extensibility. At the same time, however, it scatters the implementation of the behavior over multiple classes thus potentially hampering program comprehension. The extent to which polymorphism is used in real programs and the impact of polymorphism on program comprehension are not very well understood. We report on a preliminary study of the prevalence of polymorphism in several hundred open source software systems written in Smalltalk, one of the oldest object-oriented programming languages, and in Java, one of the most widespread ones. Although a large portion of the call sites in these systems are polymorphic, a majority have a small number of potential candidates. Smalltalk uses polymorphism to a much greater extent than Java. We discuss how these findings can be used as input for more detailed studies in program comprehension and for better developer support in the IDE.
Showing items related by title, author, creator and subject.
Comparison of phenotypic (Biolog System) and genotypic (random amplified polymorphic DNA-polymerase chain reaction, RAPD-PCR, and amplified fragment length polymorphism, AFLP) methods for typing Lactobacillus plantarum isolates from raw vegetables and fruits Di Cagno R; Minervini G; Sgarbi E; Lazzi C; Bernini V; Neviani E; Gobbetti M (2010)The diversity of 72 isolates of Lactobacillus plantarum, previously identified from different raw vegetables and fruits, was studied based on phenotypic (Biolog System) and genotypic (randomly amplified polymorphic ...
Biochemical profiles, restriction fragment length polymorphism (RFLP), random amplified polymorphic DNA (RAPD) and multilocus variable number tandem repeat analysis (MLVA) for typing Staphylococcus aureus isolated from dairy products Morandi S; Brasca M; Lodi R; Brusetti L; Andrighetto C; Lombardi A (Elsevier, 2010)