Affiliation:
1. University of California at Los Angeles, USA
2. Microsoft Research Lab, India
3. Microsoft, USA
4. Microsoft Research, USA
Abstract
We address the problem of learning a
syntactic profile
for a collection of strings, i.e. a set of regex-like patterns that succinctly describe the syntactic variations in the strings. Real-world datasets, typically curated from multiple sources, often contain data in various syntactic formats. Thus, any data processing task is preceded by the critical step of data format identification. However, manual inspection of data to identify the different formats is infeasible in standard big-data scenarios.
Prior techniques are restricted to a small set of pre-defined patterns (e.g. digits, letters, words etc.), and provide no control over granularity of profiles. We define syntactic profiling as a problem of clustering strings based on syntactic similarity, followed by identifying patterns that succinctly describe each cluster. We present a technique for synthesizing such profiles over a given language of patterns, that also allows for interactive refinement by requesting a desired number of clusters.
Using a state-of-the-art inductive synthesis framework, PROSE, we have implemented our technique as FlashProfile. Across 153 tasks over 75 large real datasets, we observe a median profiling time of only ∼ 0.7s. Furthermore, we show that access to syntactic profiles may allow for more accurate synthesis of programs, i.e. using fewer examples, in programming-by-example (PBE) workflows such as Flash Fill.
Funder
National Science Foundation
Microsoft Research
Microsoft
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Cited by
14 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Diffy: Data-Driven Bug Finding for Configurations;Proceedings of the ACM on Programming Languages;2024-06-20
2. Saggitarius: A DSL for Specifying Grammatical Domains;Proceedings of the ACM on Programming Languages;2023-10-16
3. Mobius: Synthesizing Relational Queries with Recursive and Invented Predicates;Proceedings of the ACM on Programming Languages;2023-10-16
4. Fast and Reliable Program Synthesis via User Interaction;2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE);2023-09-11
5. Improving Oracle-Guided Inductive Synthesis by Efficient Question Selection;Proceedings of the ACM on Programming Languages;2023-04-06