Comparing the influence of using feature-oriented programming and conditional compilation on comprehending feature-oriented software

被引:5
|
作者
Santos, Alcemir Rodrigues [1 ]
Machado, Ivan do Carmo [2 ]
de Almeida, Eduardo Santana [2 ]
Siegmund, Janet [3 ]
Apel, Sven [3 ]
机构
[1] Univ Fed Bahia, Salvador, BA, Brazil
[2] Univ Fed Bahia, Dept Comp Sci, Salvador, BA, Brazil
[3] Univ Passau, Chair Software Prod Lines, Passau, Germany
关键词
Quasi-experiments; Replication; Feature-oriented software development; FeatureHouse; Conditional compilation; Graduate students;
D O I
10.1007/s10664-018-9658-x
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Several variability representations have been proposed over the years. Software maintenance in the presence of variability is known to be hard. One of the reasons is that maintenance tasks require a large amount of cognitive effort for program comprehension. In fact, the different ways of representing variability in source code might influence the comprehension process in different ways. Despite the differences, there is little evidence about how these variability representations - such as conditional-compilation directives or feature-oriented programming - influence program comprehension. Existing research has focused primarily on either understanding how code using modern paradigms evolves compared to the traditional way of realizing variability, namely conditional compilation, or on the aspects influencing the comprehension of conditional compilation only. We used two different programs implemented in Java and each of these variability representations. As Java does not support conditional compilation natively, we relied on the mimicking (i.e., preprocessing annotations in comments) that has been used in the literature. Our results show no significant statistical differences regarding the evaluated measures (correctness, understanding, or response time) in the tasks. Our heterogeneous sample allowed us to produce evidence about the influence of using CC and FOP variability representations on the aspects involved in the comprehension of feature-oriented software, while addressing bug-finding tasks.
引用
收藏
页码:1226 / 1258
页数:33
相关论文
共 50 条
  • [31] Feature-oriented development of applications for a domain
    Kang, KC
    [J]. FIFTH INTERNATIONAL CONFERENCE ON SOFTWARE REUSE - PROCEEDINGS, 1998, : 354 - 355
  • [32] Dynamic Slicing of Feature-Oriented Programs
    Sahu, Madhusmita
    Mohapatra, Durga Prasad
    [J]. PROCEEDINGS OF 3RD INTERNATIONAL CONFERENCE ON ADVANCED COMPUTING, NETWORKING AND INFORMATICS, ICACNI 2015, VOL 2, 2016, 44 : 381 - 388
  • [33] Feature Featherweight Java']Java: A Calculus for Feature-Oriented Programming and Stepwise Refinement
    Apel, Sven
    Kaestner, Christian
    Lengauer, Christian
    [J]. GPCE'08: PROCEEDINGS OF THE ACM SIGPLAN SEVENTH INTERNATIONAL CONFERENCE ON GENERATIVE PROGRAMMING AND COMPONENT ENGINEERING, 2008, : 101 - 111
  • [34] Algebraic treatment of feature-oriented systems
    Gaston, C
    Aiguier, M
    Le Gall, P
    [J]. LANGUAGE CONSTRUCTS FOR DESCRIBING FEATURES, 2001, : 105 - 124
  • [35] Feature-oriented product line engineering
    Kang, KC
    Lee, J
    Donohoe, P
    [J]. IEEE SOFTWARE, 2002, 19 (04) : 58 - +
  • [36] Relevant Slicing of Feature-Oriented Programs
    Sahu, Madhusmita
    Mohapatra, Durga Prasad
    [J]. PROGRESS IN ADVANCED COMPUTING AND INTELLIGENT ENGINEERING, PROCEEDINGS OF ICACIE 2016, VOLUME 1, 2018, 563 : 333 - 346
  • [37] View Infinity: A Zoomable Interface for Feature-Oriented Software Development
    Stengel, Michael
    Frisch, Mathias
    Apel, Sven
    Feigenspan, Janet
    Kaestner, Christian
    Dachselt, Raimund
    [J]. 2011 33RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2011, : 1031 - 1033
  • [38] Feature-Oriented Nonfunctional Requirement Analysis for Software Product Line
    彭鑫
    Seok-Won Lee
    赵文耘
    [J]. Journal of Computer Science & Technology, 2009, 24 (02) : 319 - 338
  • [39] First-class change objects for feature-oriented programming
    Ebraert, Peter
    [J]. FIFTEENTH WORKING CONFERENCE ON REVERSE ENGINEERING, PROCEEDINGS, 2008, : 319 - 322
  • [40] Correctness-by-Construction for Feature-Oriented Software Product Lines
    Bordis, Tabea
    Runge, Tobias
    Schaefer, Ina
    [J]. GPCE '2020: PROCEEDINGS OF THE 19TH ACM SIGPLAN INTERNATIONAL CONFERENCE ON GENERATIVE PROGRAMMING: CONCEPTS AND EXPERIENCES, 2020, : 22 - 34