CCured: Type-safe retrofitting of legacy code
In this paper we propose a scheme that combines type inference and run-time checking to
make existing C programs type safe. We describe the CCured type system, which extends …
make existing C programs type safe. We describe the CCured type system, which extends …
CCured: Type-safe retrofitting of legacy software
GC Necula, J Condit, M Harren, S McPeak… - ACM Transactions on …, 2005 - dl.acm.org
This article describes CCured, a program transformation system that adds type safety
guarantees to existing C programs. CCured attempts to verify statically that memory errors …
guarantees to existing C programs. CCured attempts to verify statically that memory errors …
C formalised in HOL
M Norrish - 1998 - cl.cam.ac.uk
We present a formal semantics of the C programming language, covering both the type
system and the dynamic behaviour of programs. The semantics is wide-ranging, covering …
system and the dynamic behaviour of programs. The semantics is wide-ranging, covering …
Eliminating covert flows with minimum ty**s
A type system is given that eliminates two kinds of covert flows in an imperative
programming language. The first kind arises from nontermination and the other from partial …
programming language. The first kind arises from nontermination and the other from partial …
CCured in the real world
J Condit, M Harren, S McPeak, GC Necula… - ACM SIGPLAN …, 2003 - dl.acm.org
CCured is a program transformation system that adds memory safety guarantees to C
programs by verifying statically that memory errors cannot occur and by inserting run-time …
programs by verifying statically that memory errors cannot occur and by inserting run-time …
Sulong, and thanks for all the bugs: Finding errors in c programs by abstracting from the native execution model
In C, memory errors, such as buffer overflows, are among the most dangerous software
errors; as we show, they are still on the rise. Current dynamic bug-finding tools that try to …
errors; as we show, they are still on the rise. Current dynamic bug-finding tools that try to …
Dynamic heap type inference for program understanding and debugging
M Polishchuk, B Liblit, CW Schulze - … of the 34th Annual ACM SIGPLAN …, 2007 - dl.acm.org
C programs can be difficult to debug due to lax type enforcement and low-level access to
memory. We present a dynamic analysis for C that checks heap snapshots for consistency …
memory. We present a dynamic analysis for C that checks heap snapshots for consistency …
[LIBRO][B] Practical low-overhead enforcement of memory safety for C programs
SG Nagarakatte - 2012 - search.proquest.com
The serious bugs and security vulnerabilities that result from C's lack of bounds checking
and unsafe manual memory management are well known, yet C remains in widespread use …
and unsafe manual memory management are well known, yet C remains in widespread use …
Language issues in mobile program security
Many programming languages have been developed and implemented for mobile code
environments. They are typically quite expressive. But while security is an important aspect …
environments. They are typically quite expressive. But while security is an important aspect …
Monadic regions
Region-based type systems provide programmer control over memory management without
sacrificing type-safety. However, the type systems for region-based languages, such as the …
sacrificing type-safety. However, the type systems for region-based languages, such as the …