Supporting program comprehension in large preprocessor-based software product lines

被引:5
|
作者
Feigenspan, J. [1 ]
Schulze, M. [1 ]
Papendieck, M. [1 ]
Kaestner, C. [2 ]
Dachselt, R. [1 ]
Koeppen, V. [1 ]
Frisch, M. [1 ]
Saake, G. [1 ]
机构
[1] Univ Magdeburg, Sch Comp Sci, D-39106 Magdeburg, Germany
[2] Univ Marburg, Sch Math & Comp Sci, D-35032 Marburg, Germany
基金
欧洲研究理事会;
关键词
IMPACT; CODE; PLUS;
D O I
10.1049/iet-sen.2011.0172
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Software product line (SPL) engineering provides an effective mechanism to implement variable software. However, using preprocessors to realise variability, which is typical in industry, is heavily criticised, because it often leads to obfuscated code. Using background colours to highlight code annotated with preprocessor statements to support comprehensibility has proved to be effective, however, scalability to large SPLs is questionable. The authors' aim is to implement and evaluate scalable usage of background colours for industrial-sized SPLs. They designed and implemented scalable concepts in a tool called Feature Commander. To evaluate its effectiveness, the authors conducted a controlled experiment with a large real-world SPL with over 99 000 lines of code and 340 features. They used a within-subjects design with treatment colours and no colours. They compared correctness and response time of tasks for both treatments. For certain kinds of tasks, background colours improve program comprehension. Furthermore, the subjects generally favour background colours compared with no background colours. In addition, the subjects who worked with background colours had to use the search functions less frequently. The authors show that background colours can improve program comprehension in large SPLs. Based on these encouraging results, they continue their work on improving program comprehension in large SPLs.
引用
收藏
页码:488 / 501
页数:14
相关论文
共 50 条
  • [1] Analysis and Propagation of Feature Revisions in Preprocessor-based Software Product Lines
    Michelon, Gabriela K.
    Assuncao, Wesley K. G.
    Gruenbacher, Paul
    Egyed, Alexander
    [J]. 2023 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING, SANER, 2023, : 284 - 295
  • [2] On the Impact of Feature Dependencies when Maintaining Preprocessor-based Software Product Lines
    Ribeiro, Marcio
    Queiroz, Felipe
    Borba, Paulo
    Toledo, Tarsis
    Brabrand, Claus
    Soares, Sergio
    [J]. ACM SIGPLAN NOTICES, 2012, 47 (03) : 23 - 32
  • [3] On the Impact of Feature Dependencies when Maintaining Preprocessor-based Software Product Lines
    Ribeiro, Marcio
    Queiroz, Felipe
    Borba, Paulo
    Toledo, Tarsis
    Brabrand, Claus
    Soares, Sergio
    [J]. GPCE 11: PROCEEDINGS OF THE TENTH INTERNATIONAL CONFERENCE ON GENERATIVE PROGRAMMING AND COMPONENT ENGINEERING, 2011, : 23 - 32
  • [4] Preprocessor-based variability in open-source and industrial software systems: An empirical study
    Claus Hunsen
    Bo Zhang
    Janet Siegmund
    Christian Kästner
    Olaf Leßenich
    Martin Becker
    Sven Apel
    [J]. Empirical Software Engineering, 2016, 21 : 449 - 482
  • [5] Preprocessor-based variability in open-source and industrial software systems: An empirical study
    Hunsen, Claus
    Zhang, Bo
    Siegmund, Janet
    Kaestner, Christian
    Lessenich, Olaf
    Becker, Martin
    Apel, Sven
    [J]. EMPIRICAL SOFTWARE ENGINEERING, 2016, 21 (02) : 449 - 482
  • [6] Supporting commonality-based analysis of software product lines
    Heradio-Gil, R.
    Fernandez-Amoros, D.
    Cerrada, J. A.
    Cerrada, C.
    [J]. IET SOFTWARE, 2011, 5 (06) : 496 - 509
  • [7] Supporting Online Updates of Software Product Lines: A Controlled Experiment
    Michalik, Bartosz
    Weyns, Danny
    Boucke, Nelis
    Helleboogh, Alexander
    [J]. 2011 FIFTH INTERNATIONAL SYMPOSIUM ON EMPIRICAL SOFTWARE ENGINEERING AND MEASUREMENT (ESEM 2011), 2011, : 187 - 196
  • [8] SPLide: An Integrated Development Environment Supporting Software Product Lines
    Paek, Ockhyun
    Lee, Taeho
    Yang, Jin-Seok
    [J]. COMPUTATIONAL SCIENCE AND ITS APPLICATIONS - ICCSA 2019, PT V: 19TH INTERNATIONAL CONFERENCE, SAINT PETERSBURG, RUSSIA, JULY 14, 2019, PROCEEDINGS, PART V, 2019, 11623 : 338 - 348
  • [9] Search based software engineering for program comprehension
    Harman, Mark
    [J]. ICPC 2007: 15TH IEEE INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION, PROCEEDINGS, 2007, : 3 - 13
  • [10] Developing a measurement program tor software product lines
    Cohen, S
    Zubrow, D
    Chastek, G
    [J]. SOFTWARE PRODUCT LINES, PROCEEDINGS, 2004, 3154 : 318 - 318