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 条
  • [41] Feature-Oriented Nonfunctional Requirement Analysis for Software Product Line
    Xin Peng
    Seok-Won Lee
    Wen-Yun Zhao
    [J]. Journal of Computer Science and Technology, 2009, 24 : 319 - 338
  • [42] 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
  • [43] Feature-Oriented Evolution of Automation Software Systems in Industrial Software Ecosystems
    Hinterreiter, Daniel
    Linsbauer, Lukas
    Reisinger, Florian
    Praehofer, Herbert
    Gruenbacher, Paul
    Egyed, Alexander
    [J]. 2018 IEEE 23RD INTERNATIONAL CONFERENCE ON EMERGING TECHNOLOGIES AND FACTORY AUTOMATION (ETFA), 2018, : 107 - 114
  • [44] 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):
  • [45] From requirements to software architecture: a feature-oriented mapping approach
    Liu, DY
    Mei, H
    [J]. 8TH WORLD MULTI-CONFERENCE ON SYSTEMICS, CYBERNETICS, AND INFORMATICS, VOL XVI, PROCEEDINGS, 2004, : 376 - 381
  • [46] Supporting Feature-Oriented Development and Evolution in Industrial Software Ecosystems
    Hinterreiter, Daniel
    [J]. SPLC'18: PROCEEDINGS OF THE 22ND INTERNATIONAL SYSTEMS AND SOFTWARE PRODUCT LINE CONFERENCE - VOL 2, 2018, : 79 - 86
  • [47] Looking for a modular software development methodology. Blending of feature-oriented programming and aspect-oriented programming JPI
    Vidal-Silva, Cristian L.
    Pham, Trung T.
    Sepúlveda, Sussan M.
    Carter, Luis E.
    [J]. Informacion Tecnologica, 2019, 30 (03): : 95 - 104
  • [48] Data flow testing of feature-oriented programs
    Madhusmita Sahu
    Durga Prasad Mohapatra
    [J]. International Journal of System Assurance Engineering and Management, 2022, 13 : 2291 - 2306
  • [49] Expressive Feature-oriented Multicast for the Internet of Things
    Oostvogels, Jonathan
    Peros, Stefanos
    Delbruel, Stephane
    Hughes, Danny
    [J]. 2019 15TH INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING IN SENSOR SYSTEMS (DCOSS), 2019, : 173 - 175
  • [50] Applying Design by Contract to Feature-Oriented Programmingq
    Thuem, Thomas
    Schaefer, Ina
    Kuhlemann, Martin
    Apel, Sven
    Saake, Gunter
    [J]. FUNDAMENTAL APPROACHES TO SOFTWARE ENGINEERING, FASE 2012, 2012, 7212 : 255 - 269