Static Analysis of Functors' Mathematical Properties in C plus plus Source Code

被引:1
|
作者
Babati, Bence [1 ]
Pataki, Norbert [1 ]
机构
[1] Eotvos Lorand Univ, Fac Informat, Dept Programming Languages & Compilers, Peter Setany 1-C, H-1117 Budapest, Hungary
关键词
D O I
10.1063/1.5114355
中图分类号
O29 [应用数学];
学科分类号
070104 ;
摘要
The C++ Standard Template Library (STL) is the most well-known and widely used library that is based on the generic programming paradigm. STL takes advantage of C++ templates, so it is an extensible, effective and flexible system. Professional C++ programs cannot miss the usage of the STL because it increases quality, maintainability, understandability and efficacy of the code. However, the usage of C++ STL does not guarantee perfect, error-free code. Contrarily, incorrect application of the library may introduce new types of problems. Unfortunately, there is still a large number of properties that are tested neither at compilation-time nor at run-time. It is not surprising that in implementations of C++ programs so many STL-related bugs may occur. It is clearly seen that the compilation validation is not enough to exclude STL-related bugs. For instance, the mathematical properties of user-defined sorting parameters are not validated at compilation phase nor at run-time. Contravention of the strict weak ordering property results in weird behavior that is hard to debug. In this paper, we argue for a static analysis tool which finds erroneous implementation of functors regarding the mathematical properties. The primary goal is to support Continuous Integration pipelines, using this tool during development to overcome debugging efforts.
引用
收藏
页数:4
相关论文
共 50 条
  • [1] Analysis and Code Model Extraction for C/C plus plus Source Code
    Wagner, Christian
    Margaria, Tiziana
    Pagendarm, Hans-Georg
    [J]. 2009 14TH IEEE INTERNATIONAL CONFERENCE ON ENGINEERING OF COMPLEX COMPUTER SYSTEMS (ICECCS), 2009, : 110 - +
  • [2] A Comparison of Open-Source Static Analysis Tools for Vulnerability Detection in C/C plus plus Code
    Arusoaie, Andrei
    Ciobaca, Stefan
    Craciun, Vlad
    Gavrilut, Dragos
    Lucanu, Dorel
    [J]. 2017 19TH INTERNATIONAL SYMPOSIUM ON SYMBOLIC AND NUMERIC ALGORITHMS FOR SCIENTIFIC COMPUTING (SYNASC 2017), 2017, : 161 - 168
  • [3] Fast analysis of source code in C and C plus
    Savitskii, V. O.
    Sidorov, D. V.
    [J]. PROGRAMMING AND COMPUTER SOFTWARE, 2013, 39 (01) : 49 - 55
  • [4] Comparative Study on Static Code Analysis Tools for C/C plus
    Fatima, Anum
    Bibi, Shazia
    Hanif, Rida
    [J]. PROCEEDINGS OF 2018 15TH INTERNATIONAL BHURBAN CONFERENCE ON APPLIED SCIENCES AND TECHNOLOGY (IBCAST), 2018, : 465 - 469
  • [5] An analysis of programming language statement frequency in C, C plus plus , and Java']Java source code
    Zhu, Xiaoyan
    Whitehead, E. James
    Sadowski, Caitlin
    Song, Qinbao
    [J]. SOFTWARE-PRACTICE & EXPERIENCE, 2015, 45 (11): : 1479 - 1495
  • [6] On the Use of Open-Source C/C plus plus Static Analysis Tools in Large Projects
    Pereira, Jose D'Abruzzo
    Vieira, Marco
    [J]. 2020 16TH EUROPEAN DEPENDABLE COMPUTING CONFERENCE (EDCC 2020), 2020, : 97 - 102
  • [7] CoBOT: Static C/C plus plus Bug Detection in the Presence of Incomplete Code
    Gao, Qing
    Zhang, Shikun
    Chen, Xianglong
    Ma, Sen
    Shao, Sihao
    Sui, Yulei
    Zhao, Guoliang
    Ma, Luyao
    Ma, Xiao
    Duan, Fuyao
    Deng, Xiao
    [J]. 2018 IEEE/ACM 26TH INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC 2018), 2018, : 385 - 388
  • [8] ReSYCLator: Transforming CUDA C plus plus source code into SYCL
    Stauber, Tobias
    Sommerlad, Peter
    [J]. PROCEEDINGS OF THE INTERNATIONAL WORKSHOP ON OPENCL (IWOCL'19), 2019,
  • [9] Detection of Incorrect Pointer Dereferences for C/C plus plus Programs using Static Code Analysis and Logical Inference
    Vert, Tatiana
    Krikun, Tatiana
    Glukhikh, Mikhail
    [J]. 2013 TOOLS & METHODS OF PROGRAM ANALYSIS (TMPA 2013), 2013, : 78 - 82
  • [10] Enforcing Techniques and Transformation of C/C plus plus Source Code to Heterogeneous Hardware
    Gyimesi, Gabor
    Ban, Denes
    Siket, Istvan
    Ferenc, Rudolf
    Brugnoni, Silvano
    Corbat, Thomas
    Sommerlad, Peter
    Suter, Toni
    [J]. 2016 INT IEEE CONFERENCES ON UBIQUITOUS INTELLIGENCE & COMPUTING, ADVANCED & TRUSTED COMPUTING, SCALABLE COMPUTING AND COMMUNICATIONS, CLOUD AND BIG DATA COMPUTING, INTERNET OF PEOPLE, AND SMART WORLD CONGRESS (UIC/ATC/SCALCOM/CBDCOM/IOP/SMARTWORLD), 2016, : 1173 - 1180