Sporq: An Interactive Environment for Exploring Code Using Query-by-Example
Authors
There has been widespread adoption of IDEs and powerful tools for program analysis. However, programmers still find it difficult to conveniently analyze their code for custom patterns. Such systems either provide inflexible interfaces or require knowledge of complex query languages and compiler internals. In this paper, we present \tool, a tool that allows developers to mine their codebases for a range of patterns, including bugs, code smells, and violations of coding standards. \tool{} offers an interactive environment in which the user highlights program elements, and the system responds by identifying other parts of the codebase with similar patterns. The programmer can then provide feedback which enables the system to rapidly infer the programmer's intent. Internally, our system is driven by high-fidelity relational program representations and algorithms to synthesize database queries from examples. Our experiments and user studies with a VS Code extension indicate that \tool{} reduces the effort needed by programmers to write custom analyses and discover bugs in large codebases.
Research Questions / Practical Problems
Question signals indexed for this paper.
- 100%
Integrated Visualization Editing via Parameterized Declarative Templates
CHI '21· Interactive Data Visualization +1
- 100%
DynaVis: Dynamically Synthesized UI Widgets for Visualization Editing
CHI '24· Interactive Data Visualization +1
- 80%
CoCapture: Effectively Communicating UI Behaviors on Existing Websites by Demonstrating and Remixing
CHI '21· 360° Video & Panoramic Content +2
- 80%
TableCanoniser: Interactive Grammar-Powered Transformation of Messy, Non-Relational Tables to Canonical Tables
CHI '25· Interactive Data Visualization +1
- 80%
Screen Parsing: Towards Reverse Engineering of UI Models from Screenshots
UIST '21· Interactive Data Visualization +1
- 75%
KeyMap: Improving Keyboard Shortcut Vocabulary Using Norman's Mapping
CHI '20· Prototyping & User Testing
- 75%
Interactive Document Clustering Revisited: A Visual Analytics Approach
IUI '18· Interactive Data Visualization
- 75%
Data-centric disambiguation for data transformation with programming-by-example
IUI '21· Interactive Data Visualization
- 75%
X-Droid: A Quick and Easy Android Prototyping Framework with a Single App Illusion
UIST '19· Prototyping & User Testing
- 67%
Interface Dis/Similarities: Investigating Characteristics Influencing Perceived Differences Between GUIs
CHI '26· User Research Methods (Interviews, Surveys, Observation) +2
Based on Jaccard similarity of research subtopics & professions (≥60%)