{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,14]],"date-time":"2026-02-14T14:32:14Z","timestamp":1771079534468,"version":"3.50.1"},"reference-count":42,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2020,9,26]],"date-time":"2020-09-26T00:00:00Z","timestamp":1601078400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"Academic Research Fund","award":["17-C220-SMU-008"],"award-info":[{"award-number":["17-C220-SMU-008"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Softw. Eng. Methodol."],"published-print":{"date-parts":[[2020,10,31]]},"abstract":"<jats:p>\n            Smart contracts are automated or self-enforcing contracts that can be used to exchange assets without having to place trust in third parties. Many commercial transactions use smart contracts due to their potential benefits in terms of secure peer-to-peer transactions independent of external parties. Experience shows that many commonly used smart contracts are vulnerable to serious malicious attacks, which may enable attackers to steal valuable assets of involving parties. There is, therefore, a need to apply analysis and automated repair techniques to detect and repair bugs in smart contracts before being deployed. In this work, we present the first general-purpose automated smart contract repair approach that is also gas-aware. Our repair method is search-based and searches among mutations of the buggy contract. Our method also considers the gas usage of the candidate patches by leveraging our novel notion of\n            <jats:italic>gas dominance relationship<\/jats:italic>\n            . We have made our smart contract repair tool\n            <jats:sc>SCRepair<\/jats:sc>\n            available open-source, for investigation by the wider community.\n          <\/jats:p>","DOI":"10.1145\/3402450","type":"journal-article","created":{"date-parts":[[2020,9,26]],"date-time":"2020-09-26T10:58:57Z","timestamp":1601117937000},"page":"1-32","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":67,"title":["Smart Contract Repair"],"prefix":"10.1145","volume":"29","author":[{"given":"Xiao Liang","family":"Yu","sequence":"first","affiliation":[{"name":"National University of Singapore, Singapore"}]},{"given":"Omar","family":"Al-Bataineh","sequence":"additional","affiliation":[{"name":"National University of Singapore, Singapore"}]},{"given":"David","family":"Lo","sequence":"additional","affiliation":[{"name":"Singapore Management University, Singapore"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-7127-1137","authenticated-orcid":false,"given":"Abhik","family":"Roychoudhury","sequence":"additional","affiliation":[{"name":"National University of Singapore, Singapore"}]}],"member":"320","published-online":{"date-parts":[[2020,9,26]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/3167084"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/1985793.1985795"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-54455-6_8"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/2993600.2993611"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-45356-3_83"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-53357-4_6"},{"key":"e_1_2_1_7_1","volume-title":"Ethereum Smart Contracts: Security Vulnerabilities and Security Tools. Master\u2019s thesis","author":"Dika Ardit"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/WETSEB.2019.00008"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/3338906.3341175"},{"key":"e_1_2_1_10_1","volume-title":"Proceedings of the 16th International Conference on Computer Aided Verification (CAV\u201904)","author":"Gammie Peter"},{"key":"e_1_2_1_11_1","volume-title":"Automated program repair. Commun. ACM 62, 12","author":"Goues Claire Le","year":"2019"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-89722-6_10"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/3183440.3183485"},{"key":"e_1_2_1_14_1","volume-title":"Proc. ACM Program. Lang. 2","author":"Grossman Shelly","year":"2017"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-31500-9_19"},{"key":"e_1_2_1_16_1","volume-title":"Proceedings of the 33rd ACM\/IEEE International Conference on Automated Software Engineering (ASE\u201918)","author":"Jiang Bo"},{"key":"e_1_2_1_17_1","volume-title":"Proceedings of the International Symposium on Software Testing and Analysis. ACM, 437--440","author":"Just Ren\u00e9"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.14722\/ndss.2018.23082"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/3092703.3098225"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.5555\/2337223.2337225"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2011.104"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICWS.2017.54"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/2786805.2786811"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/2976749.2978309"},{"key":"e_1_2_1_25_1","volume-title":"Leveraging Applications of Formal Methods, Verification and Validation","author":"Marescotti Matteo"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-013-9282-8"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2015.63"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/2884781.2884807"},{"key":"e_1_2_1_29_1","volume-title":"Proceedings of the International Conference on Software Engineering (ICSE\u201913)","author":"Thien Nguyen Hoang Duong","year":"2013"},{"key":"e_1_2_1_30_1","volume-title":"Proceedings of the IEEE\/ACM 37th IEEE International Conference on Software Engineering","volume":"1","author":"Nistor A.","year":"2015"},{"key":"e_1_2_1_31_1","volume-title":"Untch","author":"Jefferson Offutt A.","year":"2001"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1016\/bs.adcom.2018.03.015"},{"key":"e_1_2_1_33_1","volume-title":"Proceedings of the ACM\/IEEE International Conference on Software Engineering.","author":"Qi Y."},{"key":"e_1_2_1_34_1","unstructured":"Christopher Signer. 2018. Gas Cost Analysis for Ethereum Smart Contracts. Master\u2019s thesis. ETH Zurich Department of Computer Science.  Christopher Signer. 2018. Gas Cost Analysis for Ethereum Smart Contracts. Master\u2019s thesis. ETH Zurich Department of Computer Science."},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/3194113.3194115"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/3243734.3243780"},{"key":"e_1_2_1_37_1","volume-title":"Proceedings of the IEEE International Conference on Blockchain and Cryptocurrency. 176--179","author":"van der Meyden Ron","year":"2019"},{"key":"e_1_2_1_38_1","first-page":"1","article-title":"Ethereum: A secure decentralised generalised transaction ledger","volume":"151","author":"Wood Gavin","year":"2019","journal-title":"Ethereum Project Yellow Paper"},{"key":"e_1_2_1_39_1","unstructured":"Haoran Wu Xingya Wang Jiehui Xu Weiqin Zou Lingming Zhang and Zhenyu Chen. 2019. Mutation Testing for Ethereum Smart Contract. arXiv:1908.03707 [cs.SE].  Haoran Wu Xingya Wang Jiehui Xu Weiqin Zou Lingming Zhang and Zhenyu Chen. 2019. Mutation Testing for Ethereum Smart Contract. arXiv:1908.03707 [cs.SE]."},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2016.2560811"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/3106237.3106262"},{"key":"e_1_2_1_42_1","volume-title":"Proceedings of the Forum and Doctoral Consortium Papers Presented at the 29th International Conference on Advanced Information Systems Engineering (CAiSE\u201917)","author":"Yu Xiao Liang","year":"2017"}],"container-title":["ACM Transactions on Software Engineering and Methodology"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3402450","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3402450","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T22:41:34Z","timestamp":1750200094000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3402450"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,9,26]]},"references-count":42,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2020,10,31]]}},"alternative-id":["10.1145\/3402450"],"URL":"https:\/\/doi.org\/10.1145\/3402450","relation":{},"ISSN":["1049-331X","1557-7392"],"issn-type":[{"value":"1049-331X","type":"print"},{"value":"1557-7392","type":"electronic"}],"subject":[],"published":{"date-parts":[[2020,9,26]]},"assertion":[{"value":"2019-12-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2020-05-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2020-09-26","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}