Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3399871.3399882acmotherconferencesArticle/Chapter ViewAbstractPublication PagesasseConference Proceedingsconference-collections
research-article

Human-Neural Net Collaborative Programming

Published: 03 July 2020 Publication History

Abstract

Current program generation models suffer from the challenges of poor generalization, narrow program coverage and being incompetent to dealing with complex program structures (e.g., branch, loop, recursion.), because these models only get single information input (input-output samples) and rely entirely on neural networks. Obviously, there is ambiguity to reverse program behaviors through input-output pairs alone. Thus, we propose a Human-Neural Net Collaborative Programming (HNCP) paradigm, that integrates the strengths of human's experience and perception with the advantages of neural network's automatic learning from data, in which programmers compose the overall program framework, but let the neural network learn to generate the local trivial dirty detail. The advantages are to seamlessly integrate neural network components as a construction of advanced programming language, and to promote the practical application of program generation. Experiments indicate that our approach is effective and outperforms the state-of-the-art in program generation.

References

[1]
Manna, Zohar, and Richard J. Waldinger. 1971. Toward automatic program synthesis. Communications of the ACM 14.3, 151--165. DOI=https://doi.org/10.1145/362566.362568.
[2]
Scott Reed, and Nando De Freitas. 2015. Neural programmer-interpreters. arXiv preprint arXiv:1511.06279.
[3]
Xiao, Da, Jo-Yu Liao, and Xingyuan Yuan. 2018. Improving the Universality and Learnability of Neural Programmer-Interpreters with Combinator Abstraction. arXiv preprint arXiv:1802.02696.
[4]
Balog, Matej, et al. 2016. Deepcoder: Learning to write programs. arXiv preprint arXiv:1611.01989.
[5]
Koopman, Philip. 1993. A brief introduction to Forth. ACM SIGPLAN Notices. DOI=https://doi.org/10.1145/155360.155395.
[6]
Graves, Alex, Greg Wayne, and Ivo Danihelka. 2014. Neural turing machines. arXiv preprint arXiv:1410.5401.
[7]
Sukhbaatar, Sainbayar, Jason Weston, and Rob Fergus. 2015. End-to-end memory networks. Advances in neural information processing systems, 2440--2448.
[8]
Bošnjak, Matko, et al. 2017. Programming with a differentiable forth interpreter. Proceedings of the 34th International Conference on Machine Learning-Volume 70. JMLR. org, 547--556.
[9]
Joulin, Armand, and Tomas Mikolov. 2015. Inferring algorithmic patterns with stack-augmented recurrent nets. Advances in neural information processing systems, 190--198.
[10]
Nguyen, Anh Tuan, et al. 2016. API code recommendation using statistical learning from fine-grained changes. Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, 511--522. DOI= https://doi.org/10.1145/2950290.2950333.
[11]
Frankle, Jonathan, et al. 2016. Example-directed synthesis: a type-theoretic inter-pretation. ACM SIGPLAN Notices 51.1, 802--815. DOI= https://doi.org/10.1145/2837614.2837629.
[12]
Feser, John K., Swarat Chaudhuri, and Isil Dillig. 2015. Synthesizing data structure transformations from input-output examples. ACM SIGPLAN Notices 50.6, 229--239. DOI= https://doi.org/10.1145/2737924.2737977.
[13]
Polosukhin, Illia, and Alexander Skidanov. 2018. Neural Program Search: Solving Programming Tasks from Description and Examples. arXiv preprint arXiv:1802.04335.
[14]
Dagenais, Barthélémy, and Martin P. Robillard. 2011. Recommending adaptive changes for framework evolution. ACM Transactions on Software Engineering and Methodology (TOSEM) 20.4, 19. DOI=https://doi.org/10.1145/2000799.2000805.
[15]
Devlin, Jacob, et al. 2017. Robustfill: Neural program learning under noisy I/O. arXiv preprint arXiv:1703.07469.
[16]
Nepomniaschy, V. A., Igor S. Anureev, and A. V. Promskii. 2003. Towards verification of C programs: Axiomatic semantics of the C-kernel language. Programming and Computer Software 29.6, 338--350.
[17]
Murali, Vijayaraghavan, et al. 2017. Neural Sketch Learning for Conditional Program Generation. arXiv preprint arXiv:1703.05698.
[18]
Solar-Lezama, Armando, and Rastislav Bodik. 2008. Program synthesis by sketching. Doctoral Thesis. University of California, Berkeley.
[19]
Kogge P M. 1990. The architecture of symbolic computers. McGraw-Hill, Inc.
[20]
Bouchard, Guillaume, Pontus Stenetorp, and Sebastian Riedel. 2016. Learning to generate textual data. Proceedings of the 2016 Conference on Empirical Methods in Natural Language Processing, 1608--1616.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
ASSE '20: Proceedings of the 2020 Asia Service Sciences and Software Engineering Conference
May 2020
163 pages
ISBN:9781450377102
DOI:10.1145/3399871
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

In-Cooperation

  • Nanyang Technological University

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 03 July 2020

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Artificial Intelligence
  2. Collaborative Programming Paradigm
  3. Differentiable Programming Language
  4. Program Generation

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Funding Sources

Conference

ASSE '20

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 47
    Total Downloads
  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 13 Jan 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media