## Run-time modification Zero is an experimental statically typed, fully object-oriented reflective programming language. Reflective features cover introspection as well as structural and behavioural reflection. The reflective facilities include safe method and class replacements and detailed modif
A type system for static and dynamic checking of C++ pointers
β Scribed by Giuseppe Della Penna
- Publisher
- Elsevier Science
- Year
- 2005
- Tongue
- English
- Weight
- 617 KB
- Volume
- 31
- Category
- Article
- ISSN
- 1477-8424
No coin nor oath required. For personal study only.
β¦ Synopsis
Object-oriented programming is the most used programming paradigm when dealing with large-scale, modular software. In this ΓΏeld, the two leading languages are Java and C++. The former has superior qualities in terms of safety and ease of programming, whereas the latter is often considered an "old" language, too complex and potentially unsafe.
In this paper, we describe a new type system designed to analyze the security problems derived from pointer manipulation in C++. This type system tries to trap the most common errors through static analysis, i.e., at compile-time, and only when static analysis fails it generates and embeds code fragments that apply runtime checks on speciΓΏc instructions. The aim of this new type system is to give C++ the same safety of Java in the most important memory-related operations, without adding much runtime overhead. An experimental implementation of the type system is also presented, embedded in a C++ analysis tool called GPCC.
π SIMILAR VOLUMES