arrow
Return

Object-oriented software extensions in practice

delete2014-01-29
delete7
PRE
AI
R
Romain Robbes *
D
David Röthlisberger
É
Éric Tanter
DOI:10.1007/s10664-013-9298-0delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
As software evolves, data types have to be extended, possibly with new data variants or new operations. Object-oriented design is well-known to support data extensions well. In fact, most popular books showcase data extensions to illustrate how objects adequately support software evolution. Conversely, operation extensions are typically better supported by a functional design. A large body of programming language research has been devoted to the challenge of properly supporting both kinds of extensions. While this challenge is well-known from a language design standpoint, it has not been studied empirically. We perform such a study on a large sample of Smalltalk projects (over half a billion lines of code) and their evolution over more than 130,000 committed changes. Our study of extensions during software evolution finds that extensions are indeed prevalent evolution tasks, and that both kinds of extensions are equally common in object-oriented software. We also discuss findings about: the evolution of the kinds of extensions over time; the viability of the Visitor pattern as an object-oriented solution to operation extensions; the change-proneness of extensions; and the prevalence of extensions by third parties. This study suggests that object-oriented design alone is not sufficient, and that practical support for both kinds of program decomposition approaches are in fact needed, either by the programming language or by the development environment.
Keywords:
Object-oriented programming
Software evolution
Data extensions
Operation extensions
Empirical studies
Mining software repositories

Journal

Empirical Software Engineering cover
Empirical Software Engineering
IF:
3.6
Papers:
2.0K
Citations:
5.3K

Organization

U
university diego portales
Scholars:
1.5K
Papers: 1.5K
Citations: 23
U
universidad de chile
Scholars:
2.1W
Papers: 1.4W
Citations: 18
Cited Papers

Cited Papers

Japanese phase I study of cabazitaxel in metastatic castration-resistant prostate cancer
err2015-03-26
err0
PREAI
errMasahiro Nozawa; Hirofumi Mukai; Shunji Takahashi; Hiroji Uemura; Takeo Kosaka; Yusuke Onozawa; Jun Miyazaki; Kazuhiro Suzuki; Koji Okihara; Yoichi Arai; Tomomi Kamba; Masashi Kato; Yasutomo Nakai; Hiroshi Furuse; Haruki Kume; Hisamitsu Ide; Hiroshi Kitamura; Akira Yokomizo; Takahiro Kimura; Yoshihiko Tomita; Keiji Ohno; Yoshiyuki Kakehi
errShare
errSave
Mining version histories to guide software changes
err2005-06-01
err469
PREAI
errZimmermann, T; Weissgerber, P; Diehl, S; Zeller, A
errShare
errSave
Adoption and use of Java generics
err2012-12-06
err34
PREAI
errParnin, Chris; Bird, Christian; Murphy-Hill, Emerson
errShare
errSave
Implementing the TARGET Model in Physical Education: Effects on Perceived Psychobiosocial and Motivational States in Girls
err2017-09-05
err0
errOAAI
errLaura Bortoli; Maurizio Bertollo; Edson Filho; Selenia di Fronso; Claudio Robazza
errShare
errSave
Ag/PEPC/NiPc/ZnO/Ag thin film capacitive and resistive humidity sensors
err2010-05-19
err0
PREAI
errKh. S Karimov; Kuan Yew Cheong; M Saleem; Imran Murtaza; M Farooq; Ahmad Fauzi Mohd Noor
errShare
errSave
Cloning of cDNAs Encoding Human Synapsins Ha and IIb
err2009-07-11
err0
PREAI
errB. Porton; H.-T. Kao; P. Greengard
errShare
errSave
researcher View more