Programming Languages and Compilers Research
Funding
TWC: Small: Collaborative: Improving Android Security with Dynamic Slicing
National Science Foundation, Secure & Trustworthy Cyberspace Program,
CNS-1617424, 9/2016-8/2019 (PIs: Iulian Neamtiu - NJIT & Rajiv Gupta).
SHF: Small: Transformations for Synergistic Analysis of Large Evolving Graphs
National Science Foundation, Programming Languages & Computer Architecture Programs,
CCF-1524852, 7/2015-6/2018 (PI: Rajiv Gupta).
SHF: Small: Memory Consistency - Hardware, Compiler, and Programming Support
National Science Foundation, Programming Languages & Computer Architecture Programs,
CCF-1318103, 9/2013-8/2017 (PI: Rajiv Gupta).
Dynamic Slicing on Android-x86
Intel Corporation,
6/2014-5/2015 (PI: Iulian Neamtiu; Co-PI: Rajiv Gupta).
Dynamic Slicing for Interactive Debugging of Multithreaded Programs
Intel Corporation,
6/2013-5/2014 (PI: Rajiv Gupta; Co-PI: Iulian Neamtiu).
Size Oblivious Programming for Large Dynamic Data Structures
Google Research Award,
3/2013-2/2014 (PI: Rajiv Gupta).
EAGER: Developing a Programming Environment for Heterogeneous Multiprocessors
National Science Foundation, CSA Program,
CNS-1157377, 9/2012-8/2015 (PI: Laxmi Bhuyan; Co-PI: Rajiv Gupta).
Supporting Dynamic Slicing for Interactive Debugging
Intel Corporation,
6/2012-5/2013 (PI: Rajiv Gupta).
SHF: Medium: Programmable Monitoring Framework for Multicore Systems
National Science Foundation, Programming Languages & Computer Architecture Programs,
CCF-0963996, 9/2010-8/2014 (PI: Rajiv Gupta; Co-PI: Iulian Neamtiu).
SHF: Medium: Hardware/Software Partitioning for Hybrid Shared Memory Multiprocessors
National Science Foundation, CSA Program,
CCF-0905509, 9/2009-8/2015 (PI: Laxmi Bhuyan; Co-PIs: Rajiv Gupta and Walid Najjar).
ExPert: dynamic analysis based fault location via Execution Perturbations
National Science Foundation, CSR Program,
CNS-0810906/0614707, 9/2006-8/2011 (PIs: Neelam Gupta and Rajiv Gupta).
CSR-AES-RCS: Scalable and Efficient Dynamic Information Flow Tracking
in Multithreaded Programs

National Science Foundation, CSR Program,
CNS-0751961, 9/2007-8/2010 (PIs: Rajiv Gupta and Xiangyu Zhang).
CRI: IAD An Advanced Infrastructure for Generation, Storage, and Analysis
of Program Execution Traces

National Science Foundation, CRI Program,
CNS-0751949/0708199, 9/2007-9/2010 (PIs: Rajiv Gupta, Neelam Gupta, and Xiangyu Zhang).
ST-CRTS: Dynamic Unmasking of Compiler Optimizations and Obfuscations
National Science Foundation, CPA Cluster,
CCF-0753470/0541382, 2/2006-1/2010 (PI: Rajiv Gupta).
MSR Integrating Dynamic Slicing into the cordbg Debugger
Phoenix/SSCLI, Microsoft Research, Redmond, Washington,
4/2006-3/2007 (PI: Neelam Gupta; Co-PI: Rajiv Gupta).
Morphable Software Services: Self-Modifying Programs for Distributed
Embedded Systems

National Science Foundation, ITR Medium Grant Program,
CCF-0324969, 10/2003-9/2007 (PI: K. Schwan; Co-PIs: T. Balch, G. Eisenhauer, R. Gupta, S. Pande, C. Pu, H-H. S. Lee).
IBM Matching Execution Histories of Program Versions
IBM, Eclipse Innovation Award,
1/2005-12/2005 (PI: Rajiv Gupta; Co-PI: Neelam Gupta).
Compiling for Processors with Fine-Grained Threading,
Heterogenous Cores, and Sophisticated Data Management

Intel Corporation, Microcomputer Research Lab, Santa Clara, CA,
9/2003-8/2006 (PI: Rajiv Gupta).
MSR Using Phoenix for Program Slicing and its Application to Defect Analysis
Microsoft Research, Redmond, Washington,
9/2003-8/2006 (PI: Rajiv Gupta).
Information Encoding for Energy Efficient Processor Design
National Science Foundation, CISE, Computer Systems Architecture Program,
CCF-0208756, 9/2002-8/2006 (PI: Rajiv Gupta).
Code and Data Segment Optimizations for Mixed Width Instruction Set
Embedded Processor

National Science Foundation, CISE, ITR Small Grant Program,
CCF-0220334, 9/2002-8/2005 (PIs: Rajiv Gupta and Santosh Pande).
Data Compression Techniques for Improving Memory Hierarchy Performance
National Science Foundation, CISE, Compiler Program,
CCF-0105355, 9/2001-8/2005 (PI: Rajiv Gupta).
IBM Protecting Software Through Program Slicing and Obfuscation Transformations
IBM, Eclipse Innovation Award,
1/2003-12/2003 (PI: Rajiv Gupta).
Power-Adaptive Microarchitecture and Compiler Design for Mobile Computing
DARPA, Power Aware Computing/Communications Program,
Award no. F29601-00-1-0183, 7/2000-11/2002 (Pi: R. Gupta; Co-PIs: S. Pande, S. Onder).
Exploiting Speculation and Predication for Branch and Load Optimizations
Intel Corporation, Microcomputer Research Lab, Santa Clara, CA,
9/1999-6/2002 (PI: Rajiv Gupta).
A Framework for Path and Resource Sensitive Optimizations
National Science Foundation, CISE, Compiler Program,
CCR-0096122, 9/1998-8/2002 (PI: Rajiv Gupta; Co-PI: Mary Lou Soffa).
Experimental Evaluation of Scalable Optimization Techniques
National Science Foundation, EIA, Experimental Systems Program,
EIA-9806525, 9/1998-8/2002 (PI: M.L. Soffa; Co-PIs: R. Gupta, L.L. Pollock, D. Whaley).
On-line Avoidance of Monitoring Intrusion in Distributed Systems
National Science Foundation, Operating Systems Program,
CCR-9996362/CCR-9704350, 6/1997-8/2000 (PI: Rajiv Gupta).
Comparative Debugging of Optimized Code
Hewlett Packard Laboratories, Chelmsford, Massachusetts,
1/1996-4/1998 (PI: Mary Lou Soffa; Co-PI: Rajiv Gupta).
Demand Driven Computation of Partial Data Flow and its Application
in Software Engineering

National Science Foundation, Software Engineering Program,
CCR-9402226, 9/1995-8/1998 (PI: Mary Lou Soffa; Co-PI: Rajiv Gupta).
Machine Dependent Analysis for Exploiting ILP in VLIW Architectures
Intel Corporation, Microcomputer Research Lab, Santa Clara, CA,
1/1995-12/1998 (PI: Rajiv Gupta).
Optimization Techniques for Superscalar and VLIW Architectures
Hewlett Packard Laboratories, Palo Alto, California,
3/1995-4/1998 (PI: Rajiv Gupta; Co-PI: Mary Lou Soffa).
Loop Transformations and Scheduling Strategies for Parallelizing Software
National Science Foundation, Presidential Young Investigator Award,
CCR-9157371, 8/1991-12/1997 (PI: Rajiv Gupta).