Tool for Detecting Standardwise Differences in C plus plus Legacy Code

被引:0
|
作者
Brunner, Tibor [1 ]
Pataki, Norbert [1 ]
Porkolab, Zoltan [1 ]
机构
[1] Eotvos Lorand Univ, Dept Programming Languages & Compilers, Pazmany Peter Setany 1-C, H-1117 Budapest, Hungary
关键词
D O I
暂无
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Programming languages are continuously evolving as the experiences are accumulated, developers face new problems and other requirements such as increasing support for multi-threading is emerging. These changes are reflected in new language standards and compiler versions. Although these changes are carefully planned to keep reverse compatibility with previous versions to keep the syntax and the semantics of earlier written code, sometimes languages break this rule. In case of silent semantic changes, when the earlier written code is recompiled with the new version, this is especially harmful. The new C++11 standard introduced major changes in the core language. This changes are widely believed to be reverse compatible, i.e. a simple recompilation of earlier written code will keep the old semantics. Recently we found examples that the backward compatibility between language versions is broken. The previously written code compiled with a new C++ compiler may change the program behaviour without any compiler diagnostic message. In a large code base such issues are very hard to catch by manual inspection, therefore some automatic tool support is required for this purpose. In this paper we propose a tool support to detect such backward incompatibilities in C++. The basic idea is to parse the source code using different standards, and then compare the abstract syntax trees. We implemented a proof of concept prototype tool to demonstrate our idea based on the LLVM/Clang compiler infrastructure.
引用
收藏
页码:51 / 56
页数:6
相关论文
共 50 条
  • [41] Static Analysis of Functors' Mathematical Properties in C plus plus Source Code
    Babati, Bence
    Pataki, Norbert
    INTERNATIONAL CONFERENCE ON NUMERICAL ANALYSIS AND APPLIED MATHEMATICS (ICNAAM-2018), 2019, 2116
  • [42] Reading Behavior and Comprehension of C plus plus Source Code - A Classroom Study
    Saddler, Jonathan A.
    Peterson, Cole S.
    Peachock, Patrick
    Sharif, Bonita
    AUGMENTED COGNITION, AC 2019, 2019, 11580 : 597 - 616
  • [43] TCD: Statically Detecting Type Confusion Errors in C plus plus Programs
    Zou, Changwei
    Sui, Yulei
    Yan, Hua
    Xue, Jingling
    2019 IEEE 30TH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING (ISSRE), 2019, : 292 - 302
  • [44] C plus plus Memory Detection Tool Based on Dynamic Instrumentation
    Fu, Siran
    Cui, Baojiang
    Guo, Tao
    Song, Xuyan
    ADVANCES IN INTERNET, DATA & WEB TECHNOLOGIES, 2018, 17 : 663 - 674
  • [45] A (Reverse) Mutation Testing Approach to Automatically generate parallel C/C plus plus Code
    Calanna, Salvatore
    Calvagna, Andrea
    Campisi, Salvatore
    Fornaia, Andrea
    Pappalardo, Giuseppe
    Torrisi, Riccardo
    Tramontana, Emiliano
    2021 IEEE 30TH INTERNATIONAL CONFERENCE ON ENABLING TECHNOLOGIES: INFRASTRUCTURE FOR COLLABORATIVE ENTERPRISES (WETICE 2021), 2021, : 159 - 164
  • [46] HWASanIO: Detecting C/C plus plus Intra-object Overflows with Memory Shading
    Hohentanner, Konrad
    Kasten, Florian
    Auer, Lukas
    PROCEEDINGS OF THE 12TH ACM SIGPLAN INTERNATIONAL WORKSHOP ON THE STATE OF THE ART IN PROGRAM ANALYSIS, SOAP 2023, 2023, : 27 - 33
  • [47] Detecting and Eliminating Potential Violation of Sequential Consistency for Concurrent C/C plus plus Programs
    Duan, Yuelu
    Feng, Xiaobing
    Wang, Lei
    Zhang, Chao
    Yew, Pen-Chung
    CGO 2009: INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION, PROCEEDINGS, 2009, : 25 - +
  • [48] Matlab2cpp: a Matlab-to-C plus plus Code Translator
    Paulsen, Geir Yngve
    Feinberg, Jonathan
    Cai, Xing
    Nordmoen, Bjorn
    Dahle, Hans Petter
    2016 11TH SYSTEMS OF SYSTEM ENGINEERING CONFERENCE (SOSE), IEEE, 2016,
  • [49] Metaprogramming- Enabled Parallel Execution of Apparently Sequential C plus plus Code
    Hollman, David S.
    Bennett, Janine C.
    Kolla, Hemanth
    Lifflander, Jonathan
    Slattengren, Nicole
    Wilke, Jeremiah
    PROCEEDINGS OF SECOND INTERNATIONAL WORKSHOP ON EXTREME SCALE PROGRAMMING MODELS AND MIDDLEWARE (ESPM2 2016), 2016, : 24 - 31
  • [50] On the Evolution of Mobile Computing Software Systems and C/C plus plus Vulnerable Code Empirical Investigation
    Alnaeli, Saleh M.
    Sarnowski, Melissa
    Aman, Md Sayedul
    Yelamarthi, Kumar
    Abdelgawad, Ahmed
    Jiang, Haowen
    2016 IEEE 7TH ANNUAL UBIQUITOUS COMPUTING, ELECTRONICS MOBILE COMMUNICATION CONFERENCE (UEMCON), 2016,