{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,14]],"date-time":"2026-05-14T20:09:28Z","timestamp":1778789368738,"version":"3.51.4"},"publisher-location":"New York, NY, USA","reference-count":54,"publisher":"ACM","license":[{"start":{"date-parts":[[2020,6,27]],"date-time":"2020-06-27T00:00:00Z","timestamp":1593216000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2020,6,27]]},"DOI":"10.1145\/3377811.3380424","type":"proceedings-article","created":{"date-parts":[[2020,10,1]],"date-time":"2020-10-01T18:25:38Z","timestamp":1601576738000},"page":"542-553","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":19,"title":["Gap between theory and practice"],"prefix":"10.1145","author":[{"given":"Sungjae","family":"Hwang","sequence":"first","affiliation":[{"name":"KAIST, Daejeon, South Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Sukyoung","family":"Ryu","sequence":"additional","affiliation":[{"name":"KAIST, Daejeon, South Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2020,10]]},"reference":[{"key":"e_1_3_2_1_1_1","volume-title":"Retrieved","year":"2019","unstructured":"2017. Parity Wallet Hacking. Retrieved August 23, 2019 from https:\/\/www.theregister.co.uk\/2017\/11\/10\/parity_280m_ethereum_wallet_lockdown_hack"},{"key":"e_1_3_2_1_2_1","volume-title":"The DAO. Retrieved","year":"2019","unstructured":"2018. The DAO. Retrieved August 23, 2019 from https:\/\/en.wikipedia.org\/wiki\/The_DAO_(organization)"},{"key":"e_1_3_2_1_3_1","volume-title":"Retrieved","year":"2019","unstructured":"2018. Ethereum: A Secure Decentralised Generalised Transaction Ledger. Retrieved August 23, 2019 from https:\/\/ethereum.github.io\/yellowpaper\/paper.pdf"},{"key":"e_1_3_2_1_4_1","volume-title":"Retrieved","year":"2019","unstructured":"2018. List of DApp. Retrieved August 23, 2019 from https:\/\/dappradar.com\/"},{"key":"e_1_3_2_1_5_1","volume-title":"Retrieved","year":"2019","unstructured":"2018. A Next-Generation Smart Contract and Decentralized Application Platform. Retrieved August 23, 2019 from https:\/\/github.com\/ethereum\/wiki\/wiki\/White-Paper"},{"key":"e_1_3_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-54455-6_8"},{"key":"e_1_3_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/236338.236343"},{"key":"e_1_3_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/2993600.2993611"},{"key":"e_1_3_2_1_9_1","volume-title":"Retrieved","year":"2016","unstructured":"ConsenSys. 2016. Token.sol. Retrieved August 07, 2019 from https:\/\/github.com\/ConsenSys\/Token-Factory\/blob\/master\/contracts\/Token.sol"},{"key":"e_1_3_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-53357-4_6"},{"key":"e_1_3_2_1_11_1","volume-title":"Retrieved","author":"Ps Ethereum","year":"2015","unstructured":"Ethereum EIPs. 2015. Renaming SUICIDE Opcode. Retrieved August 04, 2019 from https:\/\/github.com\/ethereum\/EIPs\/blob\/master\/EIPS\/eip-6.md"},{"key":"e_1_3_2_1_12_1","volume-title":"Retrieved","author":"Ps Ethereum","year":"2019","unstructured":"Ethereum EIPs. 2019. EIP-1470: Smart Contract Weakness Classification (SWC). Retrieved April 24, 2019 from https:\/\/github.com\/ethereum\/EIPs\/issues\/1469"},{"key":"e_1_3_2_1_13_1","volume-title":"Retrieved","year":"2019","unstructured":"Ethereum. 2019. Release Notes of Solidity Compiler. Retrieved April 24, 2019 from https:\/\/github.com\/ethereum\/solidity\/releases"},{"key":"e_1_3_2_1_14_1","volume-title":"Retrieved","year":"2019","unstructured":"Ethereum. 2019. Remix. Retrieved July 29, 2019 from https:\/\/github.com\/ethereum\/remix"},{"key":"e_1_3_2_1_15_1","volume-title":"Retrieved","year":"2019","unstructured":"Ethereum. 2019. TokenERC20 Example. Retrieved August 16, 2019 from https:\/\/github.com\/ethereum\/ethereum-org\/blob\/master\/solidity\/token-erc20.sol"},{"key":"e_1_3_2_1_16_1","unstructured":"Etherscan. 2019. Etherscan. Retrieved July 3 2019 from https:\/\/insights.stackoverflow.com\/survey\/2019"},{"key":"e_1_3_2_1_17_1","volume-title":"OSIRIS: Hunting for Integer Bugs in Ethereum Smart Contracts. In In Proceedings of 34th Annual Computer Security Applications Conference (ACSAC'18)","author":"Torres Christof Ferreira","year":"2018","unstructured":"Christof Ferreira Torres, Julian Sch\u00fctte, and Radu State. 2018. OSIRIS: Hunting for Integer Bugs in Ethereum Smart Contracts. In In Proceedings of 34th Annual Computer Security Applications Conference (ACSAC'18), San Juan, Puerto Rico, USA, December 3--7, 2018."},{"key":"e_1_3_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-89722-6_10"},{"key":"e_1_3_2_1_19_1","volume-title":"Retrieved","author":"NCC Group","year":"2019","unstructured":"NCC Group. 2019. The Decentralized Application Security Project. Retrieved April 24, 2019 from https:\/\/dasp.co"},{"key":"e_1_3_2_1_20_1","volume-title":"Kevm: A Complete Semantics of the Ethereum Virtual Machine. Technical Report.","author":"Hildenbrandt Everett","year":"2017","unstructured":"Everett Hildenbrandt, Manasvi Saxena, Xiaoran Zhu, Nishant Rodrigues, Philip Daian, Dwight Guth, and Grigore Rosu. 2017. Kevm: A Complete Semantics of the Ethereum Virtual Machine. Technical Report."},{"key":"e_1_3_2_1_21_1","volume-title":"Defining the Ethereum Virtual Machine for Interactive Theorem Provers. In In Proceedings of the 2017 Financial Cryptography and Data Security. Springer International Publishing, 520--535","author":"Hirai Yoichi","year":"2017","unstructured":"Yoichi Hirai. 2017. Defining the Ethereum Virtual Machine for Interactive Theorem Provers. In In Proceedings of the 2017 Financial Cryptography and Data Security. Springer International Publishing, 520--535."},{"key":"e_1_3_2_1_22_1","volume-title":"Detecting Passive Content Leaks and Pollution in Android Applications. In In Proceedings of the 20th Network and Distributed System Security Symposium (NDSS).","author":"Xuxian Jiang Yajin Zhou","year":"2013","unstructured":"Yajin Zhou Xuxian Jiang and Zhou Xuxian. 2013. Detecting Passive Content Leaks and Pollution in Android Applications. In In Proceedings of the 20th Network and Distributed System Security Symposium (NDSS)."},{"key":"e_1_3_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.14722\/ndss.2018.23082"},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/3293882.3330560"},{"key":"e_1_3_2_1_25_1","volume-title":"In Proceedings of the 27th USENIX Security Symposium (USENIX Security 18)","author":"Krupp Johannes","year":"2018","unstructured":"Johannes Krupp and Christian Rossow. 2018. teEther: Gnawing at Ethereum to Automatically Exploit Smart Contracts. In In Proceedings of the 27th USENIX Security Symposium (USENIX Security 18). Baltimore, MD: USENIX Association."},{"key":"e_1_3_2_1_26_1","volume-title":"Binary Codes Capable of Correcting Deletions, Insertions and Reversals. Soviet Physics Doklady 10 (Feb","author":"Levenshtein V. I.","year":"1966","unstructured":"V. I. Levenshtein. 1966. Binary Codes Capable of Correcting Deletions, Insertions and Reversals. Soviet Physics Doklady 10 (Feb. 1966), 707."},{"key":"e_1_3_2_1_27_1","volume-title":"Making Smart Contracts Smarter. In In Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security. ACM, 254--269","author":"Luu Loi","year":"2016","unstructured":"Loi Luu, Duc-Hiep Chu, Hrishi Olickel, Prateek Saxena, and Aquinas Hobor. 2016. Making Smart Contracts Smarter. In In Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security. ACM, 254--269."},{"key":"e_1_3_2_1_28_1","volume-title":"Designing Secure Ethereum Smart Contracts: A Finite State Machine Based Approach. In In Proceedings of the 22nd Financial Cryptography and Data Security. Springer International Publishing.","author":"Mavridou Anastasia","year":"2018","unstructured":"Anastasia Mavridou and Aron Laszka. 2018. Designing Secure Ethereum Smart Contracts: A Finite State Machine Based Approach. In In Proceedings of the 22nd Financial Cryptography and Data Security. Springer International Publishing."},{"key":"e_1_3_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/3274694.3274743"},{"key":"e_1_3_2_1_30_1","volume-title":"Retrieved","year":"2019","unstructured":"OpenZeppelin. 2019. OpenZeppelin. Retrieved August 16, 2019 from https:\/\/openzeppelin.com\/"},{"key":"e_1_3_2_1_31_1","volume-title":"Retrieved","year":"2019","unstructured":"OpenZeppelin. 2019. SimpleToken Example. Retrieved August 16, 2019 from https:\/\/github.com\/OpenZeppelin\/openzeppelin-contracts\/blob\/eda63c75c45e96e10d3fc188f717c8e7be64d420\/contracts\/examples\/SimpleToken.sol"},{"key":"e_1_3_2_1_32_1","volume-title":"Retrieved","author":"OWASP.","year":"2019","unstructured":"OWASP. 2019. Testing for Race Conditions. Retrieved August 07, 2019 from https:\/\/www.owasp.org\/index.php\/Testing_for_Race_Conditions_(OWASP-AT-010)"},{"key":"e_1_3_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jlap.2010.03.012"},{"key":"e_1_3_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-70278-0_30"},{"key":"e_1_3_2_1_35_1","volume-title":"Retrieved","year":"2016","unstructured":"Solidity. 2016. Alias A New Name to the SHA3 Opcode. Retrieved August 04, 2019 from https:\/\/github.com\/ethereum\/solidity\/issues\/363"},{"key":"e_1_3_2_1_36_1","volume-title":"Retrieved","year":"2017","unstructured":"Solidity. 2017. Move blockhash from block.blockhash to Global Level. Retrieved August 04, 2019 from https:\/\/github.com\/ethereum\/solidity\/issues\/2970"},{"key":"e_1_3_2_1_37_1","volume-title":"Retrieved","year":"2017","unstructured":"Solidity. 2017. Move msg.gas to Global Level As gasleft(). Retrieved August 04, 2019 from https:\/\/github.com\/ethereum\/solidity\/issues\/2971"},{"key":"e_1_3_2_1_38_1","volume-title":"Retrieved","year":"2018","unstructured":"Solidity. 2018. Low Level Operations: send Function. Retrieved August 07, 2019 from https:\/\/solidity.readthedocs.io\/en\/v0.5.7\/control-structures.html?highlight=send#error-handling-assert-require-revert-and-exceptions"},{"key":"e_1_3_2_1_39_1","volume-title":"Retrieved","year":"2018","unstructured":"Solidity. 2018. Solidity Documentation: Self-destruct. Retrieved January 06, 2020 from https:\/\/solidity.readthedocs.io\/en\/v0.4.25\/introduction-to-smart-contracts.html?highlight=destruct"},{"key":"e_1_3_2_1_40_1","volume-title":"Retrieved","year":"2018","unstructured":"Solidity. 2018. Solidity Multiple Inheritance Resolution. Retrieved August 03, 2019 from https:\/\/github.com\/ethereum\/solidity\/issues\/3856"},{"key":"e_1_3_2_1_41_1","volume-title":"Retrieved","year":"2018","unstructured":"Solidity. 2018. Solidity Official Documentation: Break Changes. Retrieved August 22, 2019 from https:\/\/solidity.readthedocs.io\/en\/v0.5.7\/050-breaking-changes.html#"},{"key":"e_1_3_2_1_42_1","volume-title":"Retrieved","year":"2018","unstructured":"Solidity. 2018. Solidity Official Documentation: C3 Linearization. Retrieved August 17, 2019 from https:\/\/solidity.readthedocs.io\/en\/v0.5.0\/contracts.html?highlight=c3%20linearization#inheritance"},{"key":"e_1_3_2_1_43_1","volume-title":"Retrieved","year":"2018","unstructured":"Solidity. 2018. Type Conversion. Retrieved August 07, 2019 from https:\/\/solidity.readthedocs.io\/en\/v0.5.7\/types.html?highlight=conversion#conversions-between-elementary-types"},{"key":"e_1_3_2_1_44_1","volume-title":"Retrieved","year":"2018","unstructured":"Solidity. 2018. Type Conversion Work Around. Retrieved August 07, 2019 from https:\/\/solidity.readthedocs.io\/en\/v0.5.7\/050-breaking-changes.html"},{"key":"e_1_3_2_1_45_1","volume-title":"Retrieved","year":"2019","unstructured":"Solidity. 2019. Ethereum Smart Contract Best Practices. Retrieved April 24, 2019 from https:\/\/consensys.github.io\/smart-contract-best-practices\/known_attacks\/"},{"key":"e_1_3_2_1_46_1","volume-title":"Retrieved","year":"2019","unstructured":"Solidity. 2019. Official Solidity Documentation. Retrieved April 24, 2019 from https:\/\/solidity.readthedocs.io\/en\/v0.5.7\/"},{"key":"e_1_3_2_1_47_1","volume-title":"Retrieved","year":"2019","unstructured":"Solidity. 2019. Shadowing of Inherited State Variables Should Be An Error. Retrieved July 07, 2019 from https:\/\/github.com\/ethereum\/solidity\/issues\/2563"},{"key":"e_1_3_2_1_48_1","volume-title":"Retrieved","year":"2019","unstructured":"Solidity. 2019. Smart Contract Weakness Classification and Test Cases. Retrieved April 24, 2019 from https:\/\/smartcontractsecurity.github.io\/SWC-registry\/"},{"key":"e_1_3_2_1_49_1","volume-title":"CALLCODE and DELEGATECALL. Retrieved","author":"StackExchange Ethereum","year":"2016","unstructured":"Ethereum StackExchange. 2016. Difference Between CALL, CALLCODE and DELEGATECALL. Retrieved August 22, 2019 from https:\/\/ethereum.stackexchange.com\/questions\/3667\/difference-between-call-callcode-and-delegatecall"},{"key":"e_1_3_2_1_50_1","volume-title":"Retrieved","author":"StackExchange Ethereum","year":"2017","unstructured":"Ethereum StackExchange. 2017. Why Do 'throw' and 'revert()' Create Different Bytecodes? Retrieved August 22, 2019 from https:\/\/ethereum.stackexchange.com\/questions\/20978\/why-do-throw-and-revert-create-different-bytecodes"},{"key":"e_1_3_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1145\/3243734.3243780"},{"key":"e_1_3_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/321796.321811"},{"key":"e_1_3_2_1_53_1","volume-title":"Retrieved","year":"2017","unstructured":"Zeppelin-Solidity. 2017. Ownable.sol. Retrieved August 07, 2019 from https:\/\/github.com\/aragon\/zeppelin-solidity\/blob\/master\/contracts\/ownership\/Ownable.sol"},{"key":"e_1_3_2_1_54_1","unstructured":"Qi Zhou. 2018. QuarkChain: Issues Due to the Inheritance Order. Personal communication."}],"event":{"name":"ICSE '20: 42nd International Conference on Software Engineering","location":"Seoul South Korea","acronym":"ICSE '20","sponsor":["SIGSOFT ACM Special Interest Group on Software Engineering","KIISE Korean Institute of Information Scientists and Engineers","IEEE CS"]},"container-title":["Proceedings of the ACM\/IEEE 42nd International Conference on Software Engineering"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3377811.3380424","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3377811.3380424","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T22:41:40Z","timestamp":1750200100000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3377811.3380424"}},"subtitle":["an empirical study of security patches in solidity"],"short-title":[],"issued":{"date-parts":[[2020,6,27]]},"references-count":54,"alternative-id":["10.1145\/3377811.3380424","10.1145\/3377811"],"URL":"https:\/\/doi.org\/10.1145\/3377811.3380424","relation":{},"subject":[],"published":{"date-parts":[[2020,6,27]]},"assertion":[{"value":"2020-10-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}