Ë¢ÆÁµÄÇø¿éÁ´ ÏëÖªµÀµÄ¶¼ÔÚÕâÀ ¡ª¡ªÇø¿éÁ´ÖÇÄܺÏÔ¼¿ØÖÆÁ÷ʶ±ðµÄ´ó¹æÄ£ÊµÑéÑо¿

Ðû²¼Ê±¼ä 2019-11-01
Öй²ÖÐÑëÕþÖξÖ10ÔÂ24ÈÕÏÂÖç¾ÍÇø¿éÁ´ÊÖÒÕÉú³¤ÏÖ×´ºÍÇ÷ÊÆ¾ÙÐеÚÊ®°Ë´ÎÕûÌåѧϰ£¬£¬£¬£¬¾Û»áÇ¿µ÷Çø¿éÁ´ÊÖÒյÉÓ¦ÓÃÔÚеÄÊÖÒÕˢк͹¤ÒµÀå¸ïÖÐÆð×ÅÖ÷Òª×÷Ó㬣¬£¬£¬Òª°ÑÇø¿éÁ´×÷Ϊ½¹µãÊÖÒÕ×ÔÖ÷Á¢ÒìµÄÖ÷ÒªÍ»ÆÆ¿Ú£¬£¬£¬£¬Ã÷È·Ö÷¹¥Æ«Ïò£¬£¬£¬£¬¼Ó´óͶÈëÁ¦¶È£¬£¬£¬£¬×ÅÁ¦¹¥¿ËÒ»ÅúÒªº¦½¹µãÊÖÒÕ£¬£¬£¬£¬¼ÓËÙÍÆ¶¯Çø¿éÁ´ÊÖÒպ͹¤ÒµÁ¢ÒìÉú³¤¡£¡£¡£¡£¡£


¶àÄêÀ´£¬£¬£¬£¬ÈËÉú¾ÍÊDz©Ò»Á¬¹Ø×¢Çø¿éÁ´ÊÖÒÕÇå¾²ÎÊÌ⣬£¬£¬£¬ÔÚÇø¿éÁ´×ÔÉíÇå¾²ÒÔ¼°Çø¿éÁ´Ó¦ÓÃÇå¾²·½Ã棬£¬£¬£¬¶¼ÓÐÏìÓ¦µÄÑо¿ºÍʵ¼ù̽Ë÷¡£¡£¡£¡£¡£

ÈËÉú¾ÍÊDz©ADLabÁªºÏµç×ӿƼ¼´óѧÅÌËã»úѧԺ£¨ÍøÂç¿Õ¼äÇ徲ѧԺ£©³ÂÌü¸±½ÌÊÚÊ״ζÔÒÔÌ«·»Çø¿éÁ´ÖÇÄܺÏÔ¼¿ØÖÆÁ÷µÄʶ±ð¾ÙÐÐÁË´ó¹æÄ£Ñо¿¡£¡£¡£¡£¡£¸ÃЧ¹û¡¶A Large-Scale Empirical Study on Control FlowIdentification of Smart  Contracts¡·ÓÚ2019Äê½ÒÏþÔÚÖйúÅÌËã»úѧ»á£¨CCF£©ÍƼöµÄBÀàѧÊõ¾Û»áInternational Symposium on Empirical SoftwareEngineering and Measurement¡£¡£¡£¡£¡£

¸ÃÑо¿ÆÊÎöÁËÄ¿½ñ6¸öÖ÷Á÷µÄÖÇÄܺÏÔ¼¾²Ì¬ÆÊÎö¹¤¾ß£¬£¬£¬£¬Í¨¹ý¶ÔÒÔÌ«·»Çø¿éÁ´ÉÏÒѰ²ÅŵÄËùÓкÏÔ¼£¨Ô¼500Íò£©ÊµÑéÖ´Ðиú×ÙÀ´ÆÀ¹ÀËûÃǵľ²Ì¬¿ØÖÆÁ÷ʶ±ðÄÜÁ¦¡£¡£¡£¡£¡£ÊµÑé֤ʵ£¬£¬£¬£¬Ò»Ð©µä·¶µÄÎÊÌâ»áµ¼ÖÂÉÏÊöÊ¢Ðй¤¾ß¶¼ÎÞ·¨Ê¶±ðËùÓеĿØÖÆÁ÷£¨Èç²»ÍêÕûµÄ´úÂëģʽ£©¡£¡£¡£¡£¡£Í¬Ê±£¬£¬£¬£¬ÊµÑé·¢Ã÷ͨ¹ýÖ´Ðиú×Ù¿ÉÒÔÓÐÓÃÔöÇ¿ÕâЩ¹¤¾ß¶Ô¿ØÖÆÁ÷µÄʶ±ð¡£¡£¡£¡£¡£Í¨¹ýÔÚOYENTEÖÐÒýÈëÖ´Ðиú×Ù£¬£¬£¬£¬ÊµÏÖÁ˰Ѿ²Ì¬¿ØÖÆÁ÷ÆÊÎöÎó±¨ÂʽµµÍ°Ù·ÖÖ®ÈýÊ®¡£¡£¡£¡£¡£Í¬Ê±£¬£¬£¬£¬¸ÃÑо¿»ñµÃÁË×î¼ÑÂÛÎÄÌáÃû½±¡£¡£¡£¡£¡£

ÈËÉú¾ÍÊDz©-×ðÁú¿­Ê±Öйú¹ÙÍø

Ñо¿ÄÚÈÝÓÐÄÄЩ£¿£¿

Ñо¿Ñ¡ÔñÁËÒÔϵÄÁù¿îÖ÷Á÷ÃæÏò×Ö½ÚÂëÖÇÄܺÏÔ¼µÄÆÊÎö¹¤¾ß£º

ÈËÉú¾ÍÊDz©-×ðÁú¿­Ê±Öйú¹ÙÍø

ÉÏÊöÁù¿î¹¤¾ßÖУ¬£¬£¬£¬Â·¾¶Ãô¸ÐµÄ¹¤¾ß¿ÉÄܱÈ·¾¶²»Ãô¸ÐµÄ¹¤¾ß·¢Ã÷¸ü¶àµÄ¿ØÖÆ×ªÒÆÂ·¾¶£¬£¬£¬£¬ÓÉÓÚËüÃDz»»á¼ì²éÔÚÏÖʵÌõ¼þϵķ¾¶¿É´ïÐÔ¡£¡£¡£¡£¡£ÆäÖÐOYENTEºÍMAIANÔÚ´¦Öóͷ£Ä³Ð©ºÏԼʱ»á´¥·¢Òì³££¬£¬£¬£¬Í¨Ì«¹ýÎö·¢Ã÷¹²ÓÐÈýÀàÔµ¹ÊÔ­ÓÉ£º¶ñÒâÎÞЧ×Ö½ÚÂë¡¢²»Ö§³ÖµÄ²Ù×÷ºÍÇó½âÆ÷Òì³£¡£¡£¡£¡£¡£ÎªÁËÉîÈë½ÏÁ¿£¬£¬£¬£¬ÐÞ¸´ÁËÕâÈýÀർÖÂÒì³£µÄÈí¼þȱÏÝ¡£¡£¡£¡£¡£

ͨ¹ý¶Ôÿ¸ö¹¤¾ß¾ÙÐÐËùÓÐÒÔÌ«·»Çø¿éÁ´ÖÇÄܺÏÔ¼µÄʵÑ飬£¬£¬£¬µÃ³öÒÔϽáÂÛ£º


£¨1£©ÓÉÓÚ½ÓÄɵÄÊÖÒÕ»òÕßÉèÖòî±ð£¬£¬£¬£¬ÒÔÊÇÄ¿½ñÖ÷Á÷¹¤¾ßʶ±ðµÄÖÇÄܺÏÔ¼¿ØÖÆÁ÷ÊýÄ¿²î±ð¼Ó´ó £»£»£» £»£»ÏßÐÔ·´»ã±à±ÈµÝ¹é·´»ã±àÄÜʶ±ð¸ü¶à¿ØÖÆÁ÷£¬£¬£¬£¬ÓÉÓڵݹéÆÊÎöÔÚʶ±ðµ½²»·¨×ªÒÆÄ¿µÄʱ¾Í×èÖ¹ÊÂÇé¡£¡£¡£¡£¡£


£¨2£©²î±ðÆÊÎö¹¤¾ßÔÚÆÊÎöÖØ´óÖÇÄܺÏÔ¼¿ØÖÆÁ÷ʱÄÜÁ¦²î±ð½Ï´ó£¬£¬£¬£¬µä·¶Ôµ¹ÊÔ­ÓÉÓз¾¶±¬Õ¨¡¢Ìáǰ¿¢ÊÂÌõ¼þºÍ²»ÍêÕûµÄ´úÂëģʽ¡£¡£¡£¡£¡£


£¨3£©ÉÏÊöµÄ6¿îÖ÷Á÷ÆÊÎö¹¤¾ß½öÕë¶Ô1.7%µÄÖÇÄܺÏÔ¼²Å»ªÊ¶±ð³öÏàͬµÄ¿ØÖÆÁ÷×ªÒÆ¡£¡£¡£¡£¡£


£¨4£©ºÏÔ¼µÄÖØÆ¯ºóÔ½¸ß£¬£¬£¬£¬²î±ðÆÊÎö¹¤¾ß»ñµÃÒ»ÖÂЧ¹ûÔ½ÄÑÌâ¡£¡£¡£¡£¡£


ΪÁËÌáÉýºÏÔ¼ÆÊÎö¹¤¾ßµÄ¿ØÖÆÁ÷ÆÊÎöÄÜÁ¦£¬£¬£¬£¬Ìá³öÁË»ùÓÚÖ´ÐÐtraceµÄ¿ØÖÆÁ÷ʶ±ðÔöÇ¿¡£¡£¡£¡£¡£ÖÇÄܺÏÔ¼Ö´ÐÐtraceµÄÒ»ÖÖ»ñÈ¡·½·¨ÊÇͨ¹ý±ê×¼±à³Ì½Ó¿Ú web3.debug.traceTransaction()£¬£¬£¬£¬µ«¸Ã½Ó¿ÚÐèÒªÌṩºÏÔ¼Ö´ÐеÄÉúÒâ¹þÏ£Öµ¡£¡£¡£¡£¡£Í¬Ê±£¬£¬£¬£¬¸Ã½Ó¿ÚµÄÔËÐÐЧÂʺܵÍ£¬£¬£¬£¬Í¨Ì«¹ýÎöÔ´Âë·¢Ã÷ÆäÔÚ»ñÈ¡trace֮ǰÐèÒª×öÔËÐÐÇéÐγõʼ»¯¡¢¹¹½¨×¼È·×´Ì¬ºÍÖØ·ÅÉúÒâ¼Í¼£¬£¬£¬£¬¼ÓÉÏweb3±à³Ì½Ó¿ÚÊÇRPCŲÓÃÀú³Ì£¬£¬£¬£¬Òò´ËЧÂÊÄÑÒÔÌáÉý£¬£¬£¬£¬×îÖÕÑ¡ÔñÁ˶ÔÒÔÌ«·»Çø¿éÁ´Öն˾ÙÐвå×®£¬£¬£¬£¬ÓÉÓÚ¸ÃÖÕ¶ËÄÜÖ´ÐÐËùÓеÄÀúÊ·ºÏÔ¼²Ù×÷¡£¡£¡£¡£¡£ÏêϸÀ´Ëµ£¬£¬£¬£¬Í¨¹ý¶ÔJUMPºÍJUMPI²Ù×÷¾ÙÐÐÁ˲å×®£¬£¬£¬£¬×îÖÕ»ñµÃÁË6300ÍòµÄÖ´ÐÐtrace¡£¡£¡£¡£¡£Í¬Ê±£¬£¬£¬£¬Ò²¶ÔÕâЩtrace¾ÙÐÐÁËÇи£¬£¬£¬ÓÉÓÚºÏÔ¼µÄÖ´ÐÐtrace¼Í¼»á°üÀ¨ºÏÔ¼ÄڵĿØÖÆ×ªÒƺͺÏÔ¼¼äµÄ¿ØÖÆ×ªÒÆ¡£¡£¡£¡£¡£Í¨¹ý¶ÔÉÏÊö¹¤¾ßʶ±ðµÄ¿ØÖÆÁ÷ºÍÖ´ÐÐtrace»ñµÃµÄ¿ØÖÆÁ÷¾ÙÐÐÁËÆÊÎö£¬£¬£¬£¬·¢Ã÷Ö´ÐÐtrace¿ÉÒÔÌáÉýÉÏÊö¹¤¾ßµÄ¿ØÖÆÁ÷ʶ±ðÄÜÁ¦£¬£¬£¬£¬ÓÈÆäÊǹØÓÚMAIANºÍMiasm¹¤¾ß£¬£¬£¬£¬ÌáÉýÄÜÁ¦½ÔÁè¼Ý°Ù·ÖÖ®°ËÊ® £»£»£» £»£»×ÝÈ»ÊÇ×îÓÅÒìµÄ¿ØÖÆÁ÷·¢Ã÷¹¤¾ßPorosity£¬£¬£¬£¬ÌáÉýÄÜÁ¦Ò²ÓаٷÖ֮ʮ¡£¡£¡£¡£¡£


ΪÁËÑéÖ¤»ùÓÚÖ´ÐÐtraceµÄÓÐÓÃÐÔ£¬£¬£¬£¬Ñ¡ÔñÁËOYENTE¹¤¾ß¾ÙÐÐÔöǿʵÏÖºÍÑéÖ¤£¬£¬£¬£¬ÔöÇ¿µÄÏêϸËã·¨ÈçÏÂͼËùʾ¡£¡£¡£¡£¡£

ÈËÉú¾ÍÊDz©-×ðÁú¿­Ê±Öйú¹ÙÍø

Ñо¿Ð§¹ûÊÇʲô£¿£¿

ʵÑéЧ¹ûÅú×¢£¬£¬£¬£¬Ö´ÐÐtrace¿ÉÒÔÓÐÓÃÌáÉýÉÏÊö¹¤¾ßµÄÖÇÄܺÏÔ¼¿ØÖÆÁ÷ʶ±ðÄÜÁ¦£¬£¬£¬£¬ÄÜ·¢Ã÷ÕâЩ¹¤¾ß²»¿É·¢Ã÷µÄ¿ØÖÆ×ªÒÆ¡£¡£¡£¡£¡£ 

ÈËÉú¾ÍÊDz©-×ðÁú¿­Ê±Öйú¹ÙÍø

ͨ¹ý¶ÔOYENTEµÄÔ´Âë¾ÙÐÐÁËÐÞ¸ÄÒÔǶÈëÔöÇ¿Ëã·¨£¬£¬£¬£¬¼°¶ÔOYENTEÄÜʶ±ðµÄËÄÖÖºÏÔ¼Îó²î¾ÙÐÐÁËʵÑ飬£¬£¬£¬½áÂÛ¼ûϱí¡£¡£¡£¡£¡£Õë¶ÔÉúÒâ˳ÐòÒÀÀµ¡¢Ê±¼äÒÀÀµºÍÖØÈëÀàÐ͵ÄÎó²î£¬£¬£¬£¬ÔöÇ¿OYENTEÄܼì²â¸ü¶àµÄÎó²î¡£¡£¡£¡£¡£Õë¶Ôδ´¦Öóͷ£Òì³£Îó²î£¬£¬£¬£¬ÔöÇ¿OYENTEδÄÜÌáÉý¼ì²âÄÜÁ¦ £»£»£» £»£»¶ÔOYENTE¾ÙÐÐÔ´ÂëÆÊÎö·¢Ã÷£¬£¬£¬£¬ÕâÊÇÓÉÓÚÕâÀàÎó²îÊÇÖ±½ÓÓúÏÔ¼×Ö½ÚÂëɨÃèÀ´¼ì²âµÄ£¬£¬£¬£¬Óë¿ØÖÆÁ÷ÆÊÎöÎ޹ء£¡£¡£¡£¡£

ÈËÉú¾ÍÊDz©-×ðÁú¿­Ê±Öйú¹ÙÍø

´Ë´ÎÕë¶ÔÒÔÌ«·»Çø¿éÁ´ÖÇÄܺÏÔ¼¿ØÖÆÁ÷ʶ±ðµÄ´ó¹æÄ£Éî¶ÈÑо¿£¬£¬£¬£¬È¡µÃÁ˶àÏîеķ¢Ã÷¡£¡£¡£¡£¡£Í¨¹ý²å×®ÒÔÌ«·»¿Í»§¶Ë£¬£¬£¬£¬ÍøÂçÁËËùÓеÄÖÇÄܺÏÔ¼²¢»¹Ô­ÁËËùÓеÄÖ´ÐÐtrace¡£¡£¡£¡£¡£ÊµÑé֤ʵ£¬£¬£¬£¬Ö´ÐÐtrace¿ÉÒÔÌáÉýÄ¿½ñÖ÷Á÷µÄÖÇÄܺÏÔ¼ÆÊÎö¹¤¾ßµÄ¿ØÖÆÁ÷ʶ±ðÄÜÁ¦£¬£¬£¬£¬¸Ã·¢Ã÷½«ÓÐÖúÓÚÒÔÌ«·»Óû§¡¢¿ª·¢ÕߺÍÑо¿ÆÊÎöÖ°Ô±¿ªÕ¹¸üÉîÈëµÄÖÇÄܺÏÔ¼Ñо¿¡£¡£¡£¡£¡£

×÷ΪÐÅÏ¢Çå¾²ÐÐÒµÁì¾üÆóÒµ£¬£¬£¬£¬ÈËÉú¾ÍÊDz©¼áÊØ³õÐļ°×ÔÖ÷Á¢ÒìµÄ¾«Éñ£¬£¬£¬£¬Ê¼ÖÕÖØÊÓ¶ÔÇø¿éÁ´ÊÖÒÕÇå¾²ÎÊÌâµÄÑо¿Óë̽Ë÷£¬£¬£¬£¬È«Á¦°ü¹ÜÓû§¶ÔÇø¿éÁ´µÄÇå¾²ÐèÇ󡣡£¡£¡£¡£