Proceedings of the 2013 ACM SIGPLAN International Conference on Object Oriented Programming Systems Languages &Amp; Application 2013
DOI: 10.1145/2509136.2509550
|View full text |Cite
|
Sign up to set email alerts
|

Ironclad C++

Abstract: The C++ programming language remains widely used, despite inheriting many unsafe features from C-features that often lead to failures of type or memory safety that manifest as buffer overflows, use-after-free vulnerabilities, or abstraction violations. Malicious attackers can exploit such violations to compromise application and system security.This paper introduces Ironclad C++, an approach to bringing the benefits of type and memory safety to C++. Ironclad C++ is, in essence, a library-augmented, type-safe s… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
5
0

Year Published

2018
2018
2023
2023

Publication Types

Select...
3
2
2

Relationship

1
6

Authors

Journals

citations
Cited by 18 publications
(5 citation statements)
references
References 28 publications
(35 reference statements)
0
5
0
Order By: Relevance
“…Ironclad C++ [8] implements a safe subset of C++ by replacing raw pointers with templated smart pointers. An automatic refactoring tool replaces pointer types in C/C++ code with smart pointers, and the smart pointer classes implement safety checks on operations using operator overloading.…”
Section: Ironclad C++mentioning
confidence: 99%
See 3 more Smart Citations
“…Ironclad C++ [8] implements a safe subset of C++ by replacing raw pointers with templated smart pointers. An automatic refactoring tool replaces pointer types in C/C++ code with smart pointers, and the smart pointer classes implement safety checks on operations using operator overloading.…”
Section: Ironclad C++mentioning
confidence: 99%
“…Given that pointers are the main source of unsafety in C/C++, moving to a safe subset will require replacing raw pointers with types that can provide capabilities such as null checking, bounds checking, and lifetime checking when necessary. Prior work [8,29] has shown that the run-time performance overhead of safety checks on pointers can be reduced by matching pointer types to their required capabilities. With smart pointer classes, or potentially a new set of basic types for pointers, only the types of pointers would need to be translated to move to a safe subset.…”
Section: What Work Has Been Required To Translate To Previous Safe Su...mentioning
confidence: 99%
See 2 more Smart Citations
“…Ironclad C++ is a project that aims at type and memory safety in C++ [108]. This solution proposes a C++ template library as an essential type system that enforces the safety rules.…”
Section: Related Workmentioning
confidence: 99%