His research seeks to understand the composite and emergent behavior in complex computer systems, including program locality and scalability, reference affinity, and program phases. Based on behavior models, his group develops software techniques for program transformation, memory management, and dynamic parallelization. His work received young investigator awards from NSF and DOE. He co-founded the ACM SIGPLAN Workshop on Memory System Performance and Correctness (MSPC) and was a visiting researcher at Microsoft Research and a visiting professor at MIT. More information about his work can be found at http://www.cs.rochester.edu/~cding/