Ë¢ÆÁµÄÇø¿éÁ´ ÏëÖªµÀµÄ¶¼ÔÚÕâÀ ¡ª¡ªÇø¿éÁ´ÖÇÄܺÏÔ¼¿ØÖÆÁ÷ʶ±ðµÄ´ó¹æÄ£ÊµÑéÑо¿
Ðû²¼Ê±¼ä 2019-11-01¶àÄêÀ´£¬£¬£¬¿Ê±K66Ò»Á¬¹Ø×¢Çø¿éÁ´ÊÖÒÕÇå¾²ÎÊÌ⣬£¬£¬ÔÚÇø¿éÁ´×ÔÉíÇå¾²ÒÔ¼°Çø¿éÁ´Ó¦ÓÃÇå¾²·½Ã棬£¬£¬¶¼ÓÐÏìÓ¦µÄÑо¿ºÍʵ¼ù̽Ë÷¡£¡£¡£
¿Ê±K66ADLabÁªºÏµç×ӿƼ¼´óѧÅÌËã»úѧԺ£¨ÍøÂç¿Õ¼äÇ徲ѧԺ£©³ÂÌü¸±½ÌÊÚÊ״ζÔÒÔÌ«·»Çø¿éÁ´ÖÇÄܺÏÔ¼¿ØÖÆÁ÷µÄʶ±ð¾ÙÐÐÁË´ó¹æÄ£Ñо¿¡£¡£¡£¸ÃЧ¹û¡¶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»»á¼ì²éÔÚÏÖʵÌõ¼þϵķ¾¶¿É´ïÐÔ¡£¡£¡£ÆäÖÐOYENTEºÍMAIANÔÚ´¦Öóͷ£Ä³Ð©ºÏԼʱ»á´¥·¢Òì³££¬£¬£¬Í¨Ì«¹ýÎö·¢Ã÷¹²ÓÐÈýÀàÔµ¹ÊÔÓÉ£º¶ñÒâÎÞЧ×Ö½ÚÂë¡¢²»Ö§³ÖµÄ²Ù×÷ºÍÇó½âÆ÷Òì³£¡£¡£¡£ÎªÁËÉîÈë½ÏÁ¿£¬£¬£¬ÐÞ¸´ÁËÕâÈýÀർÖÂÒì³£µÄÈí¼þȱÏÝ¡£¡£¡£
ͨ¹ý¶Ôÿ¸ö¹¤¾ß¾ÙÐÐËùÓÐÒÔÌ«·»Çø¿éÁ´ÖÇÄܺÏÔ¼µÄʵÑ飬£¬£¬µÃ³öÒÔϽáÂÛ£º
£¨1£©ÓÉÓÚ½ÓÄɵÄÊÖÒÕ»òÕßÉèÖòî±ð£¬£¬£¬ÒÔÊÇÄ¿½ñÖ÷Á÷¹¤¾ßʶ±ðµÄÖÇÄܺÏÔ¼¿ØÖÆÁ÷ÊýÄ¿²î±ð¼Ó´ó£»£»£»£»£»£»ÏßÐÔ·´»ã±à±ÈµÝ¹é·´»ã±àÄÜʶ±ð¸ü¶à¿ØÖÆÁ÷£¬£¬£¬ÓÉÓڵݹéÆÊÎöÔÚʶ±ðµ½²»·¨×ªÒÆÄ¿µÄʱ¾Í×èÖ¹ÊÂÇé¡£¡£¡£
£¨2£©²î±ðÆÊÎö¹¤¾ßÔÚÆÊÎöÖØ´óÖÇÄܺÏÔ¼¿ØÖÆÁ÷ʱÄÜÁ¦²î±ð½Ï´ó£¬£¬£¬µä·¶Ôµ¹ÊÔÓÉÓз¾¶±¬Õ¨¡¢Ìáǰ¿¢ÊÂÌõ¼þºÍ²»ÍêÕûµÄ´úÂëģʽ¡£¡£¡£
£¨3£©ÉÏÊöµÄ6¿îÖ÷Á÷ÆÊÎö¹¤¾ß½öÕë¶Ô1.7%µÄÖÇÄܺÏÔ¼²Å»ªÊ¶±ð³öÏàͬµÄ¿ØÖÆÁ÷×ªÒÆ¡£¡£¡£
ΪÁËÌáÉýºÏÔ¼ÆÊÎö¹¤¾ßµÄ¿ØÖÆÁ÷ÆÊÎöÄÜÁ¦£¬£¬£¬Ìá³öÁË»ùÓÚÖ´ÐÐtraceµÄ¿ØÖÆÁ÷ʶ±ðÔöÇ¿¡£¡£¡£ÖÇÄܺÏÔ¼Ö´ÐÐtraceµÄÒ»ÖÖ»ñÈ¡·½·¨ÊÇͨ¹ý±ê×¼±à³Ì½Ó¿Ú web3.debug.traceTransaction()£¬£¬£¬µ«¸Ã½Ó¿ÚÐèÒªÌṩºÏÔ¼Ö´ÐеÄÉúÒâ¹þÏ£Öµ¡£¡£¡£Í¬Ê±£¬£¬£¬¸Ã½Ó¿ÚµÄÔËÐÐЧÂʺܵͣ¬£¬£¬Í¨Ì«¹ýÎöÔ´Âë·¢Ã÷ÆäÔÚ»ñÈ¡trace֮ǰÐèÒª×öÔËÐÐÇéÐγõʼ»¯¡¢¹¹½¨×¼È·×´Ì¬ºÍÖØ·ÅÉúÒâ¼Í¼£¬£¬£¬¼ÓÉÏweb3±à³Ì½Ó¿ÚÊÇRPCŲÓÃÀú³Ì£¬£¬£¬Òò´ËЧÂÊÄÑÒÔÌáÉý£¬£¬£¬×îÖÕÑ¡ÔñÁ˶ÔÒÔÌ«·»Çø¿éÁ´Öն˾ÙÐвå×®£¬£¬£¬ÓÉÓÚ¸ÃÖÕ¶ËÄÜÖ´ÐÐËùÓеÄÀúÊ·ºÏÔ¼²Ù×÷¡£¡£¡£ÏêϸÀ´Ëµ£¬£¬£¬Í¨¹ý¶ÔJUMPºÍJUMPI²Ù×÷¾ÙÐÐÁ˲å×®£¬£¬£¬×îÖÕ»ñµÃÁË6300ÍòµÄÖ´ÐÐtrace¡£¡£¡£Í¬Ê±£¬£¬£¬Ò²¶ÔÕâЩtrace¾ÙÐÐÁËÇи£¬£¬ÓÉÓÚºÏÔ¼µÄÖ´ÐÐtrace¼Í¼»á°üÀ¨ºÏÔ¼ÄڵĿØÖÆ×ªÒƺͺÏÔ¼¼äµÄ¿ØÖÆ×ªÒÆ¡£¡£¡£Í¨¹ý¶ÔÉÏÊö¹¤¾ßʶ±ðµÄ¿ØÖÆÁ÷ºÍÖ´ÐÐtrace»ñµÃµÄ¿ØÖÆÁ÷¾ÙÐÐÁËÆÊÎö£¬£¬£¬·¢Ã÷Ö´ÐÐtrace¿ÉÒÔÌáÉýÉÏÊö¹¤¾ßµÄ¿ØÖÆÁ÷ʶ±ðÄÜÁ¦£¬£¬£¬ÓÈÆäÊǹØÓÚMAIANºÍMiasm¹¤¾ß£¬£¬£¬ÌáÉýÄÜÁ¦½ÔÁè¼Ý°Ù·ÖÖ®°ËÊ®£»£»£»£»£»£»×ÝÈ»ÊÇ×îÓÅÒìµÄ¿ØÖÆÁ÷·¢Ã÷¹¤¾ßPorosity£¬£¬£¬ÌáÉýÄÜÁ¦Ò²ÓаٷÖ֮ʮ¡£¡£¡£
ΪÁËÑéÖ¤»ùÓÚÖ´ÐÐtraceµÄÓÐÓÃÐÔ£¬£¬£¬Ñ¡ÔñÁËOYENTE¹¤¾ß¾ÙÐÐÔöǿʵÏÖºÍÑéÖ¤£¬£¬£¬ÔöÇ¿µÄÏêϸËã·¨ÈçÏÂͼËùʾ¡£¡£¡£
Ñо¿Ð§¹ûÊÇʲô£¿£¿£¿£¿£¿£¿£¿
ʵÑéЧ¹ûÅú×¢£¬£¬£¬Ö´ÐÐtrace¿ÉÒÔÓÐÓÃÌáÉýÉÏÊö¹¤¾ßµÄÖÇÄܺÏÔ¼¿ØÖÆÁ÷ʶ±ðÄÜÁ¦£¬£¬£¬ÄÜ·¢Ã÷ÕâЩ¹¤¾ß²»¿É·¢Ã÷µÄ¿ØÖÆ×ªÒÆ¡£¡£¡£
ͨ¹ý¶ÔOYENTEµÄÔ´Âë¾ÙÐÐÁËÐÞ¸ÄÒÔǶÈëÔöÇ¿Ëã·¨£¬£¬£¬¼°¶ÔOYENTEÄÜʶ±ðµÄËÄÖÖºÏÔ¼Îó²î¾ÙÐÐÁËʵÑ飬£¬£¬½áÂÛ¼ûÏÂ±í¡£¡£¡£Õë¶ÔÉúÒâ˳ÐòÒÀÀµ¡¢Ê±¼äÒÀÀµºÍÖØÈëÀàÐ͵ÄÎó²î£¬£¬£¬ÔöÇ¿OYENTEÄܼì²â¸ü¶àµÄÎó²î¡£¡£¡£Õë¶Ôδ´¦Öóͷ£Òì³£Îó²î£¬£¬£¬ÔöÇ¿OYENTEδÄÜÌáÉý¼ì²âÄÜÁ¦£»£»£»£»£»£»¶ÔOYENTE¾ÙÐÐÔ´ÂëÆÊÎö·¢Ã÷£¬£¬£¬ÕâÊÇÓÉÓÚÕâÀàÎó²îÊÇÖ±½ÓÓúÏÔ¼×Ö½ÚÂëɨÃèÀ´¼ì²âµÄ£¬£¬£¬Óë¿ØÖÆÁ÷ÆÊÎöÎ޹ء£¡£¡£
´Ë´ÎÕë¶ÔÒÔÌ«·»Çø¿éÁ´ÖÇÄܺÏÔ¼¿ØÖÆÁ÷ʶ±ðµÄ´ó¹æÄ£Éî¶ÈÑо¿£¬£¬£¬È¡µÃÁ˶àÏîеķ¢Ã÷¡£¡£¡£Í¨¹ý²å×®ÒÔÌ«·»¿Í»§¶Ë£¬£¬£¬ÍøÂçÁËËùÓеÄÖÇÄܺÏÔ¼²¢»¹ÔÁËËùÓеÄÖ´ÐÐtrace¡£¡£¡£ÊµÑé֤ʵ£¬£¬£¬Ö´ÐÐtrace¿ÉÒÔÌáÉýÄ¿½ñÖ÷Á÷µÄÖÇÄܺÏÔ¼ÆÊÎö¹¤¾ßµÄ¿ØÖÆÁ÷ʶ±ðÄÜÁ¦£¬£¬£¬¸Ã·¢Ã÷½«ÓÐÖúÓÚÒÔÌ«·»Óû§¡¢¿ª·¢ÕߺÍÑо¿ÆÊÎöÖ°Ô±¿ªÕ¹¸üÉîÈëµÄÖÇÄܺÏÔ¼Ñо¿¡£¡£¡£
×÷ΪÐÅÏ¢Çå¾²ÐÐÒµÁì¾üÆóÒµ£¬£¬£¬¿Ê±K66¼áÊØ³õÐļ°×ÔÖ÷Á¢ÒìµÄ¾«Éñ£¬£¬£¬Ê¼ÖÕÖØÊÓ¶ÔÇø¿éÁ´ÊÖÒÕÇå¾²ÎÊÌâµÄÑо¿Óë̽Ë÷£¬£¬£¬È«Á¦°ü¹ÜÓû§¶ÔÇø¿éÁ´µÄÇå¾²ÐèÇ󡣡£¡£


¾©¹«Íø°²±¸11010802024551ºÅ