Please note: This PhD defence will take place online.
Xuye Liu, PhD candidate
David R. Cheriton School of Computer Science
Supervisor: Professor Jian Zhao
Programming workflows typically move through several recurring stages: understanding and documenting code, checking correctness and debugging, improving efficiency and scalability, and sharing results with others. Each stage has its own challenges: documentation often becomes outdated or inconsistent with evolving code, debugging can be time-consuming and opaque, performance improvements require balancing competing goals (e.g., speed, memory, and clarity), and communicating results usually demands extra manual effort.
This thesis investigates how human–AI collaboration can support key stages of programming workflows, including documentation, communication, evaluation, and optimization. To address these challenges, I begin by studying the needs and practices of programmers to understand where current tools fall short. Based on these insights, I design interactive systems that integrate with computational notebooks and IDEs and operate on invariant components (code cells, execution outputs, text) so results remain compatible with common practices. These systems generate context-aware documentation, help communicate computational results, and provide real-time multi-dimensional evaluation for correctness and performance optimization. I conduct user studies and case studies to evaluate system usability and to assess how these approaches improve programmers’ productivity, confidence, and ability to share their work.