Research

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

Recent Publications

Dynamic Slicing for Android
T. Azim, A. Alavi, I. Neamtiu, and R. Gupta
41st ACM/IEEE International Conference on Software Engineering (ICSE), 11 Pages, May 2019.

Scalable Processing of Contemporary Semi-Structured Data on Commodity Parallel Processors - A Compilation-based Approach
L. Jiang, X. Sun, U. Farooq, and Z. Zhao
ACM 24th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), 14 Pages, April 2019.

PnP: Pruning and Prediction for Point-To-Point Iterative Graph Analytics
C. Xu, K. Vora, and R. Gupta
ACM 24th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), 14 Pages, April 2019.

Transforming Query Sequences for High-Throughput B+ Tree Processing on Many-core Processors
R. Tian, J. Qiu, Z. Zhao, X. Liu, and B. Ren
Proceedings of International Symposium on Code Generation and Optimization (CGO), 14 Pages, Feb. 2019.

White-Box Program Tuning
W-C. Lee, Y. Liu, P. Liu, S. Ma, H.J. Choi, X. Zhang, and R. Gupta
Proceedings of International Symposium on Code Generation and Optimization (CGO), 12 Pages, Feb. 2019.

Efficient Concolic Testing for MPI Applications
H. Li, Z. Chen, and R. Gupta
International Conference on Compiler Construction (CC), 14 Pages, Feb. 2019.

Replication Coordination Analysis and Synthesis
F. Houshmand and M. Lesani
ACM Symposium on Principles of Programming Languages (POPL), Jan. 2019.

Safe Stream-Based Programming with Refinement Types
B. Stein, L. Clapp, M. Sridharan, and B.Y.E. Chang
ACM/IEEE International Conference on Automated Software Engineering (ASE), 12 pages, August 2018.

RuntimeDroid: Restarting-Free Runtime Change Handling for Android Apps
U. Farooq and Z. Zhao
ACM International Conference on Mobile Systems, Applications, and Services (MobiSys), 12 pages, June 2018.

OMR: Out-of-Core MapReduce for Large Data Sets
G. Kaur, K. Vora, S-C. Koduru, and R. Gupta
International Symposium on Memory Management (ISMM), pages 71-83, June 2018.

COMPI: Concolic Testing for MPI Applications
H. Li, S. Li, Z. Benavides, Z. Chen, and R. Gupta
IEEE International Parallel and Distributed Processing Symposium (IPDPS), pages 865-874, May 2018.

Tigr: Transforming Irregular Graphs for GPU-Friendly Graph Processing
A. Nodehi, J. Qiu, and Z. Zhao
ACM 23nd International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), Pages 622-636, March 2018.

ParaStack: Efficient Hang Detection for MPI Programs at Large Scale
H. Li, Z. Chen, and R. Gupta
ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis (SC), Article No. 63, 12 pages, November 2017.

IoTa: a calculus for internet of things automation
J. Newcomb, S. Chandra, J.B. Jeannin, C. Schlesinger, M. Sridharan
ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (Onward!), 14 pages, October 2017.

Annotation Guided Collection of Context-Sensitive Parallel Execution Profiles
Z. Benavides, R. Gupta, and X. Zhang
International Conference on Runtime Verification (RV), Pages 103-120, September 2017.

Finding fix locations for CFL-reachability analyses via minimum cuts.
A. Dan, M. Sridharan, S. Chandra, J. B. Jeannin, M. Vechev
Computer-Aided Verification (CAV), 22 pages, July 2017.

Repairing event race errors by controlling nondeterminism.
C. Adamsen, A. Moller, R. Karim, M. Sridharan, F. Tip, K. Sen
39th International Conference on Software Engineering (ICSE), 11 pages, May 2017.

KickStarter: Fast and Accurate Computations on Streaming Graphs via Trimmed Approximations
K. Vora, R. Gupta, and G. Xu
ACM 22nd International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), Pages 237-251, April 2017.

CoRAL: Confined Recovery in Distributed Asynchronous Graph Processing
K. Vora, C. Tian, R. Gupta, and Z. Hu
ACM 22nd International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), Pages 223-236, April 2017.

Enabling Scalability-Sensitive Speculative Parallelization for FSM Computations
J. Qiu, Z. Zhao, B. Wu, A. Vishnu, and S. Song
ACM International Conference on Supercomputing (ICS), Article No. 2, June 2017.

Grammar-aware Parallelization for Scalable XPath Querying
L. Jiang and Z. Zhao
ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP), Pages 371-383, Feb 2017.

Synergistic Analysis of Evolving Graphs
K. Vora, R. Gupta, and G. Xu
ACM Transactions on Architecture and Code Optimization (TACO), Volume 13, Issue 4, Article No. 32, 27 pages, October 2016.

Proving Concurrent Data Structures Linearizable
V. Singh, I. Neamtiu, and R. Gupta
The 27th IEEE International Symposium on Software Reliability Engineering (ISSRE), 11 pages, October 2016.

Load the Edges You Need: A Generic I/O Optimization for Disk-based Graph Processing
K. Vora, G. Xu, and R. Gupta
USENIX Annual Technical Conference (USENIX ATC), pages 507-522, June 2016.

Efficient Processing of Large Graphs via Input Reduction
A. Kusum, K. Vora, R. Gupta, and I. Neamtiu
International ACM Symposium on High Performance Parallel and Distributed Computing (HPDC), pages 245-257, June 2016.

Parallel Execution Profiles
Z. Benavides, R. Gupta, and X. Zhang
International ACM Symposium on High Performance Parallel and Distributed Computing (HPDC), pages 215-218, June 2016.

CuMAS: Data Transfer Aware Multi-Application Scheduling for Shared GPUs
M. Belviranli, F. Khorasani, L.N. Bhuyan, and R. Gupta
ACM International Conference on Supercomputing (ICS), 12 pages, June 2016.

Eliminating Intra-warp Load Imbalance in Irregular Nested Patterns via Collaborative Task Engagement
F. Khorasani, B. Rowe, R. Gupta, and L.N. Bhuyan
IEEE International Parallel and Distributed Processing Symposium (IPDPS), pages 524-533, May 2016.

Automatic Fault Location for Data Structures
V. Singh, R. Gupta, and I. Neamtiu
25th International Conference on Compiler Constructione (CC), pages 99-109, March 2016.

Safe and Flexible Adaptation Via Alternate Data Structure Representations
A. Kusum, I. Neamtiu, and R. Gupta
25th International Conference on Compiler Constructione (CC), pages 34-44, March 2016.

Tumbler: An Effective Load Balancing Technique for MultiCPU Multicore Systems
K.K. Pusukuri, R. Gupta, and L.N. Bhuyan
ACM Transactions on Architecture and Code Optimization (TACO), Volume 12, Issue 4, Article No. 36, 24 pages, January 2016.

Efficient Warp Execution in Presence of Divergence with Collaborative Context Collection
F. Khorasani, R. Gupta, and L.N. Bhuyan
IEEE/ACM 48th International Symposium on Microarchitecture (MICRO), pages 204-215, December 2015.

Experience Report: How Do Bug Characteristics Differ Across Severity Classes: A Multi-platform Study
B. Zhou, I. Neamtiu, and R. Gupta
The 26th IEEE International Symposium on Software Reliability Engineering (ISSRE), pages 507-517, November 2015.

RAIVE: Runtime Assessment of Floating-Point Instability by Vectorization
W-C. Lee, T. Bao, Y. Zheng, X. Zhang, K. Vora, and R. Gupta
ACM Conference on Object-Oriented Programming, Systems, Languages & Applications (OOPSLA), pages 623-638, October 2015.

Scalable SIMD-Efficient Graph Processing on GPUs
F. Khorasani, R. Gupta, and L.N. Bhuyan
The 24th International Conference on Parallel Architectres and Compilation Techniques (PACT), pages 39-50, October 2015.

Stadium Hashing: Scalable and Flexible Hashing on GPUs
F. Khorasani, M. Belviranli, R. Gupta, and L.N. Bhuyan
The 24th International Conference on Parallel Architectres and Compilation Techniques (PACT), pages 63-74, October 2015.

Size Oblivious Programming with InfiniMem
S-C. Koduru, R. Gupta, and I. Neamtiu
28th International Workshop on Languages and Compilers for Parallel Computing (LCPC), 15 pages, September 2015. Recipient of Best Student Paper Award.

Optimizing Caching DSM for Distributed Software Speculation
S-C. Koduru, K. Vora, and R. Gupta
IEEE International Conference on Cluster Computing (CLUSTER), pages 452-455, Sept. 2015.

PeerWave: Exploiting Wavefront Parallelism on GPUs with Peer-SM Synchronization
M. Belviranli, P. Deng, L.N. Bhuyan, R. Gupta, and Q. Zhu
ACM International Conference on Supercomputing (ICS), pages 25-35, June 2015.

Predicting Concurrency Bugs: How Many, What Kind and Where Are They?
B. Zhou, I. Neamtiu, and R. Gupta
19th International Conference on Evaluation and Assessment in Software Engineering (EASE), Article 6, 10 pages, April 2015.

A Cross-platform Analysis of Bugs and Bug-fixing in Open Source Projects: Desktop vs. Android vs. iOS
B. Zhou, I. Neamtiu, and R. Gupta
19th International Conference on Evaluation and Assessment in Software Engineering (EASE), Article 7, 10 pages, April 2015.

MG++: Memory Graphs for Analyzing Dynamic Data Structures
V. Singh, R. Gupta, and I. Neamtiu
22nd IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER), pages 291-300, March 2015.

Fence Scoping
C. Lin, V. Nagarajan, and R. Gupta
ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis (SC), pages 105-116, November 2014.

ASPIRE: Exploiting Asynchronous Parallelism in Iterative Algorithms using a Relaxed Consistency based DSM
K. Vora, S-C. Koduru, and R. Gupta
ACM Conference on Object-Oriented Programming, Systems, Languages & Applications (OOPSLA), pages 861-878, October 2014.

Determining Developers' Expertise and Role: A Graph Hierarchy-based Approach
P. Bhattacharya, I. Neamtiu, and M. Faloutsos
30th International Conference on Software Maintenance and Evolution (ICSME), September 2014.

Shuffling: A Framework for Lock Contention Aware Thread Scheduling for Multicore Multiprocessor Systems
K.K. Pusukuri, R. Gupta, and L.N. Bhuyan
The 23rd International Conference on Parallel Architectres and Compilation Techniques (PACT), pages 289-300, August 2014.

CuSha: Vertex-Centric Graph Processing on GPUs
F. Khorasani, K. Vora, R. Gupta, and L.N. Bhuyan
International ACM Symposium on High Performance Parallel and Distributed Computing (HPDC), pages 239-251, June 2014.
download: http://farkhor.github.io/CuSha/

DrDebug: Deterministic Replay based Cyclic Debugging with Dynamic Slicing
Y. Wang, H. Patil, C. Pereira, G. Lueck, R. Gupta, and I. Neamtiu
IEEE/ACM International Symposium on Code Generation and Optimization (CGO),
pages 98-108, March 2014.


 


Footer