skip to main content
review-article
Free Access

Search-based program synthesis

Published:20 November 2018Publication History
Skip Abstract Section

Abstract

A promising, useful tool for future programming development environments.

References

  1. Akiba, T., Imajo, K., Iwami, H., Iwata, Y., Kataoka, T., Takahashi, N., Mmoskal, M., Swamy, N. Calibrating research in program synthesis using 72,000 hours of programmer time. Technical Report, MSR, 2013.Google ScholarGoogle Scholar
  2. Alur, R., Bodík, R., Juniwal, G., Martin, M.M.K., Raghothaman, M., Seshia, S.A., Singh, R., Solar-Lezama, A., Torlak, E., Udupa, A. Syntax-guided synthesis. In Proc. FMCAD, 2013, 1--17.Google ScholarGoogle Scholar
  3. Alur, R., Radhakrishna, A., Udupa, A. Scaling enumerative program synthesis via divide and conquer. In Proc. TACAS, LNCS 10205, 2017, 319--336.Google ScholarGoogle Scholar
  4. Clarke, E., Grumberg, O., Peled, D. Model Checking. MIT Press, 2000.Google ScholarGoogle Scholar
  5. de Moura, L., Bjørner, N. Satisfiability Modulo Theories: Introduction and applications. Commun. ACM 54, 9 (2011), 69--77. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Devlin, J., Uesato, J., Bhupatiraju, S., Singh, R., Mohamed, A., Kohli, P. Robustfill: Neural program learning under noisy I/O. In Proc. ICML, 2017, 990--998.Google ScholarGoogle Scholar
  7. Eldib, H., Wu, M., Wang, C. Synthesis of fault-attack countermeasures for cryptographic circuits. In Proc. CAV, LNCS 9780, 2016, 343--363.Google ScholarGoogle Scholar
  8. Garg, P., Löding, C., Madhusudan, P., Neider, D. ICE: A robust framework for learning invariants. In Proc. CAV, LNCS 8559, 2014, 69--87. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Ghalaty, N., Aysu, A., Schaumont, P. Analyzing and eliminating the causes of fault sensitivity analysis. In Proc. DATE, 2014, 1--6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Gulwani, S. Automating string processing in spreadsheets using input--output examples. In Proc. POPL, 2011, 317--330. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Gulwani, S., Harris, W.R., Singh, R. Spreadsheet data manipulation using examples. Commun. ACM, 55, 8 (2012), 97--105. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Gulwani, S., Jha, S., Tiwari, A., Venkatesan, R. Synthesis of loop-free programs. In Proc. PLDI, 2011, 62--73. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Jha, S., Gulwani, S., Seshia, S.A., Tiwari, A. Oracle-guided component-based program synthesis. In Proc. ICSE, 2010, 215--224. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Kuncak, V., Mayer, M., Piskac, R., Suter, P. Software synthesis procedures. Commun. ACM, 55, 2. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Le, X.D., Chu, D., Lo, D., Le Goues, C., Visser, W. S3: Syntax- and semantic-guided repair synthesis via programming by examples. In Proc. FSE, 2017, 593--604. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Malik, S., Zhang, L. Boolean satisfiability: From theoretical hardness to practical success. Commun. ACM, 52, 8 (2009), 76--82. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Manna, Z., Waldinger, R. Fundamentals of deductive program synthesis. IEEE Trans. Softw. Eng. 18, 8 (1992), 674--704. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Massalin, H. Superoptimizer -- A look at the smallest program. In Proc. ASPLOS, 1987, 122--126. Google ScholarGoogle ScholarCross RefCross Ref
  19. Mechtaev, S., Yi, J., Roychoudhury, A. Angelix: Scalable multiline program patch synthesis via symbolic analysis. In Proc. ICSE, 2016, 691--701. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Mitchell, T. Machine Learning. McGraw-Hill, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Osera, P., Zdancewic, S. Type-and-example-directed program synthesis. In Proc. PLDI, 2015, 619--630. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Polikarpova, N., Kuraj, I., Solar-Lezama, A. Program synthesis from polymorphic refinement types. In Proc. PLDI, 2016, 522--538. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Quinlan, J. Introduction to decision trees. Mach. Learn. 1, 1 (1986), 81--106. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Raychev, V., Vechev, M.T., Yahav, E. Code completion with statistical language models. In Proc. PLDI, 2014, 419--428. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Reynolds, A., Deters, M., Kuncak, V., Tinelli, C., Barrett, C.W. Counterexample-guided quantifier instantiation for synthesis in SMT. In Proc. CAV, 2015, 198--216.Google ScholarGoogle Scholar
  26. Schkufza, E., Sharma, R., Aiken, A. Stochastic program optimization. Commun. ACM 59, 2 (2016), 114--122. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Seshia, S.A. Combining induction, deduction, and structure for verification and synthesis. Proc. IEEE 103, 11 (2015), 2036--2051.Google ScholarGoogle ScholarCross RefCross Ref
  28. Solar-Lezama, A. Program sketching. STTT 15, 5--6 (2013), 475--495. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Solar-Lezama, A., Rabbah, R., Bodík, R., Ebcioglu, K. Programming by sketching for bit-streaming programs. In Proc. PLDI, 2005, 281--294. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Srivastava, S., Gulwani, S., Foster, J.S. Template-based program verification and program synthesis. STTT 15, 5--6 (2013), 497--518. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Stump, A., Sutcliffe, G., Tinelli, C. Starexec: A cross-community infrastructure for logic solving. In Proc. IJCAR, 2014, 367--373.Google ScholarGoogle Scholar
  32. Udupa, A., Raghavan, A., Deshmukh, J., Mador-Haim, S., Martin, M., Alur, R. TRANSIT: Specifying protocols with concolic snippets. In Proc. PLDI, 2013, 287--296. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Warren, H.S. Hacker's Delight. Addison-Wesley, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Search-based program synthesis

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image Communications of the ACM
          Communications of the ACM  Volume 61, Issue 12
          December 2018
          104 pages
          ISSN:0001-0782
          EISSN:1557-7317
          DOI:10.1145/3293542
          Issue’s Table of Contents

          Copyright © 2018 ACM

          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]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 20 November 2018

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • review-article
          • Popular
          • Refereed

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader

        HTML Format

        View this article in HTML Format .

        View HTML Format