Code Clones in Feature-Oriented Software Product Lines

被引:3
|
作者
Schulze, Sandro [1 ]
Apel, Sven [2 ]
Kaestner, Christian [3 ]
机构
[1] Univ Magdeburg, D-39106 Magdeburg, Germany
[2] Univ Passau, Passau, Germany
[3] Univ Marburg, D-35032 Marburg, Germany
基金
欧洲研究理事会;
关键词
Design; languages; measurements; Code clones; software product lines; feature-oriented programming; refactoring; SYSTEMS;
D O I
10.1145/1942788.1868310
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Some limitations of object-oriented mechanisms are known to cause code clones (e. g., extension using inheritance). Novel programming paradigms such as feature-oriented programming (FOP) aim at alleviating these limitations. However, it is an open issue whether FOP is really able to avoid code clones or whether it even facilitates (FOP-related) clones. To address this issue, we conduct an empirical analysis on ten feature-oriented software product lines with respect to code cloning. We found that there is a considerable number of clones in feature-oriented software product lines and that a large fraction of these clones is FOP-related (i.e., caused by limitations of feature-oriented mechanisms). Based on our results, we initiate a discussion on the reasons for FOP-related clones and on how to cope with them. We show by means of examples how such clones can be removed by applying refactorings.
引用
收藏
页码:103 / 112
页数:10
相关论文
共 50 条
  • [21] An Overview of Feature-Oriented Software Development
    Apel, Sven
    Kaestner, Christian
    [J]. JOURNAL OF OBJECT TECHNOLOGY, 2009, 8 (05): : 49 - 84
  • [22] Feature-oriented product line engineering
    Kang, KC
    Lee, J
    Donohoe, P
    [J]. IEEE SOFTWARE, 2002, 19 (04) : 58 - +
  • [23] Comparing the influence of using feature-oriented programming and conditional compilation on comprehending feature-oriented software
    Santos, Alcemir Rodrigues
    Machado, Ivan do Carmo
    de Almeida, Eduardo Santana
    Siegmund, Janet
    Apel, Sven
    [J]. EMPIRICAL SOFTWARE ENGINEERING, 2019, 24 (03) : 1226 - 1258
  • [24] Comparing the influence of using feature-oriented programming and conditional compilation on comprehending feature-oriented software
    Alcemir Rodrigues Santos
    Ivan do Carmo Machado
    Eduardo Santana de Almeida
    Janet Siegmund
    Sven Apel
    [J]. Empirical Software Engineering, 2019, 24 : 1226 - 1258
  • [25] Feature-Oriented Component-Based Development of Software Product Families: A Case Study
    Qian, Chen
    Lau, Kung-Kiu
    [J]. THIRTEENTH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING ADVANCES (ICSEA 2018), 2018, : 144 - 149
  • [26] Unsupervised product feature extraction for feature-oriented opinion determination
    Quan, Changqin
    Ren, Fuji
    [J]. INFORMATION SCIENCES, 2014, 272 : 16 - 28
  • [27] Labeling Feature-Oriented Software Clusters for Software Visualization Application
    Yano, Keisuke
    Matsuo, Akihiko
    [J]. 2015 22ND ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE (APSEC 2015), 2015, : 354 - 361
  • [28] Mixing of Join Point Interfaces and Feature-Oriented Programming for Modular Software Product Line
    Vidal, Cristian
    Benavides, David
    Leger, Paul
    Galindo, Jose Angel
    Fukuda, Hiroaki
    [J]. EAI ENDORSED TRANSACTIONS ON SCALABLE INFORMATION SYSTEMS, 2016, 3 (10):
  • [29] Feature-oriented engineering of PBX software for adaptability and reuseability
    Kang, KC
    Kim, S
    Lee, J
    Lee, K
    [J]. SOFTWARE-PRACTICE & EXPERIENCE, 1999, 29 (10): : 875 - 896
  • [30] FeatureIDE: An extensible framework for feature-oriented software development
    Thuema, Thomas
    Kaestner, Christian
    Benduhn, Fabian
    Meinicke, Jens
    Saake, Gunter
    Leich, Thomas
    [J]. SCIENCE OF COMPUTER PROGRAMMING, 2014, 79 : 70 - 85