Understanding Conditional Compilation Through Integrated Representation of Variability and Source Code

被引:1
|
作者
Baum, David [1 ]
Sixtus, Christina [1 ]
Vogelsberg, Lisa [1 ]
Eisenecker, Ulrich [1 ]
机构
[1] Univ Leipzig, Leipzig, Germany
关键词
conditional compilation; variablity; software visualization; visual analytics; Getaviz; preprocessor; software prodect line; FRAMEWORK;
D O I
10.1145/3307630.3342387
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The C preprocessor (CPP) is a standard tool for introducing variability into source programs and is often applied either implicitly or explicitly for implementing a Software Product Line (SPL). Despite its practical relevance, CPP has many drawbacks. Because of that it is very difficult to understand the variability implemented using CPP. To facilitate this task we provide an innovative analytics tool which bridges the gap between feature models as more abstract representations of variability and its concrete implementation with the means of CPP. It allows to interactively explore the entities of a source program with respect to the variability realized by conditional compilation. Thus, it simplifies tracing and understanding the effect of enabling or disabling feature flags.
引用
收藏
页码:21 / 24
页数:4
相关论文
共 50 条
  • [1] Understanding Source Code Through Projectional Editor
    Juhar, Jan
    Vokorokos, Liberios
    2015 13TH INTERNATIONAL CONFERENCE ON ENGINEERING OF MODERN ELECTRIC SYSTEMS (EMES), 2015,
  • [2] Summarizing source code with hierarchical code representation
    Zhou, Ziyi
    Yu, Huiqun
    Fan, Guisheng
    Huang, Zijie
    Yang, Xingguang
    INFORMATION AND SOFTWARE TECHNOLOGY, 2022, 143
  • [3] Query compilation in PostgreSQL by specialization of the DBMS source code
    Sharygin, E. Yu.
    Buchatskiy, R. A.
    Zhuykov, R. A.
    Sher, A. R.
    PROGRAMMING AND COMPUTER SOFTWARE, 2017, 43 (06) : 353 - 365
  • [4] Query compilation in PostgreSQL by specialization of the DBMS source code
    E. Yu. Sharygin
    R. A. Buchatskiy
    R. A. Zhuykov
    A. R. Sher
    Programming and Computer Software, 2017, 43 : 353 - 365
  • [5] Optimizing Network Utilization through Source Code State Model Representation
    Lopez, Jorge
    Kushik, Natalia
    Cavalli, Ana
    Yevtushenko, Nina
    PROCEEDINGS OF 2016 IEEE EAST-WEST DESIGN & TEST SYMPOSIUM (EWDTS), 2016,
  • [6] A Microservice Decomposition Method Through Using Distributed Representation Of Source Code
    Al-Debagy O.
    Martinek P.
    Scalable Computing, 2021, 22 (01): : 39 - 52
  • [7] A MICROSERVICE DECOMPOSITION METHOD THROUGH USING DISTRIBUTED REPRESENTATION OF SOURCE CODE
    Al-Debagy, Omar
    Martinek, Peter
    SCALABLE COMPUTING-PRACTICE AND EXPERIENCE, 2021, 22 (01): : 39 - 52
  • [8] Variability-Aware Parsing in the Presence of Lexical Macros and Conditional Compilation
    Kaestner, Christian
    Giarrusso, Paolo G.
    Rendel, Tillmann
    Erdweg, Sebastian
    Ostermann, Klaus
    Berger, Thorsten
    OOPSLA 11: PROCEEDINGS OF THE 2011 ACM INTERNATIONAL CONFERENCE ON OBJECT ORIENTED PROGRAMMING SYSTEMS LANGUAGES AND APPLICATIONS, 2011, : 805 - 824
  • [9] Understanding Misunderstandings in Source Code
    Gopstein, Dan
    Iannacone, Jake
    Yan, Yu
    DeLong, Lois
    Zhuang, Yanyan
    Yeh, Martin K. -C.
    Cappos, Justin
    ESEC/FSE 2017: PROCEEDINGS OF THE 2017 11TH JOINT MEETING ON FOUNDATIONS OF SOFTWARE ENGINEERING, 2017, : 129 - 139
  • [10] Variability-aware parsing in the presence of lexical macros and conditional compilation
    Philipps University Marburg, Germany
    不详
    ACM SIGPLAN Not., 10 (805-824):