My name is Lisa. I’m excited by programming languages (PL), human-computer interaction (HCI), and cognitive science.

I am a PhD student studying Computer Science at UC San Diego in the Programming Systems Group advised by Sorin Lerner. Before coming to UCSD, I obtained my B.A. in Computer Science and Cognitive & Linguistic Sciences from Wellesley College near Boston, MA, where I worked extensively with Franklyn Turbak on PL and HCI.

See Fun for my life outside of computer science.

Research

I design and develop programming tools. My current research vision is the following: I hope to improve human <-> human communication, the main media of which are computers, specifically programming tools. Such communication can be subdivided into two categories, each coming with questions I aim to address:

  1. Self-to-Self Communication. What programming aids can be developed to help the programmer correctly reason about the program behavior, assiting them with refining their mental model? How can one receive aids in understanding code they wrote a while ago?

  2. Self-to-Other Communication. How do we help programmers communicate their thought processes more effectively with collaborators, synchronously and asynchronously? What meta-data of cognitive processes can be embedded in programming languages and interfaces?

To that end, I adopt the human-centered approach to design programming environments:

  • I use evidence from cognitive science and empirical investigations to derive the design space of a programming tool; and
  • I work with potential users of a programming tool to refine the design space and to iterate on existing designs.

I believe that comprehension is key to the successful execution of many programming tasks (e.g., debugging, refactoring), and my goal is to develop programming tools that help programmers understand the information presented to them in order to be more effective with other programming tasks.

Recent Projects

  • LEAP: Live Exploration of AI-generated Programs.
  • Functional Debugging: designing Haskell debugging support backed by empirical evidence.
  • Step’n’Tune: connecting code with output in interactive GUI applications, with liveness.
  • Online Z3 Guide: rise4fun is back! Now serving Z3 as the first customer.

Please refer to the Projects tab for a full list of my projects (and a flavor for the kind of research I’m interested in).