BlinkFill swMATH ID: 29485 Software Authors: Rishabh Singh Description: BlinkFill: semi-supervised programming by example for syntactic string transformations.The recent Programming By Example (PBE) techniques such as FlashFill have shown great promise for enabling end-users to perform data transformation tasks using input-output examples. Since examples are inherently an under-specification, there are typically a large number of hypotheses conforming to the examples, and the PBE techniques suffer from scalability issues for finding the intended program amongst the large space. We present a semi-supervised learning technique to significantly reduce this ambiguity by using the logical information present in the input data to guide the synthesis algorithm. We develop a data structure InputDataGraph to succinctly represent a large set of logical patterns that are shared across the input data, and use this graph to efficiently learn substring expressions in a new PBE system BlinkFill. We evaluate BlinkFill on 207 real-world benchmarks and show that BlinkFill is significantly faster (on average 41x) and requires fewer input-output examples (1.27 vs 1.53) to learn the desired transformations in comparison to FlashFill. Homepage: https://dl.acm.org/citation.cfm?id=2977797.2977807 Related Software: FlashMeta; Infer.NET; z3; LLVM; SMT-LIB; Stan; TerpreT; TRANSIT; FlashExtract; CodeHint; SyPet; Houdini; Daikon Cited in: 1 Publication Cited by 4 Authors 1 Itzhaky, Shachar 1 Peleg, Hila 1 Shoham, Sharon 1 Yahav, Eran Cited in 1 Serial 1 Acta Informatica Cited in 1 Field 1 Computer science (68-XX) Citations by Year