DocumentCode :
732082
Title :
Polymorphism in the Spotlight: Studying Its Prevalence in Java and Smalltalk
Author :
Milojkovic, Nevena ; Caracciolo, Andrea ; Lungu, Mircea Filip ; Nierstrasz, Oscar ; Rothlisberger, David ; Robbes, Romain
fYear :
2015
fDate :
18-19 May 2015
Firstpage :
186
Lastpage :
195
Abstract :
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.
Keywords :
Java; Measurement; Open source software; Receivers; Unified modeling language; object-oriented programming; polymorphism; programming environments; programming languages;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Program Comprehension (ICPC), 2015 IEEE 23rd International Conference on
Conference_Location :
Florence, Italy
Type :
conf
DOI :
10.1109/ICPC.2015.29
Filename :
7181447
Link To Document :
بازگشت