Dereferee: instrumenting C plus plus pointers with meaningful runtime diagnostics

被引:2
|
作者
Allevato, Anthony [1 ]
Edwards, Stephen H. [1 ]
机构
[1] Virginia Tech, Dept Comp Sci, Blacksburg, VA 24061 USA
来源
SOFTWARE-PRACTICE & EXPERIENCE | 2014年 / 44卷 / 08期
基金
美国国家科学基金会;
关键词
C plus; memory management; pointers; debugging; testing;
D O I
10.1002/spe.2184
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Proper memory management and pointer usage often prove to be the most difficult concepts for students learning C++ to grasp. Compounding this problem is the fact that the compilers and runtime environments traditionally used to introduce these concepts leave much to be desired with regard to generating meaningful diagnostics to assist students in tracking down and fixing memory-related logical errors. To alleviate this, we have developed Dereferee, an advanced yet thin wrapper around C++ pointers that greatly increases the quality of these runtime diagnostics, but with only a small amount of intrusion into the development process. With regard to performance, memory-intensive programs will experience execution times approximately 20-30 times slower when using Dereferee, which is comparable with other similar tools. Furthermore, the library has been designed to be customizable and easily disabled to transition codes from development to production. Copyright (C) 2013 John Wiley & Sons, Ltd.
引用
收藏
页码:973 / 997
页数:25
相关论文
共 50 条
  • [21] Diagnostics plus therapy = theranostics
    Warner, S
    SCIENTIST, 2004, 18 (16): : 38 - 39
  • [22] C plus plus constructors
    Meyers, S
    DR DOBBS JOURNAL, 1997, 22 (05): : 10 - 10
  • [23] C plus plus standards
    Myers, N
    DR DOBBS JOURNAL, 1997, 22 (11): : 10 - +
  • [24] C plus plus evolves!
    Naumann, Axel
    20TH INTERNATIONAL CONFERENCE ON COMPUTING IN HIGH ENERGY AND NUCLEAR PHYSICS (CHEP2013), PARTS 1-6, 2014, 513
  • [25] C plus plus constructors
    Plochan, F
    DR DOBBS JOURNAL, 1997, 22 (08): : 10 - +
  • [26] Synchronising C/C plus plus and POWER
    Sarkar, Susmit
    Memarian, Kayvan
    Owens, Scott
    Batty, Mark
    Sewell, Peter
    Maranget, Luc
    Alglave, Jade
    Williams, Derek
    ACM SIGPLAN NOTICES, 2012, 47 (06) : 311 - 321
  • [27] UPC plus plus : A PGAS Extension for C plus
    Zheng, Yili
    Kamil, Amir
    Driscoll, Michael B.
    Shan, Hongzhang
    Yelick, Katherine
    2014 IEEE 28TH INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM, 2014,
  • [28] ROC plus plus : Robust Optimization in C plus
    Vayanos, Phebe
    Jin, Qing
    Elissaios, George
    INFORMS JOURNAL ON COMPUTING, 2022, 34 (06) : 2873 - 2888
  • [29] Quantum plus plus : A modern C plus plus quantum computing library
    Gheorghiu, Vlad
    PLOS ONE, 2018, 13 (12):
  • [30] aflow plus plus : A C plus plus framework for autonomous materials design
    Oses, Corey
    Esters, Marco
    Hicks, David
    Divilov, Simon
    Eckert, Hagen
    Friedrich, Rico
    Mehl, Michael J.
    Smolyanyuk, Andriy
    Campilongo, Xiomara
    van de Walle, Axel
    Schroers, Jan
    Kusne, A. Gilad
    Takeuchi, Ichiro
    Zurek, Eva
    Nardelli, Marco Buongiorno
    Fornari, Marco
    Lederer, Yoav
    Levy, Ohad
    Toher, Cormac
    Curtarolo, Stefano
    COMPUTATIONAL MATERIALS SCIENCE, 2023, 217