Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PLDI '21論文読み会: Cyclic Program Synthesis

5148cbb852e980b3b3d0e71d579ddbf8?s=47 Idein
June 08, 2022

PLDI '21論文読み会: Cyclic Program Synthesis

5148cbb852e980b3b3d0e71d579ddbf8?s=128

Idein

June 08, 2022
Tweet

More Decks by Idein

Other Decks in Research

Transcript

  1. ୲౰ߐޱ $ZDMJD1SPHSBN4ZOUIFTJT 1-%*ಡΈձ!*EFJO

  2. EFEVDUJWFQSPHSBNTZOUIFTJT ༩͑ΒΕͨ࢓༷Λຬͨ͢ϓϩάϥϜΛࣗಈͰߏ੒͢ΔλεΫ ਖ਼͕͠͞ূ໌͞Ε͍ͯΔ

  3. ݚڀ֓ཁ ࠶ؼతͳิॿؔ਺ΛؚΉIFBQNBOJQVMBUJOHQSPHSBNͷࣗಈੜ੒ w $ZDMJD1SPPGͷٕज़ΛϓϩάϥϜ߹੒ʹԠ༻

  4. എܠ

  5. ϓϩάϥϜͷ࢓༷ 4FQBSBUJPOMPHJD w ϙΠϯλɺࢀরͳͲΛ൐͏ϓϩάϥϜͷঢ়ଶมԽΛදݱͰ͖Δ࿦ཧ w ࠶ؼతͳड़ޠΛ࢖ͬͯɺ༷ʑͳσʔλߏ଄ΛදݱͰ͖Δ

  6. طଘݚڀ4VT-JD 4USVDUVSJOHUIFTZOUIFTJTPGIFBQNBOJQVMBUJOHQSPHSBNT<101-> w 4FQBSBUJPOMPHJDΛ࢓༷ʹ$MJLFͳ࠶ؼؔ਺Λੜ੒ w 4ZOUIFUJD4FQBSBUJPO-PHJD ͱ͍͏ϓϩάϥϜੜ੒༻ͷਪ࿦ମܥΛ࡞੒ SSL ˎϒϥ΢β্ͰࢼͤΔ 


    ɹIUUQDPNDPNDTBJMNJUFEVDPNDPN4V4-JL
  7. طଘݚڀ4VT-JD ͷݶք ิॿؔ਺෇͖ϓϩάϥϜΛੜ੒Ͱ͖ͳ͍ ྫҎԼͷੜ੒͸ࣦഊ͢Δ ˎMJTUBQQFOEΛߦ͏࠶ؼతͳؔ਺͕ඞཁʹͳΔҝ Ұൠతʹɺิॿؔ਺ͷ࢓༷ΛࣗಈͰݟ͚ͭΔͷ͸೉͍͠໰୊ ɹূ໌୳ࡧͷ؍఺Ͱ͸ɺؼೲ๏͕ճΔΑ͏ʹద੾ʹิ୊Λੜ੒͢Δ͜ͱʹରԠ

  8. ఏҊख๏

  9. ఏҊख๏ w DZDMJDQSPPGΛ༻͍ͯ ͱ͍͏ਪ࿦ମܥΛߟҊ w 4VT-J,ͷ Λ֦ு w ্Ͱূ໌Λ୳ࡧ͠ɺϓϩάϥϜΛੜ੒͢Δ w

    ิॿؔ਺෇͖ϓϩάϥϜͷੜ੒͕Մೳʹ SSL↺ SSL SSL↺
  10. $ZDMJDQSPPG "O*OUSPEVDUJPOUP$ZDMJD1SPPGTΑΓ IUUQXXXDTVDMBDVLTUB ff +#SPUIFSTUPOTMJEFT 1"3*4@'-P$@@@QBSUQEG ॥؀Λڐ͢ূ໌ମܥ ূ໌໦ͷ-FBG෦෼ͱผͷOPEF΁ͷzCBDLMJOLz͕࡞ΕΔ w ॥؀ͷ࢓ํʹ͸੍໿Λ՝͢

    ɹɹʮ॥؀ͷதͰূ໌͕lਐΜͰ͍ΔzʯΈ͍ͨͳ੍໿ ˎࣗ༝ʹ॥؀Λڐͤ͹ԿͰ΋ূ໌Ͱ͖ͯ͠·͏ w ূ໌୳ࡧͱͷ૬ੑ͕ྑ͍෦෼͕͋Δ w POEFNBOEʹؼೲ๏͕ճͤΔ
  11. SSL↺ w ͷ֦ு w ҎԼͷ߲̐ؔ܎Λಋग़͢Δূ໌ମܥ SSL Γ; 𝒫 ⇝ 𝒬

    ∣ c ࣄલ৚݅ ࣄޙ৚݅ ม਺؀ڥ ͔ Ͱଋറ ∀ ∃ ϓϩάϥϜ w ྫ  w ߏจৄࡉ ࿦จͷ'JHVSF ∀r, s, x∃y; {r ↦ x * tree(x, s)} ⇝ {r ↦ y * sll(y, s)} ∣ fl BUUFO S
  12. ͷಋग़نଇൈਮ SSL↺ ʹ΋ಉ༷ͳ΋ͷ͋Δ΋ͷ SSL

  13. ͷಋग़نଇൈਮ SSL↺ ಠࣗͷ΋ͷ ؔ਺ݺͼग़͠पΓ ͜Ε͸ؔ਺ݺͼग़͠ͷ४උͷͨΊͷSVMFɹ 8SJUFϧʔϧ͸ Λ௚઀ಋ༷͘ʹ͔͠࢖͑ͳ͍ͷͰඞཁ Q ؔ਺ݺͼग़͠ ࣗମ͕ੜ੒ͷର৅ʹͳ͍ͬͯΔ

    f(¯ x)
  14. USFF'MBUUFOͷಋग़ w    fl BUUFOͷ࠶ؼݺͼग़͠ʹରԠ w  ิॿؔ਺BQQFOE಺ͷ࠶ؼʹରԠ

    w BQQFOE͸ҎԼͷΑ͏ʹൃݟ͞ΕΔ  ೋͭͷ Λͨ͠ޙ B   Λ͞Βʹల։3FBEͨ͠ޙ C   C ͔Β B ΁ͷ$BMM͕ద༻Ͱ͖Δ͜ͱʹؾ෇͘  D ͷ༷ʹQSPDΛૠೖ͠CBDLMJOLΛ࡞Δ flatten() sll(yl, sl )
  15. ؔ਺ݺͼग़͠ͷੜ੒ ީิΛ fi Y͞Ε্ͨͰɺҎԼͷඇܾఆੑ͕͋Δ w ୅ೖ  w ࢒Γύʔτ ͷબ୒

    w TFUVQ෦෼ ͷੜ੒ σ R c1 ީิͱͳΔCBDLMJOLઌ DPNQBOJPO શͯΛࢼ͢
  16. ؔ਺ݺͼग़͠ͷੜ੒ S` Y`͸GSFTIͳ ଋറ͞Εͨม਺ ∃  ͷTVCTFU QSFIFBQ͕࢒ͬͯ΋ྑ͍WFSTJPOͷFNQنଇ Ͱผ్ੜ੒໰୊Λղ͘ SSL↺

    ྫࠨਤͷ  ͷ෦෼ͷੜ੒ ͷಋग़͔Β  FNQنଇͰ࢒ͬͨ෦෼͕  TFUVQϓϩάϥϜ  ͕ಘΒΕΔ ∃ σ R c
  17. ධՁ

  18. ࣮ݧ݁Ռ w ࠶ؼతͳิॿؔ਺෇͖ͷϓϩάϥϜ w ࠨਤͷͱҎ֎ w zDPNQMFYUFSNJOBUJPONFUSJDzΛඞཁͱ ͢Δ΋ͷ w ͱ

    w ૬ޓ࠶ؼతͳϓϩάϥϜ w     w ͱ͕૬ޓ࠶ؼʹͳΔͷ͸ਓؒͷ ײ֮ͱ͸ͣΕΔʣ ༷ʑͳlෳࡶͳzϓϩάϥϜͷੜ੒ʹ੒ޭ
  19. ϕϯνϚʔΫྫMJTUJOQMBDFTPSU

  20. ϕϯνϚʔΫྫMJTUJOQMBDFTPSU ༨ஊTPSUͷఆ͕ٛΑ͘෼͔Βͳ͍ ˣͳͲͰ͸μϝͳͷ͔ 5FDIOJDBMQBQFSͷ"QQFOEJOH$ʹҎԼͷهࡌ

  21. ϕϯνϚʔΫྫVOJRVFMJTUJOUFSTFDUJPO ҎԼͷΑ͏ͳTJNQMFͳ࢓༷Ͱ͸ੜ੒ʹࣦഊ͢Δ ҎԼͷΑ͏ͳFMFNؔ਺͕ੜ੒Ͱ͖Ε͹ྑ͍͕ɺ ख๏ͷݶքΛ௒͑Δ ͜ͷ࣌఺ͰɺZ͸EFTUSVDUͯ͠ΔͷͰYΛSʹՃ͑ͯྑ͍͔஌Δखஈ͕ͳ͍ ҎԼͷΑ͏ʹ୳ࡧ͸͢Δ͕ɺɺ

  22. ϕϯνϚʔΫྫVOJRVFMJTUJOUFSTFDUJPO ZΛEFTUSVDU͠ͳ͍Α͏QPTUDPOEJUJPOʹڧΊΕ͹੒ޭ͢Δ ͕ɺҎԼͷΑ͏ͳzී௨ͷz࣮૷͸ੜ੒͞Εͳ͍ʢͰ͖ͳ͍ʣ ͜͜Ͱิॿؔ਺ͷ࢓༷ͷQSFDPOEJUJPOͷ৚݅Λ؇ΊΔඞཁ͕͋ΓɺఏҊख๏Ͱ͸Ͱ͖ͳ͍ ୅ΘΓʹɺzී௨ͱ͸ఔԕ͍zϓϩάϥϜ͕ੜ੒͞ΕΔ ஶऀୡͰ͢ΒผͷϓϩάϥϜݕূػΛ࢖ͬͯਖ਼͠͞Λ͔֬ΊΔఔ

  23. MJNJUBUJPO w ੜ੒Ͱ͖Δิॿؔ਺ʹ੍ݶ͋Γ w ৽ͨͳEBUBߏ଄Λ࢖͏΋ͷ΍ɺBDDVNVMBUPSͳͲ௥ՃҾ਺Λ࢖͏Α͏ͳ΋ͷ͸ੜ ੒Ͱ͖ͳ͍ w ิॿؔ਺ͷ࢓༷Λద੾ʹzҰൠԽzͰ͖ͳ͍ʢJOUFSTFDUͷྫʹ༷͋ͬͨʹʣ w ੜ੒ίʔυͷύϑΥʔϚϯε͸อূ͞Εͳ͍

    w MPPQͷαϙʔτ͕ͳ͍ w ຤ඌ࠶ؼΛੜ੒͢Δ࢓૊ΈΛ࡞Ε͹ྑ͍͕ɺద੾ͳBDDVNVMBUPSΛੜ੒͢Δඞཁ͕ ͋Δͷ͕೉͍͠
  24. ·ͱΊ w ࠶ؼతͳิॿؔ਺ΛؚΉIFBQNBOJQVMBUJOHQSPHSBNͷࣗಈੜ੒ w $ZDMJD1SPPGͷٕज़ΛϓϩάϥϜ߹੒ʹԠ༻ w ϓϩάϥϜ߹੒πʔϧʢ$ZQSFTTʣΛ࣮૷ w ૬ޓ࠶ؼؚΉิॿؔ਺෇͖ϓϩάϥϜͷੜ੒ʹ੒ޭ