Abstract
The smart pointer is a programming technique for the C++ language that extends the functionality of the simple pointer. Smart pointers have previously been used to support persistence, distributed objects, reference counting, and garbage collection. This article will show how smart pointers can provide an inexpensive method for detecting dangling pointers to dynamic objects that can be added to any standard C++ implementation.
- COPLIEN, J. 1992. Advanced C ++ Programming Styles and Idioms. Addison-Wesley, Reading, Mass. Google Scholar
- EDELSON, D.R. 1992. Precompiling C ++ for garbage collection. In the Internattonal Work-shop on Memory Management (St. Malo, France, Sept. 17-19), INRIA, Le Chesnay, 299-314. Google Scholar
- EDELSON, D.R. 1992. Smart pointers: They're smart, but they're not pointers. In Usenix C++ Conference Proceedings (Portland, Ore.). Usenix Assoc., Berkeley, Calif., 1-19.Google Scholar
- FISCHER, C. N. AND LEBLANC, R. J. 1980. The implementation of run-time diagnostics in Pascal. IEEE Trans. Software Eng. SE-6, 4(1980), 313-319.Google Scholar
- KENNEDY, B. 1991. The features of the object-oriented abstract type hierarchy. In Usenix C++ Conference Proceedings (Washington, D.C.). Usenix Assoc., Berkeley, Calif., 41-50.Google Scholar
- KERNIGHAN, B. W. AND RITCHIE, D.M. 1988. The C Programming Language. Prentice-Hall, EngleWood Cliffs, N.J. Google Scholar
- SHAPIRO, M., DICKMAN, P., AND PLAINFOSSE, D. 1992. Robust, distributed references and acyclic garbage collection. In the ACM Sympostum on the Principles of Distributed Computing. ACM, New York. Google Scholar
- SHAPIRO, M., GOURHANT, Y., HABERT, S., MOSSERO, L., RUFFIN, M., AND VALOT, C. 1989. SOS: An object-oriented operating system--assessment and perspectives. Comput. Syst. 2, 4 287-338.Google Scholar
- STROUSTRUP, B. 1991. The C++ Programming Language. 2rid ed. Addison-Wesley, Reading, Mass. Google Scholar
- STROUSTRUP, B. 1987. The Evolution of C ++ 1985 to 1987. In Usenix C++ Workshop Proceedings. Usenix Assoc., Berkeley, Calif., 1-22.Google Scholar
- WIRTH, N. 1976. In PASCAL Newslett. 5, 29-30.Google Scholar
Index Terms
The detection of dangling references in C++ programs
Recommendations
Raw pointers in application classes of C++ considered harmful
In order to achieve good reliability, clarity, scalability and re-usability of the application high-level programs written in C++ the raw pointers should not be used as class members (fields), because the raw pointers are too dangerous in this role and ...
Application of Computational Redundancy in Dangling Pointers Detection
ICSEA '06: Proceedings of the International Conference on Software Engineering AdvancesMany programmers manipulate dynamic data improperly, which may produce dynamic memory problems, such as dangling pointer. Dangling pointers can occur when a function returns a pointer to an automatic variable, or when trying to access a deleted object. ...
DangDone: Eliminating Dangling Pointers via Intermediate Pointers
Internetware '18: Proceedings of the 10th Asia-Pacific Symposium on InternetwareDangling pointers have become an important class of software bugs that can lead to use-after-free and double-free vulnerabilities. So far, only a few approaches have been proposed to protect against dangling pointers, while most of them suffer from high ...








Comments