Collective Intelligence for Smarter Neural Program Synthesis

We study the problem of automatically generating source code from different forms of user intents. Existing methods treating this problem as a language generating task of the neural network, known as Neural Program Synthesis (NPS). Most of these methods struggle with achieving high generating accuracy, one reason for that is the incompleteness and inaccuracy of user intents for a specific programming task. Inspired by the Swarm Intelligence (SI) and Collective Intelligence (CI) techniques, we proposed an automatic task-specific user intent merging framework combining both the bio-inspired algorithm in SI and CI merged from multiple developers. Empirically, we show that our approach is able to provide more accurate and adequate input for NPS, and our experiment on CI indicates that knowledge merging among isolated software developers in our approach has a significant influence on NPS.

[1]  C. Cordell Green,et al.  What Is Program Synthesis? , 1985, J. Autom. Reason..

[2]  Barbara Webb,et al.  Swarm Intelligence: From Natural to Artificial Systems , 2002, Connect. Sci..

[3]  Riccardo Poli,et al.  Particle swarm optimization , 1995, Swarm Intelligence.

[4]  Karim R. Lakhani,et al.  TopCoder (A): Developing Software through Crowdsourcing , 2010 .

[5]  Xin-She Yang,et al.  Bat algorithm for multi-objective optimisation , 2011, Int. J. Bio Inspired Comput..

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

[7]  Yudong Zhang,et al.  Artificial Intelligence and Its Applications , 2014 .

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

[9]  Xin-She Yang,et al.  Flower pollination algorithm: A novel approach for multiobjective optimization , 2014, ArXiv.

[10]  Simon Fong,et al.  A heuristic optimization method inspired by wolf preying behavior , 2015, Neural Computing and Applications.

[11]  Cristina V. Lopes,et al.  Collective Intelligence for Smarter API Recommendations in Python , 2016, 2016 IEEE 16th International Working Conference on Source Code Analysis and Manipulation (SCAM).

[12]  Wang Ling,et al.  Latent Predictor Networks for Code Generation , 2016, ACL.

[13]  Dan Klein,et al.  Abstract Syntax Networks for Code Generation and Semantic Parsing , 2017, ACL.

[14]  Pushmeet Kohli,et al.  RobustFill: Neural Program Learning under Noisy I/O , 2017, ICML.

[15]  Dawn Xiaodong Song,et al.  SQLNet: Generating Structured Queries From Natural Language Without Reinforcement Learning , 2017, ArXiv.

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

[17]  Laith Mohammad Abualigah,et al.  Unsupervised text feature selection technique based on hybrid particle swarm optimization algorithm with genetic operators for the text clustering , 2017, The Journal of Supercomputing.

[18]  Sumit Gulwani,et al.  Program Synthesis , 2017, Software Systems Safety.

[19]  Vili Podgorelec,et al.  Swarm Intelligence Algorithms for Feature Selection: A Review , 2018, Applied Sciences.

[20]  Quoc V. Le,et al.  Neural Program Synthesis with Priority Queue Training , 2018, ArXiv.

[21]  Michael D. Ernst,et al.  NL2Bash: A Corpus and Semantic Parser for Natural Language Interface to the Linux Operating System , 2018, LREC.

[22]  Bing Xue,et al.  Particle Swarm Optimization Based Two-Stage Feature Selection in Text Mining , 2018, 2018 IEEE Congress on Evolutionary Computation (CEC).

[23]  Lior Wolf,et al.  Automatic Program Synthesis of Long Programs with a Learned Garbage Collector , 2018, NeurIPS.

[24]  Zhixin Sun,et al.  An Improved Feature Selection Algorithm Based on Ant Colony Optimization , 2018, IEEE Access.

[25]  Marc Brockschmidt,et al.  Learning to Represent Programs with Graphs , 2017, ICLR.

[26]  Swarat Chaudhuri,et al.  Neural Sketch Learning for Conditional Program Generation , 2017, ICLR.

[27]  Matthew J. Hausknecht,et al.  Leveraging Grammar and Reinforcement Learning for Neural Program Synthesis , 2018, ICLR.

[28]  Ladislav Peska,et al.  Swarm intelligence techniques in recommender systems - A review of recent research , 2019, Swarm Evol. Comput..

[29]  Haiyan Zhao,et al.  IntelliMerge: a refactoring-aware software merging technique , 2019, Proc. ACM Program. Lang..

[30]  Percy Liang,et al.  FrAngel: component-based synthesis with control structures , 2018, Proc. ACM Program. Lang..

[31]  Oleksandr Polozov,et al.  Generative Code Modeling with Graphs , 2018, ICLR.

[32]  Said Jadid Abdul Kadir,et al.  Binary Optimization Using Hybrid Grey Wolf Optimization for Feature Selection , 2019, IEEE Access.

[33]  Lili Mou,et al.  A Grammar-Based Structural CNN Decoder for Code Generation , 2018, AAAI.

[34]  Khin Sandar Kyaw,et al.  Traditional and Swarm Intelligent Based Text Feature Selection for Document Classification , 2019, 2019 19th International Symposium on Communications and Information Technologies (ISCIT).

[35]  Foutse Khomh,et al.  Swarm Debugging: the Collective Intelligence on Interactive Debugging , 2019, J. Syst. Softw..

[36]  Akshi Kumar,et al.  A Particle Swarm Optimized Learning Model of Fault Classification in Web-Apps , 2019, IEEE Access.

[37]  Veer Sain Dixit,et al.  Recommendations with context aware framework using particle swarm optimization and unsupervised learning , 2019, J. Intell. Fuzzy Syst..

[38]  Abdorrahman Haeri,et al.  A novel hybrid wrapper–filter approach based on genetic algorithm, particle swarm optimization for feature subset selection , 2019, Journal of Ambient Intelligence and Humanized Computing.