Semantic Search and Visual Exploration of Computational Notebooks
Loading...
Date
2021-08-12
Authors
Li, Xingjun
Advisor
Zhao, Jian
Journal Title
Journal ISSN
Volume Title
Publisher
University of Waterloo
Abstract
Code search is an important and frequent activity for developers using computational notebooks (e.g., Jupyter). The flexibility of notebooks brings challenges for effective code search, where classic search interfaces for traditional software code may be limited. In this thesis, we propose, NBSearch, a novel system that supports semantic code search in notebook collections and interactive visual exploration of search results. NBSearch leverages advanced machine learning models to enable natural language search queries and intuitive visualizations to present complicated intra- and inter-notebook relationships in the returned results. We developed NBSearch through an iterative participatory design process with two experts from a large software company. We evaluated the models with a series of experiments and the whole system with a controlled user study. The results indicate the feasibility of our analytical pipeline and the effectiveness of NBSearch to support code search in large
notebook collections. As one important aspect of the future directions, the search quality of NBSearch was further improved by
incorporating the impact of markdowns in notebooks, and its performance was evaluated by comparing to the original implementation.