Facebookã®ãã°èªåä¿®æ£ãã¼ã« "SapFix" ã¨ã¯ä½ããï¼
ååã®è¨äºâã§å½å
ã½ããã¦ã§ã¢å·¥å¦äºæ
ãå¢ãã«ä»»ãã¦æ¸ãããæãã®ã»ãçããâ¦â¦ããºã£ã¦ãã¾ããããã身å
ã®ã½ããã¦ã§ã¢å·¥å¦ã®å
çæ¹ã«ç«ãã¤ãã¾ãã£ã¦ãã¾ãã¾ãã¦ãããã¯ããé¢ä¿è
ã®çæ§ãã¿ã¾ããã§ãã*1ã
ãã©ãã¼ã®è¨äºãæ¸ããã¨æã£ã¦ããã§ãããå°ã
ã¿ã¤ãã³ã°ãé¸ãã¦ãã¾ã£ãæãã§ãå°ã誤解ãä¸ããã¨ããããããã§ãã¾ãæéãã§ããã°æ¸ãããã¨æãã¾ãã
bonotake.hatenablog.com
ããããããããä¸é±éãããçµã¡ã¾ãã¦ãä»åº¦ã¯ã½ããã¦ã§ã¢å·¥å¦ã«é¢ãã人éã¨ãã¦ã¯ãªããªãå¬ãããã¥ã¼ã¹ãã
ããã§ãã¤ã以ä¸ã®ãããªãã¤ã¼ããããã¨ãããããã軽ã話é¡ã«ãªã£ã¦ãããã§ãä»ãã¾ã éç¥ãæ¢ã¾ããªãæãã§ãã
automatic repairãã¤ãã«æ¥ãã
— takeo (@bonotake) 2018å¹´9æ14æ¥
ããã¯ã¬ãã§è¿å¹´ã®ã½ããã¦ã§ã¢å·¥å¦ã®ææ
Facebookããã°ãèªåã§ä¿®æ£ããæ°ãã¼ã«ãSapFixãéçº https://t.co/X0D6Xidmj1 via @cnet_japan
ãã°ã®èªåä¿®æ£ï¼automatic repairï¼ã¯ããæ°å¹´ã½ããã¦ã§ã¢å·¥å¦ã®å½éä¼è°ã§ã¯ããªãçãä¸ãã£ã¦ãç 究ãããã¯ã§ãã
ãããFacebookããã¼ã«åãããã¨ããã®ã§ããã¯ããã®åéã®äººéã¨ãã¦ã¯å¤§å¤æ°ã«ãªãã¨ããã話é¡ã¨ãã¦ããã£ããã¼ã§ãããã
ãããããã®éçºãªã¼ãã¼ãåããMark HarmanのFacebookへの投稿ãèªãã¨ã
I am really delighted and also very proud that we are, today, announcing the first industrial-strength scaled-up automated program repair, now in continuous integration and deployment at Facebook.
ã¨ãã£ã¦ã社å
ã®éçºããã¼ã«ãã£ããçµã¿è¾¼ã¾ãã模æ§ã
ã¡ãªã¿ã«ãã® Mark Harmanãã½ããã¦ã§ã¢å·¥å¦ã®ä¸çã§ã¯ããã°ã©ã 解æã®å¤§å¾¡æã¨ãã¦èåãªç 究è
ã§ãUCLï¼ãã³ãã³å¤§å¦ï¼ã®ææã§ãããªãããæè¿ã¯Facebookã® Engineering Manager ï¼ã¨ã³ã¸ãã¢ã®çµ±æ¬ããã¼ã¸ã£ã¼ï¼ï¼ãåãã¦ãã¾ãã
ãããã£ãããããæµ·å¤ã®ã½ããã¦ã§ã¢å·¥å¦åéã¯ç£å¦ãä¸æãçµã³ã¤ãã¦ããã ãªããã¨ããã®ãæãããã¾ãããã
ã§ããã®Mark Harmanãé£é ææ®ãåã£ã¦éçºããèªåãã°ä¿®æ£ãã¼ã« "SapFix" ãªãã§ãããFacebookã®ããã°ã«ç°¡åãªè§£èª¬è¨äºãããã¾ãã
code.fb.com
ã¨ãããã¨ã§ããã®è¨äºã§ã¯æ®ãããã®ããã°è¨äºãå
ã«ãSapFix ãã©ããªãã¼ã«ãªã®ããç°¡åã«è§£èª¬ãã¦ããã¾ãã
ã¡ãªã¿ã«ãã£ã¨èªãã ã¨ãããå®ã¯ãããªã«åããã¨ã¯ãã¦ãã¾ããã
Androidã¢ããªã対象ã«ãã¾ãèªåãã¹ããã¼ã« "Sapienz"ã使ã£ã¦èªåãã¹ããããã¾ãããªããã®Sapienzããsearch-based testing ã¨ãããæè¿ç 究ãçããªæè¡ãå ã«Mark Harmanã®ç 究室ã§éçºãããèªåãã¹ããã¼ã«ãªãã§ãã詳細ã¯çç¥ããèå³ããæ¹ã¯ï¼ï¼è«æèªããæ¹ã¯ï¼ä»¥ä¸ã®è«æãã°ã
ã§ããã®ãã¹ãã§ã¯ã©ãã·ã¥ã観測ãããã¨SapFixã稼åããããã§ããããã®å 容ã¨ã¯
- éå»ã®ä¿®æ£ãã人æã§ä½ã£ãä¿®æ£ãããã®ãã³ãã¬ã¼ããããã®ã¾ã¾æã£ã¦ãããããããã¯ãããããããªããã°ãã¥ã¼ãã¼ã·ã§ã³ã使ã£ã¦ãã³ãã¬ã¼ããå¤å½¢ãã¦ããããä½æã
- ä¸ã§åºæ¥ä¸ãã£ãããããå ã«ãããã«è¤æ°ã®ããããçæã
- çæããããããã³ã³ãã¤ã«ãéããããªããããã«éçºè ã人æã§æ¸ãããã¹ãã¨Sapienzã§çæãããã¹ããæµãã¦ããã®ãããã§ããã¯ã©ãã·ã¥ãèµ·ãããªããï¼å¥ã®ã¯ã©ãã·ã¥ãçºçããªãããã§ãã¯ã
- ãã§ãã¯ãéã£ããããã¯äººéãã¬ãã¥ã¼ãã¦ãè¯ããããªããã®ããããé©ç¨ã
ãªã1. ã§ä½¿ããã¦ããã¥ã¼ãã¼ã·ã§ã³ã£ã¦ããã®ã¯ãææ³ã«å¾ã£ã¦ããã°ã©ã ãé©å½ã«ï¼'+' ã '-' ã«ããããå¤æ°åãå ¥ãæ¿ãããï¼æ¸ãæããâ¦â¦ã¨ãããã®ã§ãå ã ã¯ããã¨ãã°ãåãè¾¼ãã§ãã¹ãããããè¦ã¤ãããããã診ãããã¹ããè©ä¾¡ããããã«çã¾ããæè¡ãªãã§ãããæ©ã話ãè¦ã¯ãã¿ã©ã¡ã«æ¸ãæãã¦ãã ãã§ãã
ãããã§ããããã¶ã£ã¡ããå ¨ç¶åããã¨ãã¦ã¾ãã*2ããããããã£ãããã§ãã³ãã«ãã°ç´ãã®ï¼ï¼ãã£ã¦ã¬ãã«ã§ãã
ãã ãå人çã«ã¯çµæ§æå¿ãã¾ãããã¾ããããå®ç¨ä¸ä½¿ããã®ã«ãªããã©ããã¯ããããã®è©ä¾¡ãå¾
ããªãã¨ãããªãããã§ãããããã§æ¬å½ã«ä½¿ããããªãããããªã¨ã
automatic repair ã«ã¯ä¾ãã°ããã°ã©ã ã®æå³ã¾ã§è¸ã¿è¾¼ãã§ç解ãããã°ã®å
容ãã¡ããã¨è§£æããä¸ã§ç¶ãã¹ãä¿®æ£ããããçæããããªãã¦ææ³ãç 究ããã¦ã¾ããã§ã第ä¸ç·ã®ç 究è
ãéçºã«æºãã£ã¦ããã§ãããããã¢ããã¼ããç¥ããªã訳ã¯ãªãã¨æããã§ãã
ã§ãããããã®æ¢ãã¦ä½¿ããã«ãç°¡åãªè§£æã ãã©è»½ãã¦å®ç¨ã®ã½ã¼ã¹ã³ã¼ãã®ãµã¤ãºã«èãããæè¡ã使ã£ã¦ãããããªãã§ããããããã
ãããããç 究è
ã®ç¬ããããã§ãªããç¾å ´ã§ä½¿ããã°ããããããã£ã¦ããå²ãåããåããªã¨ã
ãã¨ã¯ããè¨ã£ããè¨èãæªãã§ããããããªç°¡åãªè§£æï¼èªåä¿®æ£ããæ°æã¡ãå½ãããçã«ãã£ã¦ãå¹æãåºã¡ããã»ã©ãç¾å ´ã§ã¯ãããããªããã°ãé »çºãã¦ãã£ã¦ãã¨ãªãã ã¨æãã¾ãã
ãããåæãªæ¨æ¸¬ãªãã§ããã©ãFacebookã¿ãããªDevOpsãã¼ã¹ã®ä¼æ¥ã§ã¯è¶
çæéçºã§ã²ãããã¢ãããã¼ããããç¶ãã¦ãã¯ãã§ãéçºï¼ãªãªã¼ã¹åãã¹ãã«æééãããããã¯ãå®è£
ã¯ãªãããç°¡ç´ ã«æ¸ã¾ãã¦ãCI使ã£ã¦ç©éã§ãã°ãçæéã«æ½°ããã£ã¦ã¹ã¿ã¤ã«ãæ¡ã£ã¦ãã®ããªãã¨æ³åãã¾ãããããªããã®ææ³ã§ãååå¹æãããã§ã¯ãªããã¨ã
ã¨ãããã¨ã§ãææ°éã®æè¡ã¨ããé§ä½¿ãã¦ãããã§ããªããã°ãçè«çã«åãæè¡ã使ã£ã¦ãªããã§ãèªãã®éçºç¾å ´ã«è¦åã£ããå®ç¨ä¸ãã£ã¨ãå¹æãããæè¡ãæ¡ç¨ãã¦ããã£ã¦ãã¨ãªã®ããªãã¨æã£ã次第ã
ããã§ãå®éã®éçºããã¼ã«çµã¿è¾¼ããã¾ã§æã£ã¦ããããããç¸å½ãªä½ãè¾¼ã¿ããã¦ãããããªãããªãã¨ã¯æ³åãã¾ãããããã§æ¬å½ã«å¹æãã£ãããããã§ããã
å ã®ããã°è¨äºã«ããã¨ãããã¡ããæãå ¥ããå¾ã§ãã®SapFixï¼ã¨ããã¹ããã¼ã«Sapienzï¼ã¯ãªã¼ãã³ã½ã¼ã¹ã«ããäºå®ã ããã§ããã²ãä¸èº«ãè¦ãã¦ã¿ããã§ãã
p.s. â¦â¦ã¨ããã®è¨äºãã¡ããã©ä»æ¸ãçµããããã£ã¦ã¨ããã§ãå½ã® Mark Harman ããFBã§åéç³è«ãæ¥ã¾ããï½ ã³ã£ããããã¼ããã¤ã¼ãè¦ããã¡ããã¾ããããã
追è¨ï¼ ä¸æ©æãã¦ã¡ããèªã¿è¿ãã¦æã£ããã§ããâ¦â¦å
¨ä½çã«ãã®ãããç°¡åãªæè¡ã§æ§æãã¦ãã®ã¯äºå®ã ã¨æããã§ããã絶対ã©ããä¸å·¥å¤«ã¯å
¥ãã¦ãã¨æãã¾ããç¹ã«æªããã®ã¯ããããè¤æ°ä½æããã¨ãããè注ã«ã¯å
ã
æ¸ãã¦ã¾ããã©ã
ããã¯å¤åè«ææ¸ãã¦ã©ããã«æ稿ä¸ãªãã§ãã¾ã æãããªããã ã¨æãã¾ãããããã®è«æãå
¥æã§ãããè£è¶³è¨äºãæ¸ãã¾ãã
*1:æªã³ããã«æ¸ãã¨ããããªãã®åé¡æèµ·ã¯ã§ããããããªããã¨æã£ã¦ã¾ãããã ãã¾ãæ¬è³ªçã§ãªããä½è¨ãªã¨ããã§ãè¿·æããããæ¹é¢ãããã¤ããã£ãããã§ããã®ç¹ã¯å¤§å¤ç³ã訳ãªãã£ãã®ã§ããã
*2:ãã ã2. ã®æé ã§ã©ãè¤æ°ã®ããããçæãã¦ãããå ã®ããã°ã«ã¯æ¸ãã¦ã¾ããããããããããã¸ãããã®ãã¼ã«ã®ãã½ã§ã詳ããã¯è«æã«ãªãã¾ã§ããããªãããã