Skip to main content

This summer, alongside another research assistant and a postdoc, I worked on a theoretical computer science research project with Professor Val Tannen. By looking at missing query outputs on databases using a specialized algebraic framework that Prof Tannen developed himself, we were able to come up with an algorithm that would output repairs (ex. changes to the database entries) to make the missing outputs actually appear in the query result. We analyzed the behavior of our algorithm using some metrics of optimization (ex. minimizing the total number of changes we have to make to the database to create a repair, or, minimizing the size effects on the query output when creating a repair), and came up with some complexity bounds to measure the performance of our algorithm. Our main goal by the end of summer was to produce a research paper containing our results, which we hope to eventually publish in a leading conference (such as for example, SIGLOG). We achieved this goal, and in all, the results of our project adds another piece to the exciting and active field of research known as data provenance.


Through my research experience, I got a taste of what a life of academia would look like. For me, this project was a lot of thinking and trying new approaches and occasionally making some progress in cracking the problem at hand, but rarely would I actually have sufficient new content to write a page or so in our paper. For the first month or so of my research, I was also quite clueless about the direction of our research, so we had to patiently make progress in whatever area we could, hoping eventually the pieces would come together and show us the next big step in our research. If there is one skill I developed this summer, it is my resolve to overcome any challenging problem and persevere until I have solved that problem. Academically, this project allowed me to explore plenty of advanced topics in computer science that I otherwise wouldn’t have been introduced to for at least a few more years. Ultimately, my newly-gained understanding of these advanced topics will serve me well in my future pursuits, academic or professional, as a computer science major.

This summer, alongside another research assistant and a postdoc, I worked on a theoretical computer science research project with Professor Val Tannen. By looking at missing query outputs on databases using a specialized algebraic framework that Prof Tannen developed himself, we were able to come up with an algorithm that would output repairs (ex. changes to the database entries) to make the missing outputs actually appear in the query result. We analyzed the behavior of our algorithm using some metrics of optimization (ex. minimizing the total number of changes we have to make to the database to create a repair, or, minimizing the size effects on the query output when creating a repair), and came up with some complexity bounds to measure the performance of our algorithm. Our main goal by the end of summer was to produce a research paper containing our results, which we hope to eventually publish in a leading conference (such as for example, SIGLOG). We achieved this goal, and in all, the results of our project adds another piece to the exciting and active field of research known as data provenance.


Through my research experience, I got a taste of what a life of academia would look like. For me, this project was a lot of thinking and trying new approaches and occasionally making some progress in cracking the problem at hand, but rarely would I actually have sufficient new content to write a page or so in our paper. For the first month or so of my research, I was also quite clueless about the direction of our research, so we had to patiently make progress in whatever area we could, hoping eventually the pieces would come together and show us the next big step in our research. If there is one skill I developed this summer, it is my resolve to overcome any challenging problem and persevere until I have solved that problem. Academically, this project allowed me to explore plenty of advanced topics in computer science that I otherwise wouldn’t have been introduced to for at least a few more years. Ultimately, my newly-gained understanding of these advanced topics will serve me well in my future pursuits, academic or professional, as a computer science major.