We conduct research in a broad range of topics in the areas of programming languages and software engineering: compilation and optimization for multi-core CPUs, fault localization using dynamic analysis, logic and stochastic verification, dynamic software updating, understanding software evolution, smartphone security.

Projects

Runtime Monitoring on Multicores for Performance and Reliability

Dynamic Program Analysis for Secure and Reliable Computing

Logic and Stochastic Verification

Dynamic Software Updating

Software Evolution

Verification for Android Applications

Recent publications

C. Lin, V. Nagarajan, R. Gupta, and B. Rajaram
Efficient Sequential Consistency via Conflict Ordering
ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), London, UK, March 2012.

M. Feng, C. Lin, and R. Gupta
PLDS: Partitioning Linked Data Structures for Parallelism
ACM Transactions on Architecture and Code Optimization (TACO), special issue of HiPEAC, January 2012.

K.K. Pusukuri, R. Gupta, and L.N. Bhuyan
Thread Tranquilizer: Dynamically Reducing Performance Variation
ACM Transactions on Architecture and Code Optimization (TACO), special issue of HiPEAC, January 2012.

K.K. Pusukuri, R. Gupta, L.N. Bhuyan
Thread Reinforcer: Dynamically Determining Number of Threads via OS Level Monitoring
IEEE International Symposium on Workload Characterization (IISWC), Austin, Texas, November 2011.

K.K. Pusukuri, R. Gupta, L.N. Bhuyan
No More Backstabbing... A Faithful Scheduling Policy for Multithreaded Programs
The 20th International Conference on Parallel Architectres and Compilation Techniques (PACT), Galveston Island, Texas, October 2011.

M. Feng, C. Tian, C. Lin, and R. Gupta
Dynamic Access Distance Driven Cache Replacement
ACM Transactions on Architecture and Code Optimization (TACO), October 2011.

V. Nagarajan, D. Jeffrey, R. Gupta, and N. Gupta
A System for Debugging via Online Tracing and Dynamic Slicing
Software - Practice & Experience (SPE), published online, July 2011.

D. Jeffrey, Y. Wang, C. Tian, and R. Gupta
Isolating Bugs in Multithreaded Programs Using Execution Suppression
Software - Practice & Experience (SPE), October 2011.

P. Bhattacharya and I. Neamtiu
Assessing Programming Language Impact on Development and Maintenance: A Study on C and C++
International Conference on Software Engineering (ICSE), May 2011.

C. Tian, C. Lin, M. Feng, and R. Gupta
Enhanced Speculative Parallelization Via Incremental Recovery
16th ACM SIGPLAN Annual Symposium on Principles and Practices of Parallel Programming (PPoPP), San Anotonio, Texas, February 2011.

M. Feng, R. Gupta, and Y. Hu
SpiceC: Scalable parallelism via implicit copying and explicit Commit
16th ACM SIGPLAN Annual Symposium on Principles and Practices of Parallel Programming (PPoPP), San Anotonio, Texas, February 2011.

P. Bhattacharya and I. Neamtiu
Fine-grained Incremental Learning and Multi-feature Tossing Graphs to Improve Bug Triaging
IEEE Conference on Software Maintenance (ICSM), September 2010.

C. Lin, V. Nagarajan, and R. Gupta
Efficient Sequential Consistency Using Conditional Fences
19th International Conference on Parallel Architectures and Compilation Techniques (PACT), Vienna, Austria, September 2010.
Extended version in IJPP special issue of Best Papers from PACT 2010.

P. Bhattacharya and I. Neamtiu
Dynamic Updates for Web and Cloud Applications
Workshop on Analysis and Programming Languages for Web Applications and Cloud Applications (APLWACA), Toronto, Canada, June 2010.

C. Tian, M. Feng, and R. Gupta
Supporting Speculative Parallelization in the Presence of Dynamic Data Structures
ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), Toronto, Canada, June 2010.

C. Tian, M. Feng, and R. Gupta
Speculative Parallelization Using State Separation and Multiple Value Prediction
Ninth International Symposium on Memory Management (ISMM), Toronto, Canada, June 2010.

M. Feng and R. Gupta
Learning Universal Probabilistic Models for Fault Localization
Ninth ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE), Toronto, Canada, June 2010.

D. Jeffrey, V. Nagarajan, R. Gupta, and N. Gupta
Execution Supression: An Automated Iterative Technique for locating Memory Errors
ACM Transactions on Programming Languages and Systems (TOPLAS), May 2010.

M. Feng and R. Gupta
Detecting Virus Mutations Via Dynamic Matching
25th IEEE Conference on Software Maintenance (ICSM), September 2009.

D. Jeffrey, N. Gupta, and R. Gupta
Effective and Efficient Localization of Multiple Faults Using Value Replacement
25th IEEE Conference on Software Maintenance (ICSM), September 2009.

G. Xie, J. Chen, and I. Neamtiu
Towards a Better Understanding of Software Evolution: An Empirical Study on Open Source Software
25th IEEE Conference on Software Maintenance (ICSM), September 2009.

M.-Y. Chung and G. Ciardo
Speculative image computation for distributed symbolic reachability analysis
Journal of Logic and Computation, Oxford University Press, 2009

V. Nagarajan and R. Gupta
ECMon: Exposing Cache Events for Monitoring
36th ACM/IEEE International Symposium on Computer Architecture (ISCA), Austin, Texas, June 2009.

V. Nagarajan, D. Jeffrey and R. Gupta
Self-Recovery in Server Programs
8th International Symposium on Memory Management (ISMM), Dublin, Ireland, June 2009.

I. Neamtiu and M. Hicks
Safe and Timely Dynamic Updates for Multi-threaded Programs
Proceedings of the ACM Conference on Programming Language Design and Implementation (PLDI), Dublin, Ireland, June 2009.

D. Jeffrey, M. Feng, N. Gupta, and R. Gupta
BugFix: A Learning-Based Tool to Assist Developers in Fixing Bugs
17th IEEE International Conference on Program Comprehension (ICPC), Vancouver, Canada, May 2009.

V. Nagarajan and R. Gupta
Runtime Monitoring on Multicores via OASES
ACM SIGOPS Operating Systems Review, special issue on the interaction among the OS, Compilers, and Multicore Processors, pages 15-24, Vol. 43, No. 2, April 2009 (Invited Paper).

A. J. Yu, G. Ciardo, and G. Luettgen
Decision-diagram-based techniques for bounded reachability checking of asynchronous systems
Software Tools for Technology Transfer, 11(2):117-131, Apr. 2009

V. Nagarajan and R. Gupta
Architectural Support for Shadow Memory in Multiprocessors
ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments (VEE), Washington DC, March 2009.

M. Wan and G. Ciardo
Symbolic reachability analysis of integer timed Petri nets
Proc. 35th International Conference on Current Trends in Theory and Practice of Computer Science (SOFSEM), pages 595-608, Spindleruv Mlyn, Czech Republic, February 2009

M. Wan and G. Ciardo
Symbolic state-space generation of asynchronous systems using extensible decision diagrams
Proc. 35th International Conference on Current Trends in Theory and Practice of Computer Science (SOFSEM) pages 582-594, Spindleruv Mlyn, Czech Republic, February 2009

M. Musuvathi, S. Qadeeer, T. Ball, G. Basler, P. A. Nainar, and I. Neamtiu
Finding and reproducing Heisenbugs in concurrent programs
Proceedings of the 8th USENIX Symposium on Operating System Design and Implementation (OSDI), San Diego, Dec. 2008

C. Tian, M. Feng, V. Nagarajan, and R. Gupta
Copy Or Discard Execution Model For Speculative Parallelization On Multicores
IEEE/ACM 41th International Symposium on Microarchitecture (MICRO), pages 330-341, Lake Como, Italy, Nov. 2008.

D. Jeffrey, N. Gupta, and R. Gupta
Fault Localization Using Value Replacement
International Symposium on Software Testing and Analysis (ISSTA), pages 167-178, Seattle, July 2008.

C. Tian, V. Nagarajan, R. Gupta, and S. Tallam
Dynamic Recognition of Synchronization Operations for Improved Data Race Detection
International Symposium on Software Testing and Analysis (ISSTA), pages 143-154, Seattle, July 2008.

I. Neamtiu, M. Hicks, J. Foster, and P. Pratikakis
Contextual Effects for Version-Consistent Dynamic Software Updating and Safe Concurrent Programming
Proceedings of the ACM Conference on Principles of Programming Languages (POPL) , pages 37-49, San Francisco, January 2008.

R. Siminiceanu and G. Ciardo
Formal verification of the NASA Runway Safety Monitor.
Software Tools for Technology Transfer, 9(1):63-76, 2007.

G. Ciardo, G. Luettgen, and A. S. Miner
Exploiting interleaving semantics in symbolic state-space generation.
Formal Methods in System Design, 31:63-100, 2007.

S. Tallam, C. Tian, X. Zhang, and R. Gupta
Enabling Tracing of Long-Running Multithreaded Programs via Dynamic Execution Reduction,
International Symposium on Software Testing and Analysis (ISSTA), pages 207-218, London, July 2007.

X. Zhang, S. Tallam, N. Gupta, and R. Gupta
Towards Locating Execution Omission Errors,
ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), pages 415-424, San Diego, June 2007.


 


Footer