Input-centric program behavior analysis is a technique for intelligent programming systems. The key is the concentration on program input, a factor deciding program behavior but having been insufficiently understood and exploited. Input-centric behavior analysis opens the door to evolvable computing, where, the optimizer learns program behavior patterns incrementally across production runs, and improves the program continuously. Just as a bird learns to fly better and better, in evolvable computing, a program may learn to run faster and faster.
This talk will focus on the influence of program inputs on program behaviors, the handling of input complexity, and the modeling of the connections between inputs and runtime behaviors through incremental statistical learning. The effectiveness of input-centric analysis is demonstrated in its applications in enhancing runtime optimizations in Java Virtual Machine, improving cost-efficiency in software speculation, and alleviating optimization obstacles for GPU (Graphic Processing Unit) programs.
Bio: Xipeng Shen has been an assistant professor at The College of William and Mary since 2006. He received his Ph.D. and Master degree in Computer Science from University of Rochester in 2006 and 2003 respectively. He received the M.S. degree in Pattern Recognition from Chinese Academy of Sciences in 2001, and the B.S. degree from The North China University of Technology. Xipeng Shen's main research lies in the area of Compiler Technology and Programming Systems, covering Optimizing Compilers, Parallel Computing, GPU Computing, Program Behavior Analysis, etc. He leads the Compilers and Adaptive Programming Systems research group at The College of William and Mary. The group have been focusing on integrating automatic learning, adaptation, and evolvement into different computing layers to form a whole-system synergy.
Refreshments will be provided at 10:45