Pro Yearly is on sale from $80 to $50! »

gotestsから学ぶテストコード自動生成のメカニズム / Automatic generation mechanism learned from gotests

7867fe52a9be4257508a516d4df61578?s=47 tkmnzm
October 28, 2019

gotestsから学ぶテストコード自動生成のメカニズム / Automatic generation mechanism learned from gotests

7867fe52a9be4257508a516d4df61578?s=128

tkmnzm

October 28, 2019
Tweet

Transcript

  1. HPUFTUT͔ΒֶͿ
 ςετίʔυࣗಈੜ੒ͷ ϝΧχζϜ

  2. ࣗݾ঺հ w /P[PNJ5BLVNB w %F/" 48&5άϧʔϓ w "VUPNBUJPO5FTUνʔϜ "OESPJE 

    (P
  3. (PBM HPUFTUTͱ͍͏ϥΠϒϥϦΛ୊ࡐʹ
 ςετίʔυࣗಈੜ੒ͷϝΧχζϜ Λ஌Δ͜ͱͰɺࣗಈੜ੒πʔϧͷ։ ൃ΍ΧελϚΠζΛ͢Δ࣌ͷώϯτ ʹͳΕ͹ͱͯ΋خ͍͠

  4. HPUFTUT w IUUQTHJUIVCDPNDXFJMMHPUFTUT w ؔ਺ͷύϥϝʔλ΍໭Γ஋ͷܕʹ
 ߹ΘͤͯςʔϒϧۦಈςετΛࣗಈੜ੒
 ͯ͘͠ΕΔ

  5. HPUFTUTFYBNQMF GVOD'FFE$BU DPVOUJOU TUSJOH\ JGDPVOU\ SFUVSO ^ SFUVSO.FX ^ ͜ͷ࣮૷ίʔυʹରͯ͠


    HPUFTUTΛ࣮ߦ͢Δͱʜ
  6. GVOD5FTU'FFE$BU U UFTUJOH5 \ UZQFBSHTTUSVDU\ DPVOUJOU ^ UFTUT<>TUSVDU\ OBNFTUSJOH BSHTBSHT

    XBOUTUSJOH ^\ 50%0"EEUFTUDBTFT ^ GPS@ UUSBOHFUFTUT\ U3VO UUOBNF GVOD U UFTUJOH5 \ JGHPU'FFE$BU UUBSHTBSH HPUUUXBOU\ U&SSPSG 'FFE$BU W XBOUW HPU UUXBOU  ^ ^  ^ ^ ςʔϒϧۦಈςετ͕ੜ੒͞Εͨʂ
  7. GVOD5FTU'FFE$BU U UFTUJOH5 \ UZQFBSHTTUSVDU\ DPVOUJOU ^ UFTUT<>TUSVDU\ OBNFTUSJOH BSHTBSHT

    XBOUTUSJOH ^\ 50%0"EEUFTUDBTFT ^ GPS@ UUSBOHFUFTUT\ U3VO UUOBNF GVOD U UFTUJOH5 \ JGHPU'FFE$BU UUBSHTBSH HPUUUXBOU\ U&SSPSG 'FFE$BU W XBOUW HPU UUXBOU  ^ ^  ^ ^ Ҿ਺ͷܕʹ͋ͬͨ ςετύϥϝʔλ͕ઃఆͰ͖Δ
  8. GVOD5FTU'FFE$BU U UFTUJOH5 \ UZQFBSHTTUSVDU\ DPVOUJOU ^ UFTUT<>TUSVDU\ OBNFTUSJOH BSHTBSHT

    XBOUTUSJOH ^\ 50%0"EEUFTUDBTFT ^ GPS@ UUSBOHFUFTUT\ U3VO UUOBNF GVOD U UFTUJOH5 \ JGHPU'FFE$BU UUBSHTBSH HPUUUXBOU\ U&SSPSG 'FFE$BU W XBOUW HPU UUXBOU  ^ ^  ^ ^ ໭Γ஋ͷܕʹ͋ͬͨ ظ଴஋͕ઃఆͰ͖Δ
  9. HPUFTUTͷ͍͍ͳͱࢥ͏ͱ͜Ζ w (Pʹ׳Ε͍ͯͳ͍ਓͰ΋αοͱ
 ςʔϒϧۦಈςετΛॻ͖࢝ΊΔ
 ͜ͱ͕Ͱ͖Δ w ςʔϒϧͷύϥϝʔλҎ֎ͷίʔυ ͕ࣗಈੜ੒͞ΕΔ͜ͱͰɺςετ έʔεΛͲ͏͢Δ͔ߟ͑Δ͜ͱʹू தͰ͖Δ

  10. HPUFTUTͷݶք w HPUFTUTͷੜ੒͢Δςετίʔυ͸
 ൚༻త w ϓϩδΣΫτʹϚονͨ͠΋ͷʹͳ ΔΑ͏ɺੜ੒ͨ͠ίʔυΛΆͪΆͪ ख௚ͨ͠͠Γ

  11. HPUFTUTͷݶք ͲͷΑ͏ʹςετίʔυ͕ੜ੒͞ΕΔ͔Λཧղ͢Ε͹ɺ
 ࣗ෼͕ٻΊΔςετίʔυΛੜ੒͢ΔΑ͏ʹ
 ΧελϚΠζͰ͖ΔͷͰ͸ʁ w HPUFTUTͷੜ੒͢Δςετίʔυ͸
 ൚༻త w ϓϩδΣΫτʹϚονͨ͠΋ͷʹͳ ΔΑ͏ɺੜ੒ͨ͠ίʔυΛΆͪΆͪ

    ख௚ͨ͠͠Γ
  12. HPUFTUTͷ
 ࣗಈੜ੒ϝΧχζϜ

  13. ςετίʔυੜ੒ͷϑϩʔ ର৅ ؔ਺ ର৅ؔ਺ͷ
 ߏจղੳΛͯ͠ γάωνϟΛऔಘ
 γάωνϟΛ
 ςϯϓϨʔτʹ
 ద༻ͯ͠
 ςετίʔυੜ੒

    *OQVU HPUFTUT ςετ
 ίʔυ 0VUQVU ᶃ ᶄ
  14. ςετίʔυੜ੒ͷϑϩʔ ର৅ ؔ਺ ςετ
 ίʔυ ϑΝΠϧಡΈࠐΈ "45ͱܕ৘ใऔಘ HPUFTUTͷϞσϧʹ ม׵ *OQVU

    0VUQVU HPUFTUT ϞσϧͷσʔλΛ
 ςϯϓϨʔτʹ
 ൓өͯ͠ίʔυੜ ੒ ϑΝΠϧॻ͖ग़͠ ᶃ ᶄ
  15. ςετίʔυੜ੒ͷϑϩʔ ର৅ ؔ਺ ϑΝΠϧಡΈࠐΈ "45ͱܕ৘ใऔಘ HPUFTUTͷϞσϧʹ ม׵ *OQVU HPUFTUT ϞσϧͷσʔλΛ


    ςϯϓϨʔτʹ
 ൓өͯ͠ίʔυੜ ੒ ϑΝΠϧॻ͖ग़͠ ςετ
 ίʔυ 0VUQVU ᶃ ᶄ
  16. Ϟσϧˠςετίʔυ w UFYUUFNQMBUFΛ࢖༻ͯ͠
 ςετίʔυͷςϯϓϨʔτʹ
 HPUFTUTͷϞσϧͷσʔλΛ߹੒

  17. UFYUUFNQMBUF %FBS\\/BNF^^  \\XJUI(JGU^^5IBOLZPVGPSUIF\\^^ #FTUXJTIFT  \\FOE^^ /P[PNJ UZQF3FDJQJFOUTUSVDU\ /BNF

    (JGUTUSJOH ^ 
 3FDJQJFOU\ /BNF:VSJLP  (JGUUFBTFU  ^ %FBS:VSJLP  5IBOLZPVGPSUIFUFBTFU #FTUXJTIFT  /P[PNJ ςϯϓϨʔτ (Pͷίʔυ
  18. HPUFTUTͷςϯϓϨʔτ w σϑΥϧτ͸JOUFSOBMSFOEFSUFNQMBUFT w ࠓճGVODUJPOUNQMΛத৺ʹ঺հ

  19. HPUFTUTFYBNQMF GVOD'FFE$BU DPVOUJOU TUSJOH\ JGDPVOU\ SFUVSO ^ SFUVSO.FX ^

  20. GVOD5FTU'FFE$BU U UFTUJOH5 \ UZQFBSHTTUSVDU\ DPVOUJOU ^ UFTUT<>TUSVDU\ OBNFTUSJOH BSHTBSHT

    XBOUTUSJOH ^\ 50%0"EEUFTUDBTFT ^ GPS@ UUSBOHFUFTUT\ U3VO UUOBNF GVOD U UFTUJOH5 \ JGHPU'FFE$BU UUBSHTBSH HPUUUXBOU\ U&SSPSG 'FFE$BU W XBOUW HPU UUXBOU  ^ ^  ^ ^ ੜ੒͞Εͨςετίʔυͱ HPUFTUTͷςϯϓϨʔτΛ
 রΒ͠߹ΘͤͯݟͯΈΔ
  21. GVOD5FTU'FFE$BU U UFTUJOH5 \ UZQFBSHTTUSVDU\ DPVOUJOU ^ UFTUT<>TUSVDU\ OBNFTUSJOH BSHTBSHT

    XBOUTUSJOH ^\ 50%0"EEUFTUDBTFT ^ GPS@ UUSBOHFUFTUT\ U3VO UUOBNF GVOD U UFTUJOH5 \ JGHPU'FFE$BU UUBSHTBSH HPUUUXBOU\ U&SSPSG 'FFE$BU W XBOUW HPU UUXBOU  ^ ^  ^ ^
  22. GVOD5FTU'FFE$BU U UFTUJOH5 \ UZQFBSHTTUSVDU\ DPVOUJOU ^ UFTUT<>TUSVDU\ OBNFTUSJOH BSHTBSHT

    XBOUTUSJOH ^\ 50%0"EEUFTUDBTFT ^ GPS@ UUSBOHFUFTUT\ U3VO UUOBNF GVOD U UFTUJOH5 \ JGHPU'FFE$BU UUBSHTBSH HPUUUXBOU\ U&SSPSG 'FFE$BU W XBOUW HPU UUXBOU  ^ ^  ^ ^ ςϯϓϨʔτ͸͜Μͳײ͡ GVOD\\5FTU/BNF^^ U UFTUJOH5 \  ^
  23. GVOD5FTU'FFE$BU U UFTUJOH5 \ UZQFBSHTTUSVDU\ DPVOUJOU ^ UFTUT<>TUSVDU\ OBNFTUSJOH BSHTBSHT

    XBOUTUSJOH ^\ 50%0"EEUFTUDBTFT ^ GPS@ UUSBOHFUFTUT\ U3VO UUOBNF GVOD U UFTUJOH5 \ JGHPU'FFE$BU UUBSHTBSH HPUUUXBOU\ U&SSPSG 'FFE$BU W XBOUW HPU UUXBOU  ^ ^  ^ ^ GVOD\\5FTU/BNF^^ U UFTUJOH5 \  ^ 5FTU/BNFͷ஋͕
 ςετؔ਺໊ͱͯ͠ద༻͞ΕΔ
  24. GVOD5FTU'FFE$BU U UFTUJOH5 \ UZQFBSHTTUSVDU\ DPVOUJOU ^ UFTUT<>TUSVDU\ OBNFTUSJOH BSHTBSHT

    XBOUTUSJOH ^\ 50%0"EEUFTUDBTFT ^ GPS@ UUSBOHFUFTUT\ U3VO UUOBNF GVOD U UFTUJOH5 \ JGHPU'FFE$BU UUBSHTBSH HPUUUXBOU\ U&SSPSG 'FFE$BU W XBOUW HPU UUXBOU  ^ ^  ^ ^
  25. GVOD5FTU'FFE$BU U UFTUJOH5 \ UZQFBSHTTUSVDU\ DPVOUJOU ^ UFTUT<>TUSVDU\ OBNFTUSJOH BSHTBSHT

    XBOUTUSJOH ^\ 50%0"EEUFTUDBTFT ^ GPS@ UUSBOHFUFTUT\ U3VO UUOBNF GVOD U UFTUJOH5 \ JGHPU'FFE$BU UUBSHTBSH HPUUUXBOU\ U&SSPSG 'FFE$BU W XBOUW HPU UUXBOU  ^ ^  ^ ^ \\JG5FTU1BSBNFUFST^^ UZQFBSHTTUSVDU\  \\SBOHF5FTU1BSBNFUFST^^   \\1BSBN^^\\5ZQF^^  \\FOE^^ ^ \\FOE^^
  26. GVOD5FTU'FFE$BU U UFTUJOH5 \ UZQFBSHTTUSVDU\ DPVOUJOU ^ UFTUT<>TUSVDU\ OBNFTUSJOH BSHTBSHT

    XBOUTUSJOH ^\ 50%0"EEUFTUDBTFT ^ GPS@ UUSBOHFUFTUT\ U3VO UUOBNF GVOD U UFTUJOH5 \ JGHPU'FFE$BU UUBSHTBSH HPUUUXBOU\ U&SSPSG 'FFE$BU W XBOUW HPU UUXBOU  ^ ^  ^ ^ \\JG5FTU1BSBNFUFST^^ UZQFBSHTTUSVDU\  \\SBOHF5FTU1BSBNFUFST^^   \\1BSBN^^\\5ZQF^^  \\FOE^^ ^ \\FOE^^ 5FTU1BSBNFUFST͕
 ۭ͡Όͳ͚Ε͹
  27. GVOD5FTU'FFE$BU U UFTUJOH5 \ UZQFBSHTTUSVDU\ DPVOUJOU ^ UFTUT<>TUSVDU\ OBNFTUSJOH BSHTBSHT

    XBOUTUSJOH ^\ 50%0"EEUFTUDBTFT ^ GPS@ UUSBOHFUFTUT\ U3VO UUOBNF GVOD U UFTUJOH5 \ JGHPU'FFE$BU UUBSHTBSH HPUUUXBOU\ U&SSPSG 'FFE$BU W XBOUW HPU UUXBOU  ^ ^  ^ ^ \\JG5FTU1BSBNFUFST^^ UZQFBSHTTUSVDU\  \\SBOHF5FTU1BSBNFUFST^^   \\1BSBN^^\\5ZQF^^  \\FOE^^ ^ \\FOE^^ ςετର৅ؔ਺ͷҾ਺Λอ࣋͢Δ
 BSHTετϥΫτΛ௥Ճ
  28. GVOD5FTU'FFE$BU U UFTUJOH5 \ UZQFBSHTTUSVDU\ DPVOUJOU ^ UFTUT<>TUSVDU\ OBNFTUSJOH BSHTBSHT

    XBOUTUSJOH ^\ 50%0"EEUFTUDBTFT ^ GPS@ UUSBOHFUFTUT\ U3VO UUOBNF GVOD U UFTUJOH5 \ JGHPU'FFE$BU UUBSHTBSH HPUUUXBOU\ U&SSPSG 'FFE$BU W XBOUW HPU UUXBOU  ^ ^  ^ ^ \\JG5FTU1BSBNFUFST^^ UZQFBSHTTUSVDU\  \\SBOHF5FTU1BSBNFUFST^^   \\1BSBN^^\\5ZQF^^  \\FOE^^ ^ \\FOE^^ BSHTετϥΫτʹϧʔϓͰ ϑΟʔϧυΛ௥Ճ
  29. GVOD5FTU'FFE$BU U UFTUJOH5 \ UZQFBSHTTUSVDU\ DPVOUJOU ^ UFTUT<>TUSVDU\ OBNFTUSJOH BSHTBSHT

    XBOUTUSJOH ^\ 50%0"EEUFTUDBTFT ^ GPS@ UUSBOHFUFTUT\ U3VO UUOBNF GVOD U UFTUJOH5 \ JGHPU'FFE$BU UUBSHTBSH HPUUUXBOU\ U&SSPSG 'FFE$BU W XBOUW HPU UUXBOU  ^ ^  ^ ^
  30. GVOD5FTU'FFE$BU U UFTUJOH5 \ UZQFBSHTTUSVDU\ DPVOUJOU ^ UFTUT<>TUSVDU\ OBNFTUSJOH BSHTBSHT

    XBOUTUSJOH ^\ 50%0"EEUFTUDBTFT ^ GPS@ UUSBOHFUFTUT\ U3VO UUOBNF GVOD U UFTUJOH5 \ JGHPU'FFE$BU UUBSHTBSH HPUUUXBOU\ U&SSPSG 'FFE$BU W XBOUW HPU UUXBOU  ^ ^  ^ ^ UFTUT<>TUSVDU\   OBNFTUSJOH   \\XJUI3FDFJWFS^^    \\JGBOE*T4USVDU'JFMET^^     GJFMETGJFMET    \\FMTF^^     \\3FDFJWFS^^\\5ZQF^^    \\FOE^^   \\FOE^^   \\JG5FTU1BSBNFUFST^^    BSHTBSHT   \\FOE^^   \\SBOHF5FTU3FTVMUT^^    \\8BOU^^\\5ZQF^^   \\FOE^^   \\JG3FUVSOT&SSPS^^    XBOU&SSCPPM   \\FOE^^  ^
  31. GVOD5FTU'FFE$BU U UFTUJOH5 \ UZQFBSHTTUSVDU\ DPVOUJOU ^ UFTUT<>TUSVDU\ OBNFTUSJOH BSHTBSHT

    XBOUTUSJOH ^\ 50%0"EEUFTUDBTFT ^ GPS@ UUSBOHFUFTUT\ U3VO UUOBNF GVOD U UFTUJOH5 \ JGHPU'FFE$BU UUBSHTBSH HPUUUXBOU\ U&SSPSG 'FFE$BU W XBOUW HPU UUXBOU  ^ ^  ^ ^ UFTUT<>TUSVDU\   OBNFTUSJOH   \\XJUI3FDFJWFS^^    \\JGBOE*T4USVDU'JFMET^^     GJFMETGJFMET    \\FMTF^^     \\3FDFJWFS^^\\5ZQF^^    \\FOE^^   \\FOE^^   \\JG5FTU1BSBNFUFST^^    BSHTBSHT   \\FOE^^   \\SBOHF5FTU3FTVMUT^^    \\8BOU^^\\5ZQF^^   \\FOE^^   \\JG3FUVSOT&SSPS^^    XBOU&SSCPPM   \\FOE^^  ^ ςετͷσʔληοτΛ
 อ࣋͢Δ഑ྻ
  32. GVOD5FTU'FFE$BU U UFTUJOH5 \ UZQFBSHTTUSVDU\ DPVOUJOU ^ UFTUT<>TUSVDU\ OBNFTUSJOH BSHTBSHT

    XBOUTUSJOH ^\ 50%0"EEUFTUDBTFT ^ GPS@ UUSBOHFUFTUT\ U3VO UUOBNF GVOD U UFTUJOH5 \ JGHPU'FFE$BU UUBSHTBSH HPUUUXBOU\ U&SSPSG 'FFE$BU W XBOUW HPU UUXBOU  ^ ^  ^ ^ UFTUT<>TUSVDU\   OBNFTUSJOH   \\XJUI3FDFJWFS^^    \\JGBOE*T4USVDU'JFMET^^     GJFMETGJFMET    \\FMTF^^     \\3FDFJWFS^^\\5ZQF^^    \\FOE^^   \\FOE^^   \\JG5FTU1BSBNFUFST^^    BSHTBSHT   \\FOE^^   \\SBOHF5FTU3FTVMUT^^    \\8BOU^^\\5ZQF^^   \\FOE^^   \\JG3FUVSOT&SSPS^^    XBOU&SSCPPM   \\FOE^^  ^ 5FTU1BSBNFUFST͕
 ۭ͡Όͳ͚Ε͹
 BSHTετϥΫτΛ௥Ճ
  33. GVOD5FTU'FFE$BU U UFTUJOH5 \ UZQFBSHTTUSVDU\ DPVOUJOU ^ UFTUT<>TUSVDU\ OBNFTUSJOH BSHTBSHT

    XBOUTUSJOH ^\ 50%0"EEUFTUDBTFT ^ GPS@ UUSBOHFUFTUT\ U3VO UUOBNF GVOD U UFTUJOH5 \ JGHPU'FFE$BU UUBSHTBSH HPUUUXBOU\ U&SSPSG 'FFE$BU W XBOUW HPU UUXBOU  ^ ^  ^ ^ UFTUT<>TUSVDU\   OBNFTUSJOH   \\XJUI3FDFJWFS^^    \\JGBOE*T4USVDU'JFMET^^     GJFMETGJFMET    \\FMTF^^     \\3FDFJWFS^^\\5ZQF^^    \\FOE^^   \\FOE^^   \\JG5FTU1BSBNFUFST^^    BSHTBSHT   \\FOE^^   \\SBOHF5FTU3FTVMUT^^    \\8BOU^^\\5ZQF^^   \\FOE^^   \\JG3FUVSOT&SSPS^^    XBOU&SSCPPM   \\FOE^^  ^ 5FTU3FTVMUTͷ஋Λ
 XBOUͱͯ͠ϑΟʔϧυʹ௥Ճ
  34. GVOD5FTU'FFE$BU U UFTUJOH5 \ UZQFBSHTTUSVDU\ DPVOUJOU ^ UFTUT<>TUSVDU\ OBNFTUSJOH BSHTBSHT

    XBOUTUSJOH ^\ 50%0"EEUFTUDBTFT ^ GPS@ UUSBOHFUFTUT\ U3VO UUOBNF GVOD U UFTUJOH5 \ JGHPU'FFE$BU UUBSHTBSH HPUUUXBOU\ U&SSPSG 'FFE$BU W XBOUW HPU UUXBOU  ^ ^  ^ ^
  35. GVOD5FTU'FFE$BU U UFTUJOH5 \ UZQFBSHTTUSVDU\ DPVOUJOU ^ UFTUT<>TUSVDU\ OBNFTUSJOH BSHTBSHT

    XBOUTUSJOH ^\ 50%0"EEUFTUDBTFT ^ GPS@ UUSBOHFUFTUT\ U3VO UUOBNF GVOD U UFTUJOH5 \ JGHPU'FFE$BU UUBSHTBSH HPUUUXBOU\ U&SSPSG 'FFE$BU W XBOUW HPU UUXBOU  ^ ^  ^ ^  GPS\\JG PS4VCUFTUT OPU*T/BLFE ^^@ UU\\FOE^^SBOHFUFTUT\   \\JG4VCUFTUT^^U3VO UUOBNF GVOD U UFTUJOH5 \\\FOE^^    \\XJUI3FDFJWFS^^     \\JG*T4USVDU^^      \\3FDFJWFS^^\\JG5ZQF*T4UBS^^\\FOE^^\\5ZQF7BMVF^^\      \\SBOHF'JFMET^^       \\/BNF^^UUGJFMET\\'JFME^^       \\FOE^^      ^     \\FOE^^    \\FOE^^    \\SBOHF1BSBNFUFST^^     \\JG*T8SJUFS^^      \\1BSBN^^CZUFT#VGGFS\^     \\FOE^^    \\FOE^^    \\JGBOE OPU0OMZ3FUVSOT&SSPS  OPU0OMZ3FUVSOT0OF7BMVF ^^     \\UFNQMBUFSFTVMUTG^^\\UFNQMBUFDBMMG^^    \\FOE^^    \\JG3FUVSOT&SSPS^^     JG\\JG0OMZ3FUVSOT&SSPS^^FSS\\UFNQMBUFDBMMG^^\\FOE^^ FSSOJM UUXBOU&SS\      U&SSPSG \\UFNQMBUFNFTTBHFG^^FSSPSW XBOU&SSW \\UFNQMBUFJOQVUTG^^FSS UUXBOU&SS       \\JG5FTU3FTVMUT^^       \\JG4VCUFTUT^^SFUVSO\\FMTF^^DPOUJOVF\\FOE^^      \\FOE^^     ^    \\FOE^^    \\SBOHF5FTU3FTVMUT^^     \\JG*T8SJUFS^^      JG\\(PU^^\\1BSBN^^4USJOH \\(PU^^UU\\8BOU^^\     \\FMTFJG*T#BTJD5ZQF^^      JG\\JGG0OMZ3FUVSOT0OF7BMVF^^\\(PU^^\\UFNQMBUFJOMJOFG^^\\FOE^^\\(PU^^UU\\8BOU^^\     \\FMTF^^      JG\\JGG0OMZ3FUVSOT0OF7BMVF^^\\(PU^^\\UFNQMBUFJOMJOFG^^\\FOE^^SFGMFDU%FFQ&RVBM \\(PU^^ UU\\8BOU^^ \     \\FOE^^     U&SSPSG \\UFNQMBUFNFTTBHFG^^\\JGG3FUVSOT.VMUJQMF^^\\(PU^^\\FOE^^W XBOUW \\UFNQMBUFJOQVUTG^^\\(PU^^ UU\\8BOU^^      ^    \\FOE^^   \\JG4VCUFTUT^^^ \\FOE^^  ^ ௕͍ʼʻ
 ৄࡉ͸ׂѪ
  36. GVOD5FTU'FFE$BU U UFTUJOH5 \ UZQFBSHTTUSVDU\ DPVOUJOU ^ UFTUT<>TUSVDU\ OBNFTUSJOH BSHTBSHT

    XBOUTUSJOH ^\ 50%0"EEUFTUDBTFT ^ GPS@ UUSBOHFUFTUT\ U3VO UUOBNF GVOD U UFTUJOH5 \ JGHPU'FFE$BU UUBSHTBSH HPUUUXBOU\ U&SSPSG 'FFE$BU W XBOUW HPU UUXBOU  ^ ^  ^ ^  GPS\\JG PS4VCUFTUT OPU*T/BLFE ^^@ UU\\FOE^^SBOHFUFTUT\   \\JG4VCUFTUT^^U3VO UUOBNF GVOD U UFTUJOH5 \\\FOE^^    \\XJUI3FDFJWFS^^     \\JG*T4USVDU^^      \\3FDFJWFS^^\\JG5ZQF*T4UBS^^\\FOE^^\\5ZQF7BMVF^^\      \\SBOHF'JFMET^^       \\/BNF^^UUGJFMET\\'JFME^^       \\FOE^^      ^     \\FOE^^    \\FOE^^    \\SBOHF1BSBNFUFST^^     \\JG*T8SJUFS^^      \\1BSBN^^CZUFT#VGGFS\^     \\FOE^^    \\FOE^^    \\JGBOE OPU0OMZ3FUVSOT&SSPS  OPU0OMZ3FUVSOT0OF7BMVF ^^     \\UFNQMBUFSFTVMUTG^^\\UFNQMBUFDBMMG^^    \\FOE^^    \\JG3FUVSOT&SSPS^^     JG\\JG0OMZ3FUVSOT&SSPS^^FSS\\UFNQMBUFDBMMG^^\\FOE^^ FSSOJM UUXBOU&SS\      U&SSPSG \\UFNQMBUFNFTTBHFG^^FSSPSW XBOU&SSW \\UFNQMBUFJOQVUTG^^FSS UUXBOU&SS       \\JG5FTU3FTVMUT^^       \\JG4VCUFTUT^^SFUVSO\\FMTF^^DPOUJOVF\\FOE^^      \\FOE^^     ^    \\FOE^^    \\SBOHF5FTU3FTVMUT^^     \\JG*T8SJUFS^^      JG\\(PU^^\\1BSBN^^4USJOH \\(PU^^UU\\8BOU^^\     \\FMTFJG*T#BTJD5ZQF^^      JG\\JGG0OMZ3FUVSOT0OF7BMVF^^\\(PU^^\\UFNQMBUFJOMJOFG^^\\FOE^^\\(PU^^UU\\8BOU^^\     \\FMTF^^      JG\\JGG0OMZ3FUVSOT0OF7BMVF^^\\(PU^^\\UFNQMBUFJOMJOFG^^\\FOE^^SFGMFDU%FFQ&RVBM \\(PU^^ UU\\8BOU^^ \     \\FOE^^     U&SSPSG \\UFNQMBUFNFTTBHFG^^\\JGG3FUVSOT.VMUJQMF^^\\(PU^^\\FOE^^W XBOUW \\UFNQMBUFJOQVUTG^^\\(PU^^ UU\\8BOU^^      ^    \\FOE^^   \\JG4VCUFTUT^^^ \\FOE^^  ^ ύλʔϯʹΑͬͯ
 ੜ੒͞ΕΔ࣮ߦ෦෼ͷίʔυ͕
 ҧ͏͜ͱ͕Θ͔Δ
  37. ੜ੒ʹඞཁͩͬͨσʔλ ͍࣋ͬͯΔ΋ͷ 5FTU/BNF ςετؔ਺໊ 5FTU\\ର৅ͱ͢Δؔ਺໊^^ 5FTU1BSBNFUFST ର৅ͱ͢Δؔ਺ͷҾ਺ ܕ໊લ 5FTU3FTVMUT ର৅ͱ͢Δؔ਺ͷ໭Γ஋

    ܕ໊લ
  38. ςετίʔυੜ੒ͷϑϩʔ ର৅ ؔ਺ ϑΝΠϧಡΈࠐΈ "45ͱܕ৘ใऔಘ HPUFTUTͷϞσϧʹ ม׵ *OQVU HPUFTUT ϞσϧͷσʔλΛ


    ςϯϓϨʔτʹ
 ൓өͯ͠ίʔυੜ ੒ ϑΝΠϧॻ͖ग़͠ ςετ
 ίʔυ 0VUQVU ᶃ ᶄ
  39. ର৅'VODUJPOˠϞσϧ w HPQBSTFSΛ࢖ͬͯ"45Λऔಘ w HPUZQFTΛ࢖ͬͯܕ৘ใΛऔಘ w औಘͨ͠৘ใΛHPUFTUTͷ'VODUJPOϞσϧʹ ม׵

  40. ੜ੒ʹඞཁͩͬͨσʔλ ͍࣋ͬͯΔ΋ͷ 5FTU/BNF ςετؔ਺໊ 5FTU\\ର৅ͱ͢Δؔ਺໊^^ 5FTU1BSBNFUFST ର৅ͱ͢Δؔ਺ͷҾ਺ ܕ໊લ 5FTU3FTVMUT ର৅ͱ͢Δؔ਺ͷ໭Γ஋

    ܕ໊લ
  41. 'VODUJPOϞσϧ UZQF'VODUJPOTUSVDU\ /BNFTUSJOH *T&YQPSUFECPPM 3FDFJWFS 3FDFJWFS 1BSBNFUFST<> 'JFME 3FTVMUT<> 'JFME

    3FUVSOT&SSPSCPPM ^
  42. 'VODUJPOϞσϧ UZQF'VODUJPOTUSVDU\ /BNFTUSJOH *T&YQPSUFECPPM 3FDFJWFS 3FDFJWFS 1BSBNFUFST<> 'JFME 3FTVMUT<> 'JFME

    3FUVSOT&SSPSCPPM ^ ͜ΕΒͷ஋͕
 ςετίʔυੜ੒ʹ࢖ΘΕͨ
  43. 'VODUJPOϞσϧ UZQF'VODUJPOTUSVDU\ /BNFTUSJOH *T&YQPSUFECPPM 3FDFJWFS 3FDFJWFS 1BSBNFUFST<> 'JFME 3FTVMUT<> 'JFME

    3FUVSOT&SSPSCPPM ^ UZQF'JFMETUSVDU\ /BNFTUSJOH 5ZQF &YQSFTTJPO *OEFYJOU ^ UZQF&YQSFTTJPOTUSVDU\ 7BMVFTUSJOH *T4UBSCPPM *T7BSJBEJDCPPM *T8SJUFSCPPM 6OEFSMZJOHTUSJOH ^
  44. αϯϓϧͷؔ਺ͷ৔߹ GVOD'FFE$BU DPVOUJOU TUSJOH\ JGDPVOU\ SFUVSO ^ SFUVSO.FX ^

  45. 'VODUJPO\ /BNFt'FFE$BUu *T&YQPSUFEUSVF 3FDFJWFSOJM 1BSBNFUFST<> 'JFME 3FTVMUT<> 'JFME 3FUVSOT&SSPSGBMTF ^

    'JFME\ /BNFtDPVOUu 5ZQF &YQSFTTJPO *OEFY ^ &YQSFTTJPO\ 7BMVFtJOUu *T4UBSGBMTF *T7BSJBEJDGBMTF *T8SJUFSGBMTF 6OEFSMZJOHtJOUu ^ 'JFME\ /BNFtu 5ZQF &YQSFTTJPO *OEFY ^ &YQSFTTJPO\ 7BMVFtTUSJOHu *T4UBSGBMTF *T7BSJBEJDGBMTF *T8SJUFSGBMTF 6OEFSMZJOHtTUSJOHu ^
  46. 'VODUJPO\ /BNFt'FFE$BUu *T&YQPSUFEUSVF 3FDFJWFSOJM 1BSBNFUFST<> 'JFME 3FTVMUT<> 'JFME 3FUVSOT&SSPSGBMTF ^

    'JFME\ /BNFtDPVOUu 5ZQF &YQSFTTJPO *OEFY ^ &YQSFTTJPO\ 7BMVFtJOUu *T4UBSGBMTF *T7BSJBEJDGBMTF *T8SJUFSGBMTF 6OEFSMZJOHtJOUu ^ 'JFME\ /BNFtu 5ZQF &YQSFTTJPO *OEFY ^ &YQSFTTJPO\ 7BMVFtTUSJOHu *T4UBSGBMTF *T7BSJBEJDGBMTF *T8SJUFSGBMTF 6OEFSMZJOHtTUSJOHu ^
  47. 'VODUJPO\ /BNFt'FFE$BUu *T&YQPSUFEUSVF 3FDFJWFSOJM 1BSBNFUFST<> 'JFME 3FTVMUT<> 'JFME 3FUVSOT&SSPSGBMTF ^

    'JFME\ /BNFtDPVOUu 5ZQF &YQSFTTJPO *OEFY ^ &YQSFTTJPO\ 7BMVFtJOUu *T4UBSGBMTF *T7BSJBEJDGBMTF *T8SJUFSGBMTF 6OEFSMZJOHtJOUu ^ 'JFME\ /BNFtu 5ZQF &YQSFTTJPO *OEFY ^ &YQSFTTJPO\ 7BMVFtTUSJOHu *T4UBSGBMTF *T7BSJBEJDGBMTF *T8SJUFSGBMTF 6OEFSMZJOHtTUSJOHu ^ ͜ΕΒͷ৘ใʹண໨ͯ͠
 "45͔Βநग़͢ΔखॱΛݟ͍ͯ͘
  48. "45͔Βͷநग़ QBDLBHFBTU  UZQF'JMFTUSVDU\ %PD $PNNFOU(SPVQ 1BDLBHFUPLFO1PT /BNF *EFOU %FDMT<>%FDM

    4DPQF 4DPQF *NQPSUT<> *NQPSU4QFD 6OSFTPMWFE<> *EFOU $PNNFOUT<> $PNNFOU(SPVQ ^ QBSTFSQBSTF'JMFͰऔಘͨ͠
 ϑΝΠϧΛද͢"45ͷϊʔυ
  49. "45͔Βͷநग़ QBDLBHFBTU  UZQF'JMFTUSVDU\ %PD $PNNFOU(SPVQ 1BDLBHFUPLFO1PT /BNF *EFOU %FDMT<>%FDM

    4DPQF 4DPQF *NQPSUT<> *NQPSU4QFD 6OSFTPMWFE<> *EFOU $PNNFOUT<> $PNNFOU(SPVQ ^ τοϓϨϕϧͷఆ͕࣮ٛͨͪ૷͢Δܕ
 ؔ਺ͷ৔߹͸BTU'VOD%FDM
  50. BTU'VOD%FDM͔Βͷநग़ QBDLBHFBTU  UZQF'VOD%FDMTUSVDU\ %PD $PNNFOU(SPVQ 3FDW 'JFME-JTU /BNF *EFOU

    5ZQF 'VOD5ZQF #PEZ #MPDL4UNU ^
  51. QBDLBHFBTU  UZQF'VOD%FDMTUSVDU\ %PD $PNNFOU(SPVQ 3FDW 'JFME-JTU /BNF *EFOU 5ZQF

    'VOD5ZQF #PEZ #MPDL4UNU ^ BTU'VOD%FDM͔Βͷநग़
  52. QBDLBHFBTU  UZQF'VOD%FDMTUSVDU\ %PD $PNNFOU(SPVQ 3FDW 'JFME-JTU /BNF *EFOU 5ZQF

    'VOD5ZQF #PEZ #MPDL4UNU ^ QBDLBHFBTU 
 UZQF*EFOUTUSVDU\ /BNF1PTUPLFO1PT /BNFTUSJOH 0CK 0CKFDU ^ ͜͜ʹؔ਺໊͕ೖ͍ͬͯΔ BTU'VOD%FDM͔Βͷநग़
  53. QBDLBHFBTU  UZQF'VOD%FDMTUSVDU\ %PD $PNNFOU(SPVQ 3FDW 'JFME-JTU /BNF *EFOU 5ZQF

    'VOD5ZQF #PEZ #MPDL4UNU ^ QBDLBHFBTU 
 UZQF'VOD5ZQFTUSVDU\ 'VODUPLFO1PT 1BSBNT 'JFME-JTU 3FTVMUT 'JFME-JTU ^ Ҿ਺ͱ໭Γ஋ͷϦετ BTU'JFMEͷ഑ྻΛอ࣋
 BTU'VOD%FDM͔Βͷநग़
  54. BTU'JFME͔Βͷநग़ QBDLBHFBTU UZQF'JFMETUSVDU\ %PD $PNNFOU(SPVQ /BNFT<> *EFOU 5ZQF&YQS 5BH #BTJD-JU

    $PNNFOU $PNNFOU(SPVQ ^ Ҿ਺΍໭Γ஋ͷ໊લ ʮY ZJOUʯͷΑ͏ʹܕΛলུͨ͠ͱ͖͸
 ෳ਺ʹೖΔͷͰ഑ྻ
  55. BTU'JFME͔Βͷநग़ QBDLBHFBTU UZQF'JFMETUSVDU\ %PD $PNNFOU(SPVQ /BNFT<> *EFOU 5ZQF&YQS 5BH #BTJD-JU

    $PNNFOU $PNNFOU(SPVQ ^ &YQSܕ͸ࣜͷOPEF͕࣮૷͢΂͖ந৅తͳܕ
 ࠓճͷҾ਺JOUͱ໭Γ஋TUSJOH͸
 ͲͪΒ΋BTU*EFOUܕ
  56. αϯϓϧͷؔ਺ͷ৔߹ GVOD'FFE$BU DPVOUJOU TUSJOH\ JGDPVOU\ SFUVSO ^ SFUVSO.FX ^

  57. 'VOD%FDM\ /BNF *EFOU 5ZQF 'VOD5ZQF ^ 'VOD5ZQF\ 'VODUPLFO1PT 1BSBNT 'JFME-JTU

    3FTVMUT 'JFME-JTU ^ *EFOU\ /BNFt'FFE$BUu ^ 'JFME\ /BNFT<> *EFOU 5ZQF&YQS ^ 'JFME\ /BNFT<> *EFOU 5ZQF&YQS ^ ᤳ਺ ໭ΜᲩ
  58. 'JFME\ /BNFT<> *EFOU 5ZQF&YQS ^ 'JFME\ /BNFT<> *EFOU 5ZQF&YQS ^

    ᤳ਺ ໭ΜᲩ *EFOU\ /BNFtDPVOUu ^ *EFOU\ /BNFtJOUu ^ ໖፺ᅾ *EFOU\ /BNFtTUSJOHu ^
  59. 'VODUJPO\ /BNFt'FFE$BUu *T&YQPSUFEUSVF 3FDFJWFSOJM 1BSBNFUFST<> 'JFME 3FTVMUT<> 'JFME 3FUVSOT&SSPSGBMTF ^

    'JFME\ /BNFtDPVOUu 5ZQF &YQSFTTJPO *OEFY ^ &YQSFTTJPO\ 7BMVFtJOUu *T4UBSGBMTF *T7BSJBEJDGBMTF *T8SJUFSGBMTF 6OEFSMZJOHtJOUu ^ 'JFME\ /BNFtu 5ZQF &YQSFTTJPO *OEFY ^ &YQSFTTJPO\ 7BMVFtTUSJOHu *T4UBSGBMTF *T7BSJBEJDGBMTF *T8SJUFSGBMTF 6OEFSMZJOHtTUSJOHu ^ HPUFTUTͷϞσϧͱ
 রΒ͠߹ΘͤΔͱ
  60. 'VODUJPO\ /BNFt'FFE$BUu *T&YQPSUFEUSVF 3FDFJWFSOJM 1BSBNFUFST<> 'JFME 3FTVMUT<> 'JFME 3FUVSOT&SSPSGBMTF ^

    'JFME\ /BNFtDPVOUu 5ZQF &YQSFTTJPO *OEFY ^ &YQSFTTJPO\ 7BMVFtJOUu *T4UBSGBMTF *T7BSJBEJDGBMTF *T8SJUFSGBMTF 6OEFSMZJOHtJOUu ^ 'JFME\ /BNFtu 5ZQF &YQSFTTJPO *OEFY ^ &YQSFTTJPO\ 7BMVFtTUSJOHu *T4UBSGBMTF *T7BSJBEJDGBMTF *T8SJUFSGBMTF 6OEFSMZJOHtTUSJOHu ^ BTU'VOD%FDMͷ/BNF BTU'JFMEͷ/BNF BTU'JFMEͷ5ZQFͷ
 /BNF
  61. ܕ৘ใͷऔಘ w BTU*EFOUͷ৘ใ͚ͩͩͱܕͷৄࡉͳ৘ใ͸ Θ͔Βͳ͍ͨΊɺ"45औಘޙʹܕνΣοΫ Λߦ͏ w HPUFTUTͰ͸6OEFSMZJOH5ZQF΍ɺετϥΫτ 3FDFJWFSͷ৔߹ʹͦͷϑΟʔϧυͷ৘ใΛ औಘ͢Δͷʹ࢖༻

  62. ߏจղੳ ܕνΣοΫ w ੩తղੳͷπʔϧΛ࡞Δͱ͖ͱಉ͡ w HPMBOHUPLZP͕੩తղੳΛֶ΂Δ
 ίʔυϥϘΛఏڙ͍ͯ͠Δ w HPMBOHUPLZPHJUIVCJPDPEFMBC

  63. ςετίʔυੜ੒ͷϑϩʔ ର৅ ؔ਺ ςετ
 ίʔυ *OQVU 0VUQVU HPUFTUT ϞσϧͷσʔλΛ
 ςϯϓϨʔτʹ


    ൓өͯ͠ίʔυੜ ੒ ϑΝΠϧॻ͖ग़͠ ϑΝΠϧಡΈࠐΈ "45ͱܕ৘ใऔಘ HPUFTUTͷϞσϧʹ ม׵ ᶃ ᶄ
  64. ੜ੒͞ΕΔςετίʔυͷ
 ΧελϚΠζ

  65. ΧελϜςϯϓϨʔτ w HPUFTUT͸Ҿ਺ʹ೚ҙͷςϯϓϨʔτ͕
 ஔ͔Ε͍ͯΔσΟϨΫτϦΛ౉͢͜ͱ͕Ͱ͖ Δ w σϑΥϧτ͸JOUFSOBMSFOEFSUFNQMBUFT w σϑΥϧτͷςϯϓϨʔτΛίϐʔͯ͠
 ඞཁͳͱ͜Ζ͚ͩฤू͢Δͷ͕खͬऔΓૣ͍

  66. ςϯϓϨʔτͰ͸Ͱ͖ͳ͍͜ͱ w HPUFTUTͷϞσϧ͕อ͍࣋ͯ͠Δ஋͔͠࢖༻ Ͱ͖ͳ͍ w ྫ͑͹ɺHPUFTUTͷϞσϧ͸಺෦ͷ࣮૷ͷ৘ ใΛ͍࣋ͬͯͳ͍ w ͦΕҎ্ͷ৘ใΛ࢖͍͍ͨ৔߹ɺιʔε ίʔυͷมߋ͕ඞཁ

  67. HPUFTUTͷϞσϧ w JOUFSOBMNPEFMTʹ·ͱ·͍ͬͯΔͷͰɺ͜͜Λ ோΊΔͱɺͲͷΑ͏ͳ৘ใ͕࢖͑Δ͔͕Θ͔Δ w ࠓճςϯϓϨʔτʹొ৔ͨ͠5FTU1BSBNFUFST౳ ͸ؔ਺ͱͯ͠ఆٛ w JOUFSOBMSFOEFSSFOEFSHPʹɺ
 ςϯϓϨʔτ಺Ͱ࢖༻Ͱ͖ΔΧελϜ'VODUJPO

    ͷఆٛ΋͋ΔͷͰͦ͜΋֬ೝ
  68. ςϯϓϨʔτͷΧελϚΠζྫ w SFqFDU%FFQ&RVBMͰͷൺֱΛHPDNQΛ
 ࢖͏Α͏ʹมߋ͢Δ w HPPHMFHPDNQDNQ

  69. ςϯϓϨʔτͷΧελϚΠζྫ UZQF'PPTUSVDU\^ UZQF#BSTUSVDU\^ GVOD 'PP #BS #BS\ SFUVSO#BS\^ ^

  70. ςϯϓϨʔτͷΧελϚΠζྫ UZQF'PPTUSVDU\^ UZQF#BSTUSVDU\^ GVOD 'PP #BS #BS\ SFUVSO#BS\^ ^

  71. ςϯϓϨʔτͷΧελϚΠζྫ UZQF'PPTUSVDU\^ UZQF#BSTUSVDU\^ GVOD 'PP #BS #BS\ SFUVSO#BS\^ ^ ͜͜ΛDNQ&RVBMʹ͍ͨ͠

  72. ςϯϓϨʔτͷछྨ w DBMMUBNQM w GVODUJPOUNQM w IFBEFSUNQM w *OMJOFUNQM w

    *OQVUTUNQM w NFTTBHFUNQM w SFTVMUTUNQM GVODUJPOͷςϯϓϨʔτΛमਖ਼
 JNQPSUจ͸IFBEFSUNQMʹ௥ՃͰ͖Δ͕
 74$PEFͷࣗಈJNQPSUʹ೚ͤΔʜ
  73. GVODUJPOUNQMͷमਖ਼ \\JG*T8SJUFS^^  \\FMTFJG*T#BTJD5ZQF^^  \\FMTF^^ JG\\ؔ਺Ṻ΅ᲇͩ^^SFGMFDU%FFQ&RVBM \\(PU^^ UU\\8BOU^^ \

    \\FOE^^ ؔ਺ݺͼग़͠෦෼Λൈਮ
  74. GVODUJPOUNQMͷमਖ਼ \\JG*T8SJUFS^^  \\FMTFJG*T#BTJD5ZQF^^  \\FMTF^^ JG\\ؔ਺Ṻ΅ᲇͩ^^SFGMFDU%FFQ&RVBM \\(PU^^ UU\\8BOU^^ \

    \\FOE^^
  75. GVODUJPOUNQMͷमਖ਼ \\JG*T8SJUFS^^  \\FMTFJG*T#BTJD5ZQF^^  \\FMTF^^ JG\\ؔ਺Ṻ΅ᲇͩ^^DNQ&RVBM \\(PU^^ UU\\8BOU^^ \

    \\FOE^^ มߋ
  76. ςϯϓϨʔτมߋ࣮ͯ͠ߦ มΘͬͨ

  77. ςϯϓϨʔτมߋ࣮ͯ͠ߦ ϩάʹDNQ%JGGΛग़ྗ͢ΔΑ͏ʹ
 ͢Ε͹΋ͬͱศརʹ

  78. ·ͱΊ

  79. ·ͱΊ w HPUFTUT͸"45ܕ৘ใΛςϯϓϨʔτʹ൓ өͤͯ͞ςετίʔυΛੜ੒͍ͯ͠Δ w HPUFTUT͸೚ҙͷςϯϓϨʔτΛड͚औΔ͜ ͱ͕Ͱ͖ΔͷͰɺΑΓϓϩδΣΫτʹద͠ ͨςετίʔυͷੜ੒΋Մೳ w HPUFTUTͷϞσϧ͕อ࣋͢Δ৘ใҎ্ͷ΋ͷ

    Λ࢖͍͍ͨ৔߹ɺ࣮૷ͷमਖ਼͕ඞཁ
  80. ͝ਗ਼ௌ͋Γ͕ͱ͏
 ͍͟͝·ͨ͠ʂ