Sporq: An Interactive Environment for Exploring Code Using Query-by-Example

Interactive Data VisualizationPrototyping & User TestingSoftware Engineers & DevelopersUI/UX Designers

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.

Quick Actions

Share

Share this page

ios_share

https://hci.top/en/papers/uist/61353/2021

AdRecommended

Learn AI Coding at CodeNow

open_in_newOpen DOI Link
DOI: https://doi.org/10.1145/3472749.3474737
At a Glance

Paper Snapshot

fact_check
dataset
Source
UIST
calendar_month
Year
2021
emoji_events
Award
No award tagged
group
Authors
6 authors
sell
Subtopics
Interactive Data Visualization, Prototyping & User Testing
work
Professions
Software Engineers & Developers, UI/UX Designers
article
Content Status
Abstract only
hub
Related Papers
10 related papers