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

9Citations
Citations of this article
10Readers
Mendeley users who have this article in their library.
Get full text

Abstract

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 Sporq, a tool that allows developers to mine their codebases for a range of patterns, including bugs, code smells, and violations of coding standards. Sporq 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 Sporq reduces the effort needed by programmers to write custom analyses and discover bugs in large codebases.

Cite

CITATION STYLE

APA

Naik, A., Mendelson, J., Sands, N., Wang, Y., Naik, M., & Raghothaman, M. (2021). Sporq: An Interactive Environment for Exploring Code using Query-by-Example. In UIST 2021 - Proceedings of the 34th Annual ACM Symposium on User Interface Software and Technology (pp. 84–99). Association for Computing Machinery, Inc. https://doi.org/10.1145/3472749.3474737

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free