Santosh CV
Santosh CV
[email protected]
http://www.cs.rutgers.edu/~santosh.nagarakatte/
Research Interests
My research interests span programming languages, compilers and computer architecture. I am also interested in software engineering, security, and energy-efficient computing. Ongoing projects include building
verified compilers, programming and debugging parallel programs.
Education
PhD, Computer Science, University of Pennsylvania, 2012
MS, Computer Science, Indian Institute of Science, 2007
BE, Computer Engineering, National Institute of Technology Karnataka, 2005
Employment
Assistant Professor, Rutgers University, New Brunswick, January 2013Research Visitor/Intern, Microsoft Research, Redmond, October 2012-December 2012.
Research Assistant, University of Pennsylvania, September 2007-October 2012.
Research Intern, Microsoft Research Redmond, June 2009-September 2009.
Research Assistant, Indian Institute of Science, Aug 2005-Aug 2007.
NSF CAREER Award : Semantics, Abstractions, and Tools for a Pragmatic Verified LLVM Compiler.
Intel Corporation Gift: Project on memory safety with SoftBoundCETS and Intel MPX (2014).
Google Research Award: Project on Verified Compilers (2014).
IEEE MICRO Top Picks paper: Hardware-Enforced Comprehensive Memory Safety (2013).
IEEE MICRO Top Picks paper : iCFP: Tolerating Cache Misses in Inorder Processors (2010).
Philips Research Fellowship awarded by Philips Research and IISc.
University Gold Medal by NIT Karnataka Surathkal awarded to the academic topper.
Best Outgoing Student of Computer Engineering, NIT Karnataka Surathkal, 2005.
Scientific Publications
Journal Articles
1. Hardware-Enforced Comprehensive Memory Safety. Santosh Nagarakatte, Milo M K Martin, and Steve
Zdancewic. In IEEE Micro Top Picks of Architecture Conferences of 2012, May/June, 2013.
2. iCFP: Tolerating All Level Cache Misses in In-Order Processors. Andrew Hilton, Santosh Nagarakatte,
and Amir Roth. In IEEE Micro Top Picks of Architecture Conferences of 2009, January, 2010.
Conference Papers
1. ApproxHadoop: Bringing Approximations to MapReduce Frameworks. Inigo Goiri, Ricardo Bianchini,
Santosh Nagarakatte, and Thu Nguyen. Proceedings of the 20th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), 2015
2. Hardware-Accelerated Compiler-Based Pointer Checking. Santosh Nagarakatte, Milo M K Martin and
Steve Zdancewic. Proceedings of the 2014 International Symposium on Code Generation and Optimization (CGO), 2014.
Page 1 of 6
3. Ironclad C++: A Library-Augmented Type-Safe Subset of C++. Christian Delozier, Richard Eisenberg,
Santosh Nagarakatte, Peter-Michael Osera, Milo M K Martin and Steve Zdancewic. Proceedings of
the 28th ACM Conference on Object-Oriented Programming, Systems and Applications (OOPSLA),
2013.
4. Formal Verification of SSA-Based Optimizations for LLVM. Jianzhou Zhao, Santosh Nagarakatte,
Milo M K Martin and Steve Zdancewic. Proceedings of the 34th ACM SIGPLAN Conference on
Programming Language Design and Implementation (PLDI), 2013.
5. Watchdog: Hardware Support for Safe and Secure Manual Memory Management. Santosh Nagarakatte,
Milo M K Martin and Steve Zdancewic. Proceedings of the 39th International Symposium on Computer
Architecture (ISCA), 2012.
6. Multicore Acceleration of Priority-Based Schedulers for Concurrency Bug Detection. Santosh Nagarakatte, Sebastian Burckhardt, Milo M K Martin and Madanlal Musuvathi. Proceedings of the 33rd
ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 2012.
7. Formalizing the LLVM Intermediate Representation for Verified Program Transformations. Jianzhou
Zhao, Santosh Nagarakatte, Milo M K Martin and Steve Zdancewic. Proceedings of the 39th ACM
SIGACT-SIGPLAN Symposium on Principles of Programming Languages (POPL), 2012.
8. A Randomized Scheduler with Probabilistic Guarantees of Finding Bugs. Sebastian Burckhardt, Pravesh
Kothari, Madanlal Musuvathi, and Santosh Nagarakatte. In 15th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), 2010.
9. CETS: Compiler Enforced Temporal Memory Safety for C. Santosh Nagarakatte, Jianzhou Zhao, Milo
M K Martin and Steve Zdancewic. Proceedings of the ACM SIGPLAN International Symposium on
Memory Management (ISMM), 2010.
10. SoftBound: Highly Compatible and Complete Spatial Memory Safety for C. Santosh Nagarakatte,
Jianzhou Zhao, Milo M K Martin and Steve Zdancewic. Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 2009.
11. iCFP: Tolerating All Level Cache Misses in In-Order Processors. Andrew Hilton, Santosh Nagarakatte,
and Amir Roth. Proceedings of the 15th International Conference on High Performance Computer
Architecture (HPCA), 2009.
12. Register Allocation and Optimal Spill Code Scheduling in Software Pipelined Loops using 0-1 Integer
Linear Programming Formulation. Santosh Nagarakatte and R Govindarajan. Proceedings of the 16th
International Conference on Compiler Construction (CC), 2007.
Patents
Concurrency Software Testing with Probabilistic Bounds on Finding Bugs. Sebastian Burckhardt,
Pravesh Kothari, Madanlal Musuvathi and Santosh Ganapati Nagarakatte, US Patent : 8930907,
Filing Date: December 1, 2009, Application number: 12/628,223, Publication date: 01/06/2015.
Theses
Practical Low-Overhead Enforcement of Memory Safety for C Programs. Santosh Nagarakatte, PhD
Dissertation, University of Pennsylvania, Philadelphia, PA, Supervised by Professor Milo M K Martin.
Page 2 of 6
Research Grants
1. Semantics, Abstractions, and Tools for a Pragmatic Verified LLVM Compiler. PI: Santosh Nagarakatte,
Rutgers University, NSF CAREER Award. Award number: 1453086(see http://www.nsf.gov/
awardsearch/showAward?AWD_ID=1453086). Amount: $545000.
2. Memory Safety with Intel MPX and SoftBoundCETS. PI: Santosh Nagarakatte, Rutgers University,
Intel Corporation Gift. Amount :$70000.
3. Hardware support for OS Integrity. Co-PI: Santosh Nagarakatte, PI: Vinod Ganapathy, Rutgers University, NSF STARSS program. Award number:1441724 (see http://www.nsf.gov/awardsearch/
showAward?AWD_ID=1441724). Amount: $499988.
4. Semi-Automated Verification of LLVM Optimizations using SMT Solvers. PI: Santosh Nagarakatte,
Rutgers University, Google Research Award. Amount: $63500.
5. iSpider: Automated Multithreaded Program Testing and Debugging Platform. PI: Santosh Nagarakatte,
Rutgers University Research Council Grant. Amount: $2000.
Presentations
Presentations at Universities and Industrial Labs
Complete and Verified Memory Safety with Pointer-based Checking and Verified LLVM at Computer
Science Department, Stony Brook, New York, February 2014. Host: Don Porter.
Verified LLVM: Formalizing the Semantics of the LLVM IR.
At Alcatel-Lucent Bell Labs, New Jersey, February 2014. Host: Kedar-Namjoshi. Part of Henry
Landau seminar series.
At IBM Research India, Bangalore, July, 2013.
To program analysis working group at Microsoft Research Redmond, November 2012.
At LLVM Developers meeting at San Jose, November 2012.
Birds of a Feather session on Memory Safety and Automated Defenses at LLVM Developers meeting
at San Jose, November 2012.
Practical Low-overhead Enforcement of Memory Safety for C Programs, PhD thesis defense at the
University of Pennsylvania, October 2012.
Secure Low Level Programming with Hardware/Compiler Enforced Memory Safety
At the Indian Institute of Science, Bangalore, July 2012.
At Microsoft Research India, Bangalore, July 2012.
At Microsoft Research Redmond, April 2012.
At Microsoft Research Silicon Valley, Mountain View, March 2012.
At Virginia Tech, ECE Department, Blacksburg, March 2012.
At Rutgers University, CS Department, New Brunswick, March 2012.
At the University of Colorado Boulder, Boulder, March 2012.
At Virginia Tech, CS Department, Blacksburg, February 2012.
NeedlePoint: A Framework to Expose Concurrency Bugs by Controlling Thread Interleavings
At the Indian Institute of Science, Bangalore, April 2011.
At Systems Lunch, Penn, Philadelphia, March 2011.
Page 3 of 6
A Randomized Scheduler for Finding Concurrency Bugs at Microsoft Research Redmond, September
2009.
SoftBound: Highly Compatible and Complete Spatial Memory Safety for C
At Microsoft Research India, Bangalore, December 2009.
At LLVM Developers Meeting, Cupertino, September 2009.
Conference Presentations
WatchdogLite: Hardware-Accelerated Compiler-Based Pointer Checking at Orlando, CGO, February
2014.
Formal Verification of SSA Optimizations for LLVM at Seattle, PLDI, June 2013.
Multicore Acceleration of Priority-Based Schedulers for Concurrency Bug Detection at Beijing, PLDI,
June 2012.
CETS: Compiler Enforced Temporal Safety for C at Toronto, ISMM 2010.
SoftBound: Highly Compatible and Complete Spatial Memory Safety for C at PLDI 2009, Dublin,
Ireland.
Register Allocation and Optimal Spill Code Scheduling at CC 2007, Braga, Portugal.
Teaching And Mentoring
Teaching at Rutgers University
Spring 2015: Computer Architecture (01:198:211)
Fall 2014: Programming Languages and Compilers I (16:198:515).
18 students.
Instructor Rating: 4.44/5
Course Rating: 4.22/5
Spring 2014: Programming Langauges and Compilers II (16:198:516)
13 students.
Instructor Rating: 4.67/5
Course Rating: 4.33/5
Fall 2013: Computer Architecture (01:198:211),
148 students.
Instructor Rating: 2.90/5
Course Rating: 3.10/5
Spring 2013: Performance Aware Reliable Software for Multicore Processors, (16:198:671)
5 students.
Instructor Rating: 4.0/5
Course Rating: 3.75/5
Teaching at IIT Hyderabad
Summer 2013: Mini (1-credit) course on Robust Software with Verified Programming.
12 students.
Ratings: 9.2/10.
Page 4 of 6
Reviewing
Journals: ACM Transaction on Computer Systems (TOCS), IEEE Transactions on Computers (TC),
IEEE Transactions on Parallel and Distributed Systems (TPDS), IEEE Transactions on Dependable
and Secure Computing (TDSC), ACM Transactions on Programming Languages and Systems (TOPLAS).
Conferences: International Symposium on Microarchitecture (MICRO), ACM Symposium Principles
of Programming Languages (POPL), International Conference on Supercomputing (ICS), International
Conference on Parallel Architectures and Compilation Techniques (PACT)
Page 5 of 6
Page 6 of 6