Documentation Matters: Human-Centered AI System to Assist Data Science Code Documentation in Computational Notebooks
arXiv:2102.12592 · doi:10.1145/3489465
Abstract
Computational notebooks allow data scientists to express their ideas through a combination of code and documentation. However, data scientists often pay attention only to the code, and neglect creating or updating their documentation during quick iterations. Inspired by human documentation practices learned from 80 highly-voted Kaggle notebooks, we design and implement Themisto, an automated documentation generation system to explore how human-centered AI systems can support human data scientists in the machine learning code documentation scenario. Themisto facilitates the creation of documentation via three approaches: a deep-learning-based approach to generate documentation for source code, a query-based approach to retrieve online API documentation for source code, and a user prompt approach to nudge users to write documentation. We evaluated Themisto in a within-subjects experiment with 24 data science practitioners, and found that automated documentation generation techniques reduced the time for writing documentation, reminded participants to document code they would have ignored, and improved participants' satisfaction with their computational notebook.
References in corpus (7)
- How AI Developers Overcome Communication Challenges in a Multidisciplinary Team: A Case Study
- Trust in AutoML: Exploring Information Needs for Establishing Trust in Automated Machine Learning Systems
- AutoDS: Towards Human-Centered Automation of Data Science
- AutoAIViz: Opening the Blackbox of Automated Artificial Intelligence with Conditional Parallel Coordinates
- How Much Automation Does a Data Scientist Want?
- JuICe: A Large Scale Distantly Supervised Dataset for Open Domain Context-based Code Generation
- HAConvGNN: Hierarchical Attention Based Convolutional Graph Neural Network for Code Documentation Generation in Jupyter Notebooks
Cited by in corpus (17)
- The Programmer's Assistant: Conversational Interaction with a Large Language Model for Software Development
- Application of Artificial Intelligence for Fraudulent Banking Operations Recognition
- Competent but Rigid: Identifying the Gap in Empowering AI to Participate Equally in Group Decision-Making
- Notable: On-the-fly Assistant for Data Storytelling in Computational Notebooks
- Aspirations and Practice of Model Documentation: Moving the Needle with Nudging and Traceability
- CoPrompt: Supporting Prompt Sharing and Referring in Collaborative Natural Language Programming
- Matcha: An IDE Plugin for Creating Accurate Privacy Nutrition Labels
- Human-AI Experience in Integrated Development Environments: A Systematic Literature Review
- NotePlayer: Engaging Jupyter Notebooks for Dynamic Presentation of Analytical Processes
- SPROUT: an Interactive Authoring Tool for Generating Programming Tutorials with the Visualization of Large Language Models
- Contextualized Data-Wrangling Code Generation in Computational Notebooks
- A moving target in AI-assisted decision-making: Dataset shift, model updating, and the problem of update opacity
- Model Cards Revisited: Bridging the Gap Between Theory and Practice for Ethical AI Requirements
- Predicting the Understandability of Computational Notebooks through Code Metrics Analysis
- ReSpark: Leveraging Previous Data Reports as References to Generate New Reports with LLMs
- A Systematic Literature Review of Software Engineering Research on Jupyter Notebook
- A Systematic Literature Review of the Use of GenAI Assistants for Code Comprehension: Implications for Computing Education Research and Practice