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...

Celý popis

Uložené v:
Podrobná bibliografia
Vydané v:Information processing letters Ročník 154; s. 105866
Hlavní autori: Correia, Alexandre, Iyoda, Juliano, Mota, Alexandre
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