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, and understanding software evolution.
Projects
Dynamic Program Analysis for Secure and Reliable Computing
Runtime Monitoring on Multicores
Logic and Stochastic Verification
Dynamic Software Updating and Software Evolution
Recent publications
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, accepted October 2009.
M. Feng and R. Gupta
Detecting Virus Mutations Via Dynamic Matching
25th IEEE Conference on Software Maintenance, 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, 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, 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, Austin, Texas, June 2009.
V. Nagarajan, D. Jeffrey and R. Gupta
Self-Recovery in Server Programs
8th International Symposium on Memory Management, 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, 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, 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, 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, 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,
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,
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,
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 , 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,
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,
pages 415-424, San Diego, June 2007.

