Combining model finder and genetic programming into a general purpose automatic program synthesizer
•PSMF2 is a new general purpose automatic program synthesizer that combines model checking and genetic programming.•PSMF2 introduces soft sketches as user intent.•PSMF2 uses Input/Output examples, with or without soft sketches.•PSMF2 has synthesized seven well-known programs used by many benchmarks...
Uložené v:
| Vydané v: | Information processing letters Ročník 154; s. 105866 |
|---|---|
| Hlavní autori: | , , |
| Médium: | Journal Article |
| Jazyk: | English |
| Vydavateľské údaje: |
Elsevier B.V
01.02.2020
|
| Predmet: | |
| ISSN: | 0020-0190, 1872-6119 |
| On-line prístup: | Získať plný text |
| Tagy: |
Pridať tag
Žiadne tagy, Buďte prvý, kto otaguje tento záznam!
|
| Abstract | •PSMF2 is a new general purpose automatic program synthesizer that combines model checking and genetic programming.•PSMF2 introduces soft sketches as user intent.•PSMF2 uses Input/Output examples, with or without soft sketches.•PSMF2 has synthesized seven well-known programs used by many benchmarks in program synthesis.
Program synthesis aims to mechanize the task of programming from the user intent (expressed in various forms like pre/post conditions, examples, sketches, etc). There are many approaches to program synthesis that are usually implemented in isolation: deductive, syntax-based, inductive, etc. In this paper, we describe PSMF2, a program synthesizer that combines model finder and genetic programming. PSMF2 takes as user intent examples and a soft sketch: a new kind of user intent defined as a set of commands that must appear in the synthesized program (and that are in no particular order of execution). The output of PSMF2 is a general purpose imperative program. The combination of inductive synthesis and genetic programming has allowed PSMF2 to synthesize 7 programs (IntSQRT, Majority of 5, Majority of 8, Max of 4, Modulo, Factorial, and Fibonacci) found in the SyGuS competition, the iJava and IntroClass, and the Genetic programming communities. We carried out an empirical evaluation on the synthesis time of these 7 programs and the mean time varied from 56.4 seconds (Majority of 5) to 15.9 minutes (Fibonacci). |
|---|---|
| AbstractList | •PSMF2 is a new general purpose automatic program synthesizer that combines model checking and genetic programming.•PSMF2 introduces soft sketches as user intent.•PSMF2 uses Input/Output examples, with or without soft sketches.•PSMF2 has synthesized seven well-known programs used by many benchmarks in program synthesis.
Program synthesis aims to mechanize the task of programming from the user intent (expressed in various forms like pre/post conditions, examples, sketches, etc). There are many approaches to program synthesis that are usually implemented in isolation: deductive, syntax-based, inductive, etc. In this paper, we describe PSMF2, a program synthesizer that combines model finder and genetic programming. PSMF2 takes as user intent examples and a soft sketch: a new kind of user intent defined as a set of commands that must appear in the synthesized program (and that are in no particular order of execution). The output of PSMF2 is a general purpose imperative program. The combination of inductive synthesis and genetic programming has allowed PSMF2 to synthesize 7 programs (IntSQRT, Majority of 5, Majority of 8, Max of 4, Modulo, Factorial, and Fibonacci) found in the SyGuS competition, the iJava and IntroClass, and the Genetic programming communities. We carried out an empirical evaluation on the synthesis time of these 7 programs and the mean time varied from 56.4 seconds (Majority of 5) to 15.9 minutes (Fibonacci). |
| ArticleNumber | 105866 |
| Author | Mota, Alexandre Correia, Alexandre Iyoda, Juliano |
| Author_xml | – sequence: 1 givenname: Alexandre surname: Correia fullname: Correia, Alexandre email: alexandre.correia@ifsertao-pe.edu.br organization: Instituto Federal do Sertão Pernambucano, 56.320-302, Petrolina, PE, Brazil – sequence: 2 givenname: Juliano surname: Iyoda fullname: Iyoda, Juliano organization: Centro de Informática, Universidade Federal de Pernambuco, 50.740-560, Recife, PE, Brazil – sequence: 3 givenname: Alexandre surname: Mota fullname: Mota, Alexandre organization: Centro de Informática, Universidade Federal de Pernambuco, 50.740-560, Recife, PE, Brazil |
| BookMark | eNp9kE1LAzEQhoNUsFZ_gLf8ga2T_Uh28STFLyh40XPIJpOaspssyVaov96t9SAeehqG930G5rkkMx88EnLDYMmA8dvt0g3dMgfWTHtVc35G5qwWecYZa2ZkDpBDNqVwQS5T2gIALwsxJ3oV-tZ55ze0DwY7ap03GKnyhm7Q4-g0HWLYRNX3h5LzY6DqJ4qqo8MuDiEhVbsx9OpPmaa9Hz8wuS-MV-Tcqi7h9e9ckPfHh7fVc7Z-fXpZ3a8znTdizBCKprW5KBjmqqi44YprUaNhlQbFdFkqAYUxZQvKomnRalsVtYJa1EKALRaEHe_qGFKKaOUQXa_iXjKQB0tyKydL8mBJHi1NjPjHaDdOjwQ_RuW6k-TdkcTppU-HUSbt0Gs0LqIepQnuBP0NiUiG2w |
| CitedBy_id | crossref_primary_10_3390_info16050401 crossref_primary_10_1002_spe_3286 crossref_primary_10_1016_j_asoc_2023_110427 crossref_primary_10_1109_TEVC_2022_3162324 crossref_primary_10_1016_j_scico_2020_102536 |
| Cites_doi | 10.1145/362566.362568 10.1016/j.ipl.2016.06.003 10.1007/s10710-012-9177-2 |
| ContentType | Journal Article |
| Copyright | 2019 Elsevier B.V. |
| Copyright_xml | – notice: 2019 Elsevier B.V. |
| DBID | AAYXX CITATION |
| DOI | 10.1016/j.ipl.2019.105866 |
| DatabaseName | CrossRef |
| DatabaseTitle | CrossRef |
| DatabaseTitleList | |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| EISSN | 1872-6119 |
| ExternalDocumentID | 10_1016_j_ipl_2019_105866 S0020019019301498 |
| GroupedDBID | --K --M -~X .DC .~1 0R~ 1B1 1RT 1~. 1~5 29I 4.4 457 4G. 5GY 5VS 7-5 71M 8P~ 9JN AACTN AAEDT AAEDW AAIAV AAIKJ AAKOC AALRI AAOAW AAQFI AAQXK AAXUO AAYFN ABBOA ABEFU ABFNM ABFSI ABJNI ABMAC ABTAH ABXDB ABYKQ ACDAQ ACGFS ACNNM ACRLP ACZNC ADBBV ADEZE ADJOM ADMUD AEBSH AEKER AENEX AFKWA AFTJW AGHFR AGUBO AGYEJ AHHHB AHZHX AIALX AIEXJ AIKHN AITUG AJBFU AJOXV ALMA_UNASSIGNED_HOLDINGS AMFUW AMRAJ AOUOD ASPBG AVWKF AXJTR AZFZN BKOJK BKOMP BLXMC CS3 DU5 E.L EBS EFJIC EFLBG EJD EO8 EO9 EP2 EP3 F5P FDB FEDTE FGOYB FIRID FNPLU FYGXN G-2 G-Q G8K GBLVA GBOLZ HLZ HMJ HVGLF HZ~ IHE J1W KOM LG9 M26 M41 MO0 MS~ O-L O9- OAUVE OZT P-8 P-9 P2P PC. PQQKQ Q38 R2- RIG ROL RPZ SBC SDF SDG SDP SES SEW SME SPC SPCBC SSV SSZ T5K TN5 UQL WH7 WUQ XPP ZMT ZY4 ~G- 9DU AATTM AAXKI AAYWO AAYXX ABDPE ABWVN ACLOT ACRPL ACVFH ADCNI ADNMO AEIPS AEUPX AFJKZ AFPUW AGQPQ AIGII AIIUN AKBMS AKRWK AKYEP ANKPU APXCP CITATION EFKBS ~HD |
| ID | FETCH-LOGICAL-c297t-e039bf2731e2a356d6a6c78ed15c0a1c44a703dd4b0afedbefcf538a0878770f3 |
| ISICitedReferencesCount | 7 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000501642800004&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| ISSN | 0020-0190 |
| IngestDate | Tue Nov 18 22:09:45 EST 2025 Sat Nov 29 07:28:25 EST 2025 Fri Feb 23 02:16:27 EST 2024 |
| IsPeerReviewed | true |
| IsScholarly | true |
| Keywords | Genetic algorithm Program synthesis Alloy Genetic programming Programming languages |
| Language | English |
| LinkModel | OpenURL |
| MergedId | FETCHMERGED-LOGICAL-c297t-e039bf2731e2a356d6a6c78ed15c0a1c44a703dd4b0afedbefcf538a0878770f3 |
| ParticipantIDs | crossref_primary_10_1016_j_ipl_2019_105866 crossref_citationtrail_10_1016_j_ipl_2019_105866 elsevier_sciencedirect_doi_10_1016_j_ipl_2019_105866 |
| PublicationCentury | 2000 |
| PublicationDate | February 2020 2020-02-00 |
| PublicationDateYYYYMMDD | 2020-02-01 |
| PublicationDate_xml | – month: 02 year: 2020 text: February 2020 |
| PublicationDecade | 2020 |
| PublicationTitle | Information processing letters |
| PublicationYear | 2020 |
| Publisher | Elsevier B.V |
| Publisher_xml | – name: Elsevier B.V |
| References | Manna, Waldinger (br0040) March 1971; 14 Milicevic, Near, Kang, Jackson (br0090) 2015 Albarghouthi, Gulwani, Kincaid (br0210) 2013 White, McDermott, Castelli, Manzoni, Goldman, Kronberger, Jaśkowski, O'Reilly, Luke (br0190) March 2013; 14 Torlak, Bodik (br0170) 2013 Becker, Gottschlich (br0070) 2017 Krawiec (br0150) 2016; vol. 618 Poli, Langdon, Freitag McPhee (br0060) 2008 Polozov, Gulwani (br0030) 2015; vol. 50 Srivastava, Gulwani, Foster (br0010) 2010 Mota, Iyoda, Maranhão (br0080) November 2016; 116 Gulwani (br0050) 2010 Srivastava (br0160) 2010 Solar-Lezama, Tancau, Bodik, Seshia, Saraswat (br0120) 2006 Cha (br0140) 2007; 1 Parisotto, Mohamed, Singh, Li, Zhou, Kohli (br0180) 2016 Winskel (br0110) 1993 Alur, Bodik, Juniwal, Martin, Raghothaman, Seshia, Singh, Solar-Lezama, Torlak, Udupa (br0130) 2013 Basin, Deville, Flener, Hamfelt, Fischer Nilsson (br0020) 2004 Alur, Fisman, Singh, Solar-Lezama (br0200) 2017 Clarke, Klieber, Nováček, Zuliani (br0100) 2011 Milicevic (10.1016/j.ipl.2019.105866_br0090) 2015 Becker (10.1016/j.ipl.2019.105866_br0070) Krawiec (10.1016/j.ipl.2019.105866_br0150) 2016; vol. 618 Alur (10.1016/j.ipl.2019.105866_br0130) 2013 Gulwani (10.1016/j.ipl.2019.105866_br0050) 2010 White (10.1016/j.ipl.2019.105866_br0190) 2013; 14 Solar-Lezama (10.1016/j.ipl.2019.105866_br0120) 2006 Clarke (10.1016/j.ipl.2019.105866_br0100) 2011 Winskel (10.1016/j.ipl.2019.105866_br0110) 1993 Srivastava (10.1016/j.ipl.2019.105866_br0160) 2010 Polozov (10.1016/j.ipl.2019.105866_br0030) 2015; vol. 50 Mota (10.1016/j.ipl.2019.105866_br0080) 2016; 116 Basin (10.1016/j.ipl.2019.105866_br0020) 2004 Poli (10.1016/j.ipl.2019.105866_br0060) 2008 Srivastava (10.1016/j.ipl.2019.105866_br0010) 2010 Manna (10.1016/j.ipl.2019.105866_br0040) 1971; 14 Cha (10.1016/j.ipl.2019.105866_br0140) 2007; 1 Parisotto (10.1016/j.ipl.2019.105866_br0180) Torlak (10.1016/j.ipl.2019.105866_br0170) 2013 Alur (10.1016/j.ipl.2019.105866_br0200) Albarghouthi (10.1016/j.ipl.2019.105866_br0210) 2013 |
| References_xml | – start-page: 1 year: 2013 end-page: 8 ident: br0130 article-title: Syntax-guided synthesis publication-title: 2013 Formal Methods in Computer-Aided Design – start-page: 934 year: 2013 end-page: 950 ident: br0210 article-title: Recursive program synthesis publication-title: Computer Aided Verification – volume: vol. 50 start-page: 107 year: 2015 end-page: 126 ident: br0030 article-title: Flashmeta: A Framework for Inductive Program Synthesis publication-title: ACM SIGPLAN Notices – start-page: 30 year: 2004 end-page: 65 ident: br0020 article-title: Synthesis of programs in computational logic publication-title: Program Development in Computational Logic – year: 1993 ident: br0110 article-title: The Formal Semantics of Programming Languages: An Introduction – volume: 14 start-page: 3 year: March 2013 end-page: 29 ident: br0190 article-title: Better gp benchmarks: community survey results and proposals publication-title: Genet. Program. Evol. Mach. – volume: 14 start-page: 151 year: March 1971 end-page: 165 ident: br0040 article-title: Toward automatic program synthesis publication-title: Commun. ACM – volume: 1 start-page: 300 year: 2007 end-page: 307 ident: br0140 article-title: Comprehensive survey on distance/similarity measures between probability density functions publication-title: Int. J. Math. Models Methods Appl. Sci. – start-page: 13 year: 2010 end-page: 24 ident: br0050 article-title: Dimensions in program synthesis publication-title: Proceedings of the 12th International ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming – start-page: 609 year: 2015 end-page: 619 ident: br0090 article-title: Alloy*: a general-purpose higher-order relational constraint solver publication-title: Proceedings of the 37th International Conference on Software Engineering - vol. 1 – start-page: 404 year: 2006 end-page: 415 ident: br0120 article-title: Combinatorial sketching for finite programs publication-title: Proceedings of the 12th International Conference on Architectural Support for Programming Languages and Operating Systems – start-page: 313 year: 2010 end-page: 326 ident: br0010 article-title: From program verification to program synthesis publication-title: Proceedings of the 37th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages – year: 2017 ident: br0200 article-title: Sygus-comp 2017: results and analysis – year: 2010 ident: br0160 article-title: Satisfiability-Based Program Reasoning and Program Synthesis – volume: 116 start-page: 701 year: November 2016 end-page: 705 ident: br0080 article-title: Program synthesis by model finding publication-title: Inf. Process. Lett. – year: 2008 ident: br0060 article-title: A Field Guide to Genetic Programming – start-page: 1 year: 2011 end-page: 30 ident: br0100 article-title: Model checking and the state explosion problem publication-title: LASER Summer School on Software Engineering – year: 2016 ident: br0180 article-title: Neuro-symbolic program synthesis – year: 2017 ident: br0070 article-title: AI programmer: autonomously creating software programs using genetic algorithms – volume: vol. 618 year: 2016 ident: br0150 article-title: Behavioral Program Synthesis with Genetic Programming publication-title: Studies in Computational Intelligence – start-page: 135 year: 2013 end-page: 152 ident: br0170 article-title: Growing solver-aided languages with rosette publication-title: Proceedings of the 2013 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming & Software, Onward! 2013 – start-page: 135 year: 2013 ident: 10.1016/j.ipl.2019.105866_br0170 article-title: Growing solver-aided languages with rosette – start-page: 13 year: 2010 ident: 10.1016/j.ipl.2019.105866_br0050 article-title: Dimensions in program synthesis – year: 1993 ident: 10.1016/j.ipl.2019.105866_br0110 – volume: 14 start-page: 151 issue: 3 year: 1971 ident: 10.1016/j.ipl.2019.105866_br0040 article-title: Toward automatic program synthesis publication-title: Commun. ACM doi: 10.1145/362566.362568 – year: 2008 ident: 10.1016/j.ipl.2019.105866_br0060 – start-page: 30 year: 2004 ident: 10.1016/j.ipl.2019.105866_br0020 article-title: Synthesis of programs in computational logic – ident: 10.1016/j.ipl.2019.105866_br0070 – volume: vol. 50 start-page: 107 year: 2015 ident: 10.1016/j.ipl.2019.105866_br0030 article-title: Flashmeta: A Framework for Inductive Program Synthesis – start-page: 1 year: 2013 ident: 10.1016/j.ipl.2019.105866_br0130 article-title: Syntax-guided synthesis – volume: 116 start-page: 701 issue: 11 year: 2016 ident: 10.1016/j.ipl.2019.105866_br0080 article-title: Program synthesis by model finding publication-title: Inf. Process. Lett. doi: 10.1016/j.ipl.2016.06.003 – volume: vol. 618 year: 2016 ident: 10.1016/j.ipl.2019.105866_br0150 article-title: Behavioral Program Synthesis with Genetic Programming – ident: 10.1016/j.ipl.2019.105866_br0180 – start-page: 609 year: 2015 ident: 10.1016/j.ipl.2019.105866_br0090 article-title: Alloy*: a general-purpose higher-order relational constraint solver – start-page: 1 year: 2011 ident: 10.1016/j.ipl.2019.105866_br0100 article-title: Model checking and the state explosion problem – year: 2010 ident: 10.1016/j.ipl.2019.105866_br0160 – start-page: 404 year: 2006 ident: 10.1016/j.ipl.2019.105866_br0120 article-title: Combinatorial sketching for finite programs – ident: 10.1016/j.ipl.2019.105866_br0200 – volume: 14 start-page: 3 issue: 1 year: 2013 ident: 10.1016/j.ipl.2019.105866_br0190 article-title: Better gp benchmarks: community survey results and proposals publication-title: Genet. Program. Evol. Mach. doi: 10.1007/s10710-012-9177-2 – start-page: 313 year: 2010 ident: 10.1016/j.ipl.2019.105866_br0010 article-title: From program verification to program synthesis – volume: 1 start-page: 300 issue: 4 year: 2007 ident: 10.1016/j.ipl.2019.105866_br0140 article-title: Comprehensive survey on distance/similarity measures between probability density functions publication-title: Int. J. Math. Models Methods Appl. Sci. – start-page: 934 year: 2013 ident: 10.1016/j.ipl.2019.105866_br0210 article-title: Recursive program synthesis |
| SSID | ssj0006437 |
| Score | 2.2767751 |
| Snippet | •PSMF2 is a new general purpose automatic program synthesizer that combines model checking and genetic programming.•PSMF2 introduces soft sketches as user... |
| SourceID | crossref elsevier |
| SourceType | Enrichment Source Index Database Publisher |
| StartPage | 105866 |
| SubjectTerms | Alloy Genetic algorithm Genetic programming Program synthesis Programming languages |
| Title | Combining model finder and genetic programming into a general purpose automatic program synthesizer |
| URI | https://dx.doi.org/10.1016/j.ipl.2019.105866 |
| Volume | 154 |
| WOSCitedRecordID | wos000501642800004&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| journalDatabaseRights | – providerCode: PRVESC databaseName: Elsevier SD Freedom Collection Journals 2021 customDbUrl: eissn: 1872-6119 dateEnd: 99991231 omitProxy: false ssIdentifier: ssj0006437 issn: 0020-0190 databaseCode: AIEXJ dateStart: 19950113 isFulltext: true titleUrlDefault: https://www.sciencedirect.com providerName: Elsevier |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV1JS8QwFA5uBy_u4riRgyel0k6bpj0OoqiIeFCYW0mTFGbQtsxUUX-9L80y44oevJTSSTIl7-vLl-R7eQgd8DASTEXjdCmPPRhvCy9PZeBJ4KZUEgKzsTZryRW9vk76_fTGrOmO23QCtCyT5-e0_ldTwzMwtgqd_YO5XaPwAO7B6HAFs8P1V4aHLzxvsz7oLDdHaldaaqUk1FExi1aU9aDjWYB9svYnFatfQ8crCTt7bCp9mqsprM42ALI4HrwaPe_QauBd_ONRraMOVLP3bZiQI-wnKgmI1uWakJqJ6PbipRLMxmqzsnIYqJovKpgVCpiO-k7tYSMGlPhNpwV1XpdEU34TWF6is698cul6dWF4PKjVTlGQHk_Kvj8--8Ow5sSGVsc2zKCJTDWR6SZm0XyXkhTc-Xzv4rR_6UZwtZmppUH6ve1ueKsL_PAeX_OZKY5yu4KWzOQC9zQoVtGMLNfQsk3cgY0fX0fcYQS3GMEaIxh6GRuM4CmMYIURzLDBCDYYwQ4jtjCewsgGujs7vT0590y2DY93U9p40g_TvAA2G8guC0ksYhZzmkgREO6zgEcRg9FBiCj3WSFFLgtewGjJ_AR8PvWLcBPNlVUptxAmPExySogQhYzARyRcchkmipwWIuZ5B_m2zzJujqJXGVHus29t1UGHrkqtz2H5qXBkDZEZIqkJYgag-r7a9l_-YwctTrC-i-aa0aPcQwv8qRmMR_sGUW-JWplH |
| linkProvider | Elsevier |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Combining+model+finder+and+genetic+programming+into+a+general+purpose+automatic+program+synthesizer&rft.jtitle=Information+processing+letters&rft.au=Correia%2C+Alexandre&rft.au=Iyoda%2C+Juliano&rft.au=Mota%2C+Alexandre&rft.date=2020-02-01&rft.issn=0020-0190&rft.volume=154&rft.spage=105866&rft_id=info:doi/10.1016%2Fj.ipl.2019.105866&rft.externalDBID=n%2Fa&rft.externalDocID=10_1016_j_ipl_2019_105866 |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0020-0190&client=summon |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0020-0190&client=summon |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0020-0190&client=summon |