Visualizing API Usage Examples at Scale
Authors
Elena L. Glassman
UC BerkeleyTianyi Zhang
University of California, Los AngelesMiryung Kim
University of California, Los AngelesUsing existing APIs properly is a key challenge in programming, given that libraries and APIs are increasing in number and complexity. Programmers often search for online code examples in Q&A forums and read tutorials and blog posts to learn how to use a given API. However, there is often a massive number of related code examples and it is difficult for a user to understand the commonalities and variances among related examples, while being able to drill down to concrete details. We introduce an interactive visualization for exploring a large collection of code examples mined from open-source repositories at scale. This visualization summarizes hundreds of code examples in one synthetic code skeleton with statistical distributions for canonicalized statements and structures enclosing an API call. We implemented this interactive visualization for a set of Java APIs and found that, in a lab study, it helped users (1) answer significantly more API usage questions correctly and comprehensively and (2) explore how other programmers have used an unfamiliar API.
Research Questions / Practical Problems
Question signals indexed for this paper.
- 100%
Understanding Visual Investigation Patterns Through Digital "Field" Observations
CHI '22· Interactive Data Visualization +1
- 100%
Meta-Manager: A Tool for Collecting and Exploring Meta Information about Code
CHI '24· Interactive Data Visualization +1
- 100%
ProTAL: A Drag-and-Link Video Programming Framework for Temporal Action Localization
CHI '25· Interactive Data Visualization +1
- 75%
Computational Interaction: Theory and Practice
CHI '18· Computational Methods in HCI
- 75%
From Detectables to Inspectables: Understanding Qualitative Analysis of Audiovisual Data
CHI '21· Interactive Data Visualization +1
- 75%
Interaction Illustration Taxonomy: Classification of Styles and Techniques for Visually Representing Interaction Scenarios
CHI '21· Interactive Data Visualization +1
- 75%
Model-based Evaluation of Recall-based Interaction Techniques
CHI '24· Computational Methods in HCI
- 75%
Taking ASCII Drawings Seriously: How Programmers Diagram Code
CHI '24· Interactive Data Visualization +1
- 75%
Small-Step Live Programming by Example
UIST '20· Computational Methods in HCI
- 67%
Crystalline: Lowering the Cost for Developers to Collect and Organize Information for Decision Making
CHI '22· Human-LLM Collaboration +2
Based on Jaccard similarity of research subtopics & professions (≥60%)