G
George C. Necula
Researcher at University of California, Berkeley
Publications - 108
Citations - 10503
George C. Necula is an academic researcher from University of California, Berkeley. The author has contributed to research in topics: Proof-carrying code & Source code. The author has an hindex of 38, co-authored 106 publications receiving 10223 citations. Previous affiliations of George C. Necula include NTT DoCoMo & University of California.
Papers
More filters
Proceedings ArticleDOI
Proof-carrying code
TL;DR: It is shown in this paper how proof-carrying code might be used to develop safe assembly-language extensions of ML programs and the adequacy of concrete representations for the safety policy, the safety proofs, and the proof validation is proved.
Book ChapterDOI
CIL: Intermediate Language and Tools for Analysis and Transformation of C Programs
TL;DR: The structure of CIL is described, with a focus on how it disambiguates those features of C that were found to be most confusing for program analysis and transformation, allowing a complete project to be viewed as a single compilation unit.
Journal ArticleDOI
CCured: type-safe retrofitting of legacy code
TL;DR: The CCured type system is described, which extends that of C by separating pointer types according to their usage, and allows both pointers whose usage can be verified statically to be type safe, and pointers whose safety must be checked at run time.
Proceedings ArticleDOI
Safe kernel extensions without run-time checking
George C. Necula,Peter Lee +1 more
TL;DR: PCC binaries can be executed with no run-time over-head, beyond a one-time cost of 1 to 3 milliseconds for validating the enclosed proofs, and are formally guaranteed to be safe and are faster than packet filters created using Berkeley Packet Filters, Software Fault Isolation, or safe languages such as Modula-3.
Proceedings ArticleDOI
Translation validation for an optimizing compiler
TL;DR: A practical translation validation infrastructure, able to check the correctness of many of the transformations performed by a realistic compiler, can be implemented with about the effort typically required to implement one compiler pass.