REFACTORING OF C/C plus plus PREPROCESSOR CONSTRUCTS AT THE MODEL LEVEL

被引:0
|
作者
Vidacs, Laszlo [1 ]
机构
[1] Univ Szeged, Res Grp Artificial Intelligence, Szeged, Hungary
关键词
Reverse engineering; Refactoring; Graph transformation; Preprocessor;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Preprocessor directives are usually omitted from the analysis of C/C++ software, yet they play an important role especially in program transformations. Here a method is presented for refactoring preprocessor constructs at the model level. Refactorings are carried out on program models derived from a reverse engineering process of real-life software. We present a metamodel of preprocessing on which a graph transformation approach is used to elaborate refactorings. The method is presented through the elaboration of the add parameter refactoring both at schematic and concrete level. Safe transformations are assured by visual control and validated by the evaluation of OCL expressions. The usability of the idea is validated by successful experiments.
引用
收藏
页码:232 / 237
页数:6
相关论文
共 50 条
  • [1] Combining preprocessor slicing with C/C plus plus language slicing
    Vidacs, Laszlo
    Beszedes, Arpad
    Gyimothy, Tibor
    [J]. SCIENCE OF COMPUTER PROGRAMMING, 2009, 74 (07) : 399 - 413
  • [2] A C plus plus refactoring browser and method extraction
    Vittek, Marian
    Borovansky, Peter
    Moreau, Pierre-Etienne
    [J]. SOFTWARE ENGINEERING TECHNIQUES: DESIGN FOR QUALITY, 2006, 227 : 325 - +
  • [3] Service Layer for IDE Integration of C/C plus plus Preprocessor Related Analysis
    Devai, Richard
    Vidacs, Laszlo
    Ferenc, Rudolf
    Gyimothy, Tibor
    [J]. COMPUTATIONAL SCIENCE AND ITS APPLICATIONS - ICCSA 2014, PT V, 2014, 8583 : 402 - +
  • [4] An empirical study on C plus plus concurrency constructs
    Wu, Di
    Chen, Lin
    Zhou, Yuming
    Xu, Baowen
    [J]. 2015 ACM/IEEE INTERNATIONAL SYMPOSIUM ON EMPIRICAL SOFTWARE ENGINEERING AND MEASUREMENT (ESEM), 2015, : 257 - 266
  • [5] Refactoring GrPPI: Generic Refactoring for Generic Parallelism in C plus
    Brown, Christopher
    Janjic, Vladimir
    Barwell, Adam D.
    Garcia, J. Daniel
    MacKenzie, Kenneth
    [J]. INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2020, 48 (04) : 603 - 625
  • [6] Embracing the C preprocessor during refactoring
    Garrido, Alejandra
    Johnson, Ralph
    [J]. JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2013, 25 (12) : 1285 - 1304
  • [7] An extensive empirical study on C plus plus concurrency constructs
    Wu, Di
    Chen, Lin
    Zhou, Yuming
    Xu, Baowen
    [J]. INFORMATION AND SOFTWARE TECHNOLOGY, 2016, 76 : 1 - 18
  • [8] Design and Implementation of Transactional Constructs for C/C plus
    Ni, Yang
    Welc, Adam
    Adl-Tabatabai, Ali-Reza
    Bach, Moshe
    Berkowits, Sion
    Cownie, James
    Geva, Robert
    Kozhukow, Sergey
    Narayanaswamy, Ravi
    Olivier, Jeffrey
    Preis, Serguei
    Saha, Bratin
    Tal, Ady
    Tian, Xinmin
    [J]. OOPSLA 2008 NASHVILLE, CONFERENCE PROCEEDINGS, 2008, : 195 - 211
  • [9] Design and Implementation of Transactional Constructs for C/C plus
    Ni, Yang
    Welc, Adam
    Adl-Tabatabai, Ali-Reza
    Bach, Moshe
    Berkowits, Sion
    Cownie, James
    Geva, Robert
    Kozhukow, Sergey
    Narayanaswamy, Ravi
    Olivier, Jeffrey
    Preis, Serguei
    Saha, Bratin
    Tal, Ady
    Tian, Xinmin
    [J]. ACM SIGPLAN NOTICES, 2008, 43 (10) : 195 - 211
  • [10] CCmutator: A Mutation Generator for Concurrency Constructs in Multithreaded C/C plus plus Applications
    Kusano, Markus
    Wang, Chao
    [J]. 2013 28TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE), 2013, : 722 - 725