Abstract

99i¾?% of computer end users do not know programming, and struggle with repetitive tasks. Programming by Examples PBE can revolutionize this landscape by enabling users to synthesize intended programs from example based specifications. A key technical challenge in PBE is to search for programs that are consistent with the examples provided by the user. Our efficient search methodology is based on two key ideas: i Restriction of the search space to an appropriate domain-specific language that offers balanced expressivity and readability ii A divide-and-conquer based deductive search paradigm that inductively reduces the problem of synthesizing a program of a certain kind that satisfies a given specification into sub-problems that refer to sub-programs or sub-specifications. Another challenge in PBE is to resolve the ambiguity in the example based specification. We will discuss two complementary approaches: a machine learning based ranking techniques that can pick an intended program from among those that satisfy the specification, and b active-learning based user interaction models. The above concepts will be illustrated using FlashFill, FlashExtract, and FlashRelate--PBE technologies for data manipulation domains. These technologies, which have been released inside various Microsoft products, are useful for data scientists who spend 80i¾?% of their time wrangling with data. The Microsoft PROSE SDK allows easy construction of such technologies.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.