George Necula

From Wikipedia, the free encyclopedia
  (Redirected from C Intermediate Language)
Jump to navigation Jump to search
George Necula
George Necula.jpg
George Necula in Berkeley in 2010.
Alma materPolytechnic University of Bucharest
Known forProof-carrying code
Scientific career
FieldsComputer Science
Doctoral advisorPeter Lee

George Ciprian Necula is a Romanian computer scientist, engineer at Google, and former professor at the University of California, Berkeley who does research in the area of programming languages and software engineering, with a particular focus on software verification and formal methods. He is best known for his Ph.D. thesis work first describing proof-carrying code,[1] a work that received the 2007 SIGPLAN Most Influential POPL Paper Award.[2]

Life and work[edit]

Originally from Baia Mare, Romania,[3] Necula attended the Polytechnic University of Bucharest before coming to Carnegie Mellon University in the United States to complete his Ph.D. under programming languages researcher Peter Lee. His Ph.D. thesis first describing proof-carrying code was influential as a mechanism to allow untrusted machine code to run safely without performance overhead. He joined as faculty at the University of California, Berkeley in 1998.

More recently, Necula's work has focused on open-source analysis, verification, and transformation tools for C, including the C Intermediate Language (CIL), CCured [1], and Deputy [2].

C Intermediate Language[edit]

C Intermediate Language (CIL) is a simplified subset of the C programming language, as well as a set of tools for transforming C programs into that language.[4][5][6] Several other tools use CIL as a way to have access to a C abstract syntax tree. Some of these programs are Frama-c (Framework to Analyze C programs) or Compcert (C compiler proven in coq).


Necula is a Fellow of the Okawa Foundation and the Alfred P. Sloan Foundation (see Sloan Fellowship). He received the Grace Murray Hopper Award in 2001,[7] the National Science Foundation CAREER Award in 1999,[8] and the ACM SIGOPS Hall of Fame Award in 2006.[9]


  1. ^ George C. Necula. Compiling with Proofs. PhD thesis, School of Computer Science, Carnegie Mellon Univ., Sept. 1998.
  2. ^ SIGPLAN (2010-01-24). "Most Influential POPL Paper Award". ACM. Archived from the original on 2009-08-02. Retrieved 2010-02-02.
  3. ^ George Necula (Spring 2010). "George Necula's Home Page". Retrieved 2010-02-03.
  4. ^ George C. Necula; Scott McPeak; Shree Prakash Rahul; Westley Weimer (2002). CIL: Intermediate Language and Tools for Analysis and Transformation of C Programs. Proc. 11th Int'l Conf. on Compiler Construction. Springer. pp. 213–228. ISBN 3-540-43369-4.
  5. ^
  6. ^ CIL: Intermediate Language and Tools for Analysis and Transformation of C Programs Lecture Notes in Computer Science; Vol. 2304 Proceedings of the 11th International Conference on Compiler Construction Pages: 213 - 228. Year of Publication: 2002. ISBN 3-540-43369-4
  7. ^ Association for Computing Machinery (2001). "ACM Award Citation / George Necula". Retrieved 2010-02-02.
  8. ^ National Science Foundation (2002-06-22). "Award Abstract #9875171 - CAREER: A Logic-Based Approach to Software System Integrity and Security". Retrieved 2010-02-02.
  9. ^ Association for Computing Machinery (2010). "SIGOPS - Hall of Fame Award". Retrieved 2010-02-02.

External links[edit]