Automatic Restoration and Management of Computational Notebooks

dc.contributor.authorVenkatesan, Satishen
dc.contributor.committeechairGulzar, Muhammad Alien
dc.contributor.committeememberTilevich, Elien
dc.contributor.committeememberMeng, Naen
dc.contributor.departmentComputer Scienceen
dc.date.accessioned2022-03-04T09:00:22Zen
dc.date.available2022-03-04T09:00:22Zen
dc.date.issued2022-03-03en
dc.description.abstractComputational Notebook platforms are very commonly used by programmers and data scientists. However, due to the interactive development environment of notebooks, developers struggle to maintain effective code organization which has an adverse effect on their productivity. In this thesis, we research and develop techniques to help solve issues with code organization that developers face in an effort to improve productivity. Notebooks are often executed out of order which adversely effects their portability. To determine cell execution orders in computational notebooks, we develop a technique that determines the execution order for a given cell and if need be, attempt to rearrange the cells to match the intended execution order. With such a tool, users would not need to manually determine the execution orders themselves. In a user study with 9 participants, our approach on average saves users about 95% of the time required to determine execution orders manually. We also developed a technique to support insertion of cells in rows in addition to the standard column insertion to help better represent multiple contexts. In a user study with 9 participants, this technique on a scale of one to ten on average was judged as a 8.44 in terms of representing multiple contexts as opposed to standard view which was judged as 4.77.en
dc.description.abstractgeneralIn the field of data science computational notebooks are a very commonly used tool. They allow users to create programs to perform computations and to display graphs, tables and other visualizations to supplement their analysis. Computational Notebooks have some limitations in the development environment which can make it difficult for users to organize their code. This can make it very difficult to read through and analyze the code to find or fix any errors which in turn can have a very negative effect on developer productivity. In this thesis, we research methods to improve the development environment and increase developer productivity. We achieve this by offering tools to the user that can help organize and cleanup their code making it easier to comprehend the code and make any necessary changes.en
dc.description.degreeMaster of Scienceen
dc.format.mediumETDen
dc.identifier.othervt_gsexam:33990en
dc.identifier.urihttp://hdl.handle.net/10919/109097en
dc.language.isoenen
dc.publisherVirginia Techen
dc.rightsIn Copyrighten
dc.rights.urihttp://rightsstatements.org/vocab/InC/1.0/en
dc.subjectComputational Notebooksen
dc.subjectDependency Analysisen
dc.subjectVersion Controlen
dc.titleAutomatic Restoration and Management of Computational Notebooksen
dc.typeThesisen
thesis.degree.disciplineComputer Science and Applicationsen
thesis.degree.grantorVirginia Polytechnic Institute and State Universityen
thesis.degree.levelmastersen
thesis.degree.nameMaster of Scienceen

Files

Original bundle
Now showing 1 - 2 of 2
Loading...
Thumbnail Image
Name:
Venkatesan_S_T_2022.pdf
Size:
2.89 MB
Format:
Adobe Portable Document Format
Loading...
Thumbnail Image
Name:
Venkatesan_S_T_2022_support_1.pdf
Size:
92.04 KB
Format:
Adobe Portable Document Format
Description:
Supporting documents

Collections