I'm currently working at Columbia's ARiSE Lab under the direction of Baishakhi Ray on detecting performance bugs in Python algorithms using natural language models of source code. I also work as a teaching assistant for Computer Science Theory (COMS 3261), and serve as President of the Columbia Association for Women in Mathematics. Last but not least, I am highly involved in Columbia Space Initiative, where I co-led our computer science mission and helped design and build a EVA tool that we tested and presented at NASA's NBL as part of a nationwide engineering challenge.
My current research interests are primarily in software engineering and artificial intelligence/machine learning. I am interested in machine learning for programming, and in studying how real-world systems that reason with machine learning can better respond to unforeseen events.
This past Summer (2020), I participated in Carnegie Mellon's REU in software engineering, where I was advised by Claire Le Goues and worked alongside Cody Kinneer on improving plan reuse for autonomous systems with transfer learning. My project specifically focused on how self-adaptive, self-healing, self-managing, or self-* systems that plan with neural networks could use information from past plans to generate new ones. We proposed a method for transferring information between plans using evolutionary computation, which I implemented on our exemplar self-* system and empirically evaluated. The results indicated that neuro-reuse converged to a higher utility plan in the majority of trials, and was more robust against drastic changes to the system's operating environment (as opposed to re-planning from scratch). We described our methodology and results in the paper currently under review for ICSME `21.
I also participated in the Software Engineering REU program at Carnegie Mellon University in Summer 2019. I was advised by Claire Le Goues and Michael Hilton, and worked alongside Chris Timperley and Afsoon Afzal, studying the Robot Operating System (ROS). This experience led to the ICSME publication "It Takes a Village to Build a Robot", where we mapped package relationships in the ROS ecosystem and discovered a small group of influential packages at the core of the collaboration structure. I also gave a talk on this research at ROScon in October, and was mentioned in the Open Robotics highlights. Video and slides can be found here. After my presentation at ROScon, I was invited to participate in a software quality panel for the 2020 version of the conference (ROSworld).
During my sophomore year, I worked in the Axel Lab under PI and Nobel Laureate Richard Axel. The lab's goal is to understand how the brain is able to construct an internal representation of reality. In the experiment I worked on, we recorded place and time cell spiking activity during a navigation task to examine how mice represent, recognize and employ sparse olfactory landmarks to form a cognitive spatial map. I used machine learning techniques to identify place and time cells in this high dimensionality neuron spiking data, and to correlate their activity with behavior.
Another ongoing project is my work with Columbia Space Initiative. I am the mission co-lead for Columbia's CS team, recently accepted to compete in the NASA SUITS challenge . Our team is designing an augmented reality user interface for the Microsoft HoloLens, a proxy for the AR-enabled glass that will be present in next generation space suit helmets. The UI is meant to help astronauts complete tasks with less intervention from Mission Control, in preparation for deep space exploration. Our faculty advisor and mentor is professor Steven Feiner, PI of the Columbia Computer Graphics and User Interfaces Lab. Here is a link to our accepted proposal: an initial design plan.
I have always loved teaching, especially in math and CS. Fall 2019 and Spring 2020 I was a TA for CS Theory (COMS 3261), and this semester (Fall 2020) I will be TAing the class again. This course is an introduction to models of computation, computability, and complexity. It is highly mathematical and primarily proof-based (the follow up to Discrete Math). Over the course of the semester, we were responsible for coming up with HW problems, designing exams, grading (lots of grading), running recitations, holding weekly office hours, and managing the Piazza page. To supplement class material, I hosted a midterm review and a proof writing workshop (slides for both are available here!) (proof slides) (midterm review slides)
Last Spring, I took an amazing course in Quantum Computing. For my final
project, I proposed and implemented a quantum algorithm for parsing simple
context-free grammars. Here is the final paper I wrote for the class.