Program synthesis using statistical models and logical reasoning

vii

[1]  Sumit Gulwani,et al.  Transforming spreadsheet data types using examples , 2016, POPL.

[2]  Ruzica Piskac,et al.  Interactive Synthesis of Code Snippets , 2011, CAV.

[3]  Pedro M. Domingos,et al.  Programming by Demonstration Using Version Space Algebra , 2003, Machine Learning.

[4]  Martín Abadi,et al.  Learning a Natural Language Interface with Neural Programmer , 2016, ICLR.

[5]  Sanjit A. Seshia,et al.  Sketching stencils , 2007, PLDI '07.

[6]  Richard M. Karp,et al.  Parallel Program Schemata , 1969, J. Comput. Syst. Sci..

[7]  Rishabh Singh,et al.  BlinkFill: Semi-supervised Programming By Example for Syntactic String Transformations , 2016, Proc. VLDB Endow..

[8]  Sumit Gulwani,et al.  Learning Semantic String Transformations from Examples , 2012, Proc. VLDB Endow..

[9]  NAVID YAGHMAZADEH,et al.  SQLizer: query synthesis from natural language , 2017, Proc. ACM Program. Lang..

[10]  Rudolf Eigenmann,et al.  Context-sensitive domain-independent algorithm composition and selection , 2006, PLDI '06.

[11]  Ashish Tiwari,et al.  Look for the Proof to Find the Program: Decorated-Component-Based Program Synthesis , 2017, CAV.

[12]  Alain Finkel,et al.  The Minimal Coverability Graph for Petri Nets , 1991, Applications and Theory of Petri Nets.

[13]  Koushik Sen,et al.  CodeHint: dynamic and interactive synthesis of code snippets , 2014, ICSE.

[14]  Jeffrey Heer,et al.  Proactive wrangling: mixed-initiative end-user programming of data transformation scripts , 2011, UIST.

[15]  Sumit Gulwani,et al.  Automating string processing in spreadsheets using input-output examples , 2011, POPL '11.

[16]  Quoc V. Le,et al.  Sequence to Sequence Learning with Neural Networks , 2014, NIPS.

[17]  Kenneth L. McMillan,et al.  Using Unfoldings to Avoid the State Explosion Problem in the Verification of Asynchronous Circuits , 1992, CAV.

[18]  Ashish Tiwari,et al.  Program Synthesis Using Dual Interpretation , 2015, CADE.

[19]  Xin Zhang,et al.  A user-guided approach to program analysis , 2015, ESEC/SIGSOFT FSE.

[20]  Isil Dillig,et al.  Program synthesis using conflict-driven learning , 2017, PLDI.

[21]  Scott A. Mahlke,et al.  The theory of deadlock avoidance via discrete control , 2009, POPL '09.

[22]  Tadao Murata,et al.  Petri nets: Properties, analysis and applications , 1989, Proc. IEEE.

[23]  Sumit Gulwani,et al.  Synthesis of loop-free programs , 2011, PLDI '11.

[24]  A. Karr Exploratory Data Mining and Data Cleaning , 2006 .

[25]  Ruzica Piskac,et al.  Complete completion using types and weights , 2013, PLDI.

[26]  Isil Dillig,et al.  Synthesizing transformations on hierarchically structured data , 2016, PLDI.

[27]  Peter-Michael Osera,et al.  Type-and-example-directed program synthesis , 2015, PLDI.

[28]  Inês Lynce,et al.  Conflict-Driven Clause Learning SAT Solvers , 2009, Handbook of Satisfiability.

[29]  Butler W. Lampson,et al.  A Machine Learning Framework for Programming by Example , 2013, ICML.

[30]  Sai Zhang,et al.  Automatically synthesizing SQL queries from input-output examples , 2013, 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[31]  Ranjit Jhala,et al.  Refinement types for TypeScript , 2016, PLDI.

[32]  David Walker,et al.  Example-directed synthesis: a type-theoretic interpretation , 2016, POPL.

[33]  Armando Solar-Lezama,et al.  Program synthesis from polymorphic refinement types , 2015, PLDI.

[34]  Jussi Rintanen,et al.  Planning via Petri Net Unfolding , 2007, IJCAI.

[35]  Robert E. Tarjan,et al.  A Linear-Time Algorithm for Testing the Truth of Certain Quantified Boolean Formulas , 1979, Inf. Process. Lett..

[36]  Armando Solar-Lezama,et al.  Program synthesis by sketching , 2008 .

[37]  Andreas Krause,et al.  Predicting Program Properties from "Big Code" , 2015, POPL.

[38]  Isil Dillig,et al.  Synthesizing data structure transformations from input-output examples , 2015, PLDI.

[39]  Rajeev Alur,et al.  Syntax-guided synthesis , 2013, 2013 Formal Methods in Computer-Aided Design.

[40]  Quoc V. Le,et al.  Neural Programmer: Inducing Latent Programs with Gradient Descent , 2015, ICLR.

[41]  Robert J. Walker,et al.  Strathcona example recommendation tool , 2005, ESEC/FSE-13.

[42]  Alvin Cheung,et al.  Synthesizing highly expressive SQL queries from input-output examples , 2017, PLDI.

[43]  Daniele Pretolani,et al.  Finding the K shortest hyperpaths , 2005, Comput. Oper. Res..

[44]  Jeffrey Heer,et al.  Wrangler: interactive visual specification of data transformation scripts , 2011, CHI.

[45]  Sumit Gulwani,et al.  Test-driven synthesis , 2014, PLDI.

[46]  Armando Solar-Lezama,et al.  The Sketching Approach to Program Synthesis , 2009, APLAS.

[47]  Daniel Le Berre,et al.  The Sat4j library, release 2.2 , 2010, J. Satisf. Boolean Model. Comput..

[48]  Doron A. Peled,et al.  Ten Years of Partial Order Reduction , 1998, CAV.

[49]  Sumit Gulwani,et al.  Spreadsheet data manipulation using examples , 2012, CACM.

[50]  Andreas Krause,et al.  Learning programs from noisy data , 2016, POPL.

[51]  Isil Dillig,et al.  Component-based synthesis for complex APIs , 2017, POPL.

[52]  Martin T. Vechev,et al.  PHOG: Probabilistic Model for Code , 2016, ICML.

[53]  Tatsuhiro Tsuchiya,et al.  SAT-Based Verification of Safe Petri Nets , 2004, ATVA.

[54]  Sumit Gulwani,et al.  FlashMeta: a framework for inductive program synthesis , 2015, OOPSLA.

[55]  Sumit Gulwani,et al.  Oracle-guided component-based program synthesis , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[56]  Sumit Gulwani,et al.  Recursive Program Synthesis , 2013, CAV.

[57]  Tao Xie,et al.  Parseweb: a programmer assistant for reusing open source code on the web , 2007, ASE.

[58]  Koushik Sen,et al.  SNIFF: A Search Engine for Java Using Free-Form Queries , 2009, FASE.

[59]  Ruzica Piskac,et al.  A Type-Directed Approach to Program Repair , 2015, CAV.

[60]  Sanjit A. Seshia,et al.  Combinatorial sketching for finite programs , 2006, ASPLOS XII.

[61]  Laurie Hendren,et al.  Soot: a Java bytecode optimization framework , 2010, CASCON.

[62]  Gerard Salton,et al.  A vector space model for automatic indexing , 1975, CACM.

[63]  Sumit Gulwani,et al.  FlashRelate: extracting relational data from semi-structured spreadsheets using examples , 2015, PLDI.

[64]  Walter Vogler Efficiency of Asynchronous Systems and Read Arcs in Petri Nets , 1997, ICALP.

[65]  Gail C. Murphy,et al.  Using structural context to recommend source code examples , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[66]  Cesare Tinelli,et al.  DPLL( T): Fast Decision Procedures , 2004, CAV.

[67]  Richard Fikes,et al.  STRIPS: A New Approach to the Application of Theorem Proving to Problem Solving , 1971, IJCAI.

[68]  Swarat Chaudhuri,et al.  A constraint-based approach to solving games on infinite graphs , 2014, POPL.

[69]  Armando Solar-Lezama,et al.  Data-driven synthesis for object-oriented frameworks , 2011, OOPSLA '11.

[70]  Isil Dillig,et al.  Component-based synthesis of table consolidation and transformation tasks from examples , 2016, PLDI.

[71]  Viktor Kuncak,et al.  Synthesizing Java expressions from free-form queries , 2015, OOPSLA.

[72]  Rastislav Bodík,et al.  Jungloid mining: helping to navigate the API jungle , 2005, PLDI '05.

[73]  Emanuel Kitzelmann,et al.  A Combined Analytical and Search-Based Approach for the Inductive Synthesis of Functional Programs , 2011, KI - Künstliche Intelligenz.

[74]  Sumit Gulwani,et al.  Template-based program verification and program synthesis , 2013, International Journal on Software Tools for Technology Transfer.

[75]  Sumit Gulwani,et al.  Synthesizing geometry constructions , 2011, PLDI '11.

[76]  Keijo Heljanko Using Logic Programs with Stable Model Semantics to Solve Deadlock and Reachability Problems for 1-Safe Petri Nets , 1999, Fundam. Informaticae.

[77]  Ruben Verborgh,et al.  Using OpenRefine , 2013 .

[78]  Kajal T. Claypool,et al.  XSnippet: mining For sample code , 2006, OOPSLA '06.

[79]  Armando Solar-Lezama,et al.  JSketch: sketching for Java , 2015, ESEC/SIGSOFT FSE.

[80]  Giorgio Gallo,et al.  Directed Hypergraphs and Applications , 1993, Discret. Appl. Math..

[81]  Sumit Gulwani,et al.  Synthesizing Number Transformations from Input-Output Examples , 2012, CAV.

[82]  Javier Esparza,et al.  Unfoldings - A Partial-Order Approach to Model Checking , 2008, Monographs in Theoretical Computer Science. An EATCS Series.

[83]  Andreas Stolcke,et al.  SRILM - an extensible language modeling toolkit , 2002, INTERSPEECH.

[84]  Armando Solar-Lezama,et al.  Programming by sketching for bit-streaming programs , 2005, PLDI '05.

[85]  Rajeev Alur,et al.  TRANSIT: specifying protocols with concolic snippets , 2013, PLDI.

[86]  Isil Dillig,et al.  Synthesis of data completion scripts using finite tree automata , 2017, Proc. ACM Program. Lang..

[87]  Sumit Gulwani,et al.  Type-directed completion of partial expressions , 2012, PLDI.

[88]  Aws Albarghouthi,et al.  MapReduce program synthesis , 2016, PLDI.

[89]  Robert K. Brayton,et al.  Partial-Order Reduction in Symbolic State-Space Exploration , 2001, Formal Methods Syst. Des..

[90]  Patrick Fabiani,et al.  Planning with tokens: an approach between satisfaction and optimisation , 2000, PuK.

[91]  Sumit Gulwani,et al.  Component Based Synthesis Applied to Bitvector Circuits , 2010 .

[92]  Eran Yahav,et al.  Code completion with statistical language models , 2014, PLDI.

[93]  Keith H. Randall,et al.  Denali: a goal-directed superoptimizer , 2002, PLDI '02.

[94]  Sumit Gulwani,et al.  Spreadsheet table transformations from examples , 2011, PLDI '11.

[95]  Ruzica Piskac,et al.  Complete functional synthesis , 2010, PLDI '10.

[96]  Sebastian Nowozin,et al.  DeepCoder: Learning to Write Programs , 2016, ICLR.

[97]  J. P. Marques,et al.  GRASP : A Search Algorithm for Propositional Satisfiability , 1999 .

[98]  Isil Dillig,et al.  Program synthesis using abstraction refinement , 2017, Proc. ACM Program. Lang..

[99]  Sumit Gulwani,et al.  FlashExtract: a framework for data extraction by examples , 2014, PLDI.

[100]  Sharad Malik,et al.  Efficient conflict driven learning in a Boolean satisfiability solver , 2001, IEEE/ACM International Conference on Computer Aided Design. ICCAD 2001. IEEE/ACM Digest of Technical Papers (Cat. No.01CH37281).