[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3650212.3680391acmconferencesArticle/Chapter ViewAbstractPublication PagesisstaConference Proceedingsconference-collections
research-article

Empirical Study of Move Smart Contract Security: Introducing MoveScan for Enhanced Analysis

Published: 11 September 2024 Publication History

Abstract

Move, a programming language for smart contracts, stands out for its focus on security. However, the practical security efficacy of Move contracts remains an open question. This work conducts the first comprehensive empirical study on the security of Move contracts. Our initial step involves collaborating with a security company to manually audit 652 contracts from 92 Move projects. This process reveals eight types of defects, with half previously unreported. These defects present potential security risks, cause functional flaws, mislead users, or waste computational resources. To further evaluate the prevalence of these defects in real-world Move contracts, we present MoveScan, an automated analysis framework that translates bytecode into an intermediate representation (IR), extracts essential meta-information, and detects all eight defect types. By leveraging MoveScan, we uncover 97,028 defects across all 37,302 deployed contracts in the Aptos and Sui blockchains, indicating a high prevalence of defects. Experimental results demonstrate that the precision of MoveScan reaches 98.85%, with an average project analysis time of merely 5.45 milliseconds. This surpasses previous state-of-the-art tools MoveLint, which exhibits an accuracy of 87.50% with an average project analysis time of 71.72 milliseconds, and Move Prover, which has a recall rate of 6.02% and requires manual intervention. Our research also yields new observations and insights that aid in developing more secure Move contracts.

References

[1]
Mouhamad Almakhour, Layth Sliman, Abed Ellatif Samhat, and Abdelhamid Mellouk. 2023. A formal verification approach for composite smart contracts security using FSM. Journal of King Saud University - Computer and Information Sciences, 35, 1 (2023), 70–86. issn:1319-1578 https://doi.org/10.1016/j.jksuci.2022.08.029
[2]
Aptflip. 2024. Aptflip | Flip to win. https://aptflip.com/ Accessed on: April 6, 2024
[3]
Aptoscan. 2024. Daily User Transactions. https://aptoscan.com/ Accessed on: February 7, 2024
[4]
argo. 2024. Argo | USDA. https://argo.fi/ Accessed on: April 6, 2024
[5]
BeosinBlockchainSecurity. 2023. Move Lint. https://github.com/BeosinBlockchainSecurity/Move-Lint Accessed on: September 13, 2023
[6]
BFlyFinance. 2022. FAI. https://github.com/BFlyFinance/FAI Accessed on: November 13, 2023
[7]
Sam Blackshear, Evan Cheng, David L Dill, Victor Gao, Ben Maurer, Todd Nowacki, Alistair Pott, Shaz Qadeer, Dario Russi Rain, and Stephane Sezer. 2019. Move: A language with programmable resources. Libra Assoc, 1. https://api.semanticscholar.org/CorpusID:201681125
[8]
Jie Cai, Bin Li, Jiale Zhang, Xiaobing Sun, and Bing Chen. 2023. Combine sliced joint graph with graph neural networks for smart contract vulnerability detection. Journal of Systems and Software, 195 (2023), 111550. issn:0164-1212 https://doi.org/10.1016/j.jss.2022.111550
[9]
Jie Cai, Bin Li, Tao Zhang, Jiale Zhang, and Xiaobing Sun. 2024. Fine-grained smart contract vulnerability detection by heterogeneous code feature learning and automated dataset construction. Journal of Systems and Software, 209 (2024), 111919. issn:0164-1212 https://doi.org/10.1016/j.jss.2023.111919
[10]
Ting Chen, Yufei Zhang, Zihao Li, Xiapu Luo, Ting Wang, Rong Cao, Xiuzhuo Xiao, and Xiaosong Zhang. 2019. TokenScope: Automatically Detecting Inconsistent Behaviors of Cryptocurrency Tokens in Ethereum. In Proceedings of the 2019 ACM SIGSAC Conference on Computer and Communications Security (CCS ’19). Association for Computing Machinery, New York, NY, USA. 1503–1520. isbn:9781450367479 https://doi.org/10.1145/3319535.3345664
[11]
Jacob Cohen. 1960. A Coefficient of Agreement for Nominal Scales. Educational and Psychological Measurement, 20, 1 (1960), 37–46. https://doi.org/10.1177/001316446002000104 arxiv:https://doi.org/10.1177/001316446002000104.
[12]
CoinGecko. [n. d.]. Cryptocurrency Prices by Market Cap. https://www.coingecko.com/ Accessed on: February 1, 2024
[13]
Consensys. [n. d.]. Mythril. https://github.com/Consensys/mythril Accessed on: January 30, 2024
[14]
Keith D Cooper, Timothy J Harvey, and Ken Kennedy. 2001. A simple, fast dominance algorithm. Software Practice & Experience, 4, 1-10 (2001), 1–8.
[15]
Weichu Deng, Huanchun Wei, Teng Huang, Cong Cao, Yun Peng, and Xuan Hu. 2023. Smart Contract Vulnerability Detection Based on Deep Learning and Multimodal Decision Fusion. Sensors, 23, 16 (2023), issn:1424-8220 https://doi.org/10.3390/s23167246
[16]
ABEL Finance. 2024. Abel Finance - Decentralized LP Lending Platform. https://abelfinance.xyz/ Accessed on: April 6, 2024
[17]
Aptos Foundation. 2023. Aptos Ecosystem. https://github.com/aptos-foundation/ecosystem-projects Accessed on: November 13, 2023
[18]
Aptos Foundation. 2024. Aptos - The World’s Most Production-Ready Blockchain. https://aptosfoundation.org/ Accessed on: January 22, 2024
[19]
Axelar Foundation. 2024. Axelar | Internet-scale interoperability. https://axelar.network/ Accessed on: April 6, 2024
[20]
Aptos Foundation. 2024. Move Specification Language. https://aptos.dev/move/prover/spec-lang/ Accessed on: March 7, 2024
[21]
Asem Ghaleb, Julia Rubin, and Karthik Pattabiraman. 2022. eTainter: detecting gas-related vulnerabilities in smart contracts. In Proceedings of the 31st ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2022). Association for Computing Machinery, New York, NY, USA. 728–739. isbn:9781450393799 https://doi.org/10.1145/3533767.3534378
[22]
Asem Ghaleb, Julia Rubin, and Karthik Pattabiraman. 2023. AChecker: Statically Detecting Smart Contract Access Control Vulnerabilities. May, 945–956. issn:1558-1225 https://doi.org/10.1109/ICSE48619.2023.00087
[23]
Neville Grech, Michael Kong, Anton Jurisevic, Lexi Brent, Bernhard Scholz, and Yannis Smaragdakis. 2020. MadMax: analyzing the out-of-gas world of smart contracts. Commun. ACM, 63, 10 (2020), sep, 87–95. issn:0001-0782 https://doi.org/10.1145/3416262
[24]
Wolfgang Grieskamp. 2024. Boogie type error with bit vector number representatioon. https://github.com/aptos-labs/aptos-core/issues/12526 Accessed on: March 25, 2024
[25]
Zheyuan He, Zihao Li, Sen Yang, Ao Qiao, Xiaosong Zhang, Xiapu Luo, and Ting Chen. 2024. Large Language Models for Blockchain Security: A Systematic Literature Review. arxiv:2403.14280. arxiv:2403.14280
[26]
Tianyuan Hu, Bixin Li, Zhenyu Pan, and Chen Qian. 2024. Detect Defects of Solidity Smart Contract Based on the Knowledge Graph. IEEE Transactions on Reliability, 73, 1 (2024), March, 186–202. issn:1558-1721 https://doi.org/10.1109/TR.2023.3233999
[27]
Jianjun Huang, Jiasheng Jiang, Wei You, and Bin Liang. 2022. Precise Dynamic Symbolic Execution for Nonuniform Data Access in Smart Contracts. IEEE Trans. Comput., 71, 7 (2022), July, 1551–1563. issn:1557-9956 https://doi.org/10.1109/TC.2021.3092639
[28]
Meng Huang, Jia Yang, and Cong Liu. 2023. CDRF: A Detection Method of Smart Contract Vulnerability Based on Random Forest. In Provable and Practical Security, Mingwu Zhang, Man Ho Au, and Yudi Zhang (Eds.). Springer Nature Switzerland, Cham. 407–428. isbn:978-3-031-45513-1
[29]
Chainbase Inc. 2023. Chainbase.com: The #1 Web3 Data Infra. https://chainbase.com/ Accessed on: November 13, 2023
[30]
Bo Jiang, Ye Liu, and W. K. Chan. 2018. ContractFuzzer: fuzzing smart contracts for vulnerability detection. In Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering (ASE ’18). Association for Computing Machinery, New York, NY, USA. 259–269. isbn:9781450359375 https://doi.org/10.1145/3238147.3238177
[31]
Eric Keilty, Keerthi Nelaturu, Bowen Wu, and Andreas Veneris. 2022. A Model-Checking Framework for the Verification of Move Smart Contracts. In 2022 IEEE 13th International Conference on Software Engineering and Service Science (ICSESS). 1–7. issn:2327-0594 https://doi.org/10.1109/ICSESS54813.2022.9930214
[32]
Bware Labs. 2024. Decentralized Web3 Infrastructure - Blast API. https://blastapi.io/ Accessed on: April 6, 2024
[33]
Mysten Labs. 2023. Awesome Move. https://github.com/MystenLabs/awesome-move Accessed on: November 13, 2023
[34]
Zhou Liao, Shuwei Song, Hang Zhu, Xiapu Luo, Zheyuan He, Renkai Jiang, Ting Chen, Jiachi Chen, Tao Zhang, and Xiaosong Zhang. 2023. Large-Scale Empirical Study of Inline Assembly on 7.6 Million Ethereum Smart Contracts. IEEE Transactions on Software Engineering, 49, 2 (2023), 777–801. https://doi.org/10.1109/TSE.2022.3163614
[35]
Yiping Liu, Jie Xu, and Baojiang Cui. 2022. Smart Contract Vulnerability Detection Based on Symbolic Execution Technology. In Cyber Security, Wei Lu, Yuqing Zhang, Weiping Wen, Hanbing Yan, and Chao Li (Eds.). Springer Nature Singapore, Singapore. 193–207. isbn:978-981-16-9229-1
[36]
Zhenpeng Liu, Mingxiao Jiang, Shengcong Zhang, Jialiang Zhang, and Yi Liu. 2023. A Smart Contract Vulnerability Detection Mechanism Based on Deep Learning and Expert Rules. IEEE Access, 11 (2023), 77990–77999. issn:2169-3536 https://doi.org/10.1109/ACCESS.2023.3298048
[37]
Loi Luu, Duc-Hiep Chu, Hrishi Olickel, Prateek Saxena, and Aquinas Hobor. 2016. Making Smart Contracts Smarter. In Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security (CCS ’16). Association for Computing Machinery, New York, NY, USA. 254–269. isbn:9781450341394 https://doi.org/10.1145/2976749.2978309
[38]
MITRE. 2024. CWE-252: Unchecked Return Value. https://cwe.mitre.org/data/definitions/252.html Accessed on: March 7, 2024
[39]
Move. 2024. Move standard library. https://github.com/move-language/move/tree/main/language/move-stdlib Accessed on: April 6, 2024
[40]
move language. 2023. Introduction - The Move Book. https://move-language.github.io/move/ Accessed on: January 22, 2024
[41]
MoveBit. 2023. MoveBit: Pioneer in Move Security. https://movebit.xyz/ Accessed on: November 13, 2023
[42]
K. Lakshmi Narayana and K. Sathiyamurthy. 2023. Automation and smart materials in detecting smart contracts vulnerabilities in Blockchain using deep learning. Materials Today: Proceedings, 81 (2023), 653–659. issn:2214-7853 https://doi.org/10.1016/j.matpr.2021.04.125 International Virtual Conference on Sustainable Materials (IVCSM-2k20)
[43]
Keerthi Nelaturu, Eric Keilty, and Andreas Veneris. 2023. Natural Language-Based Model-Checking Framework for Move Smart Contracts. In 2023 Tenth International Conference on Software Defined Systems (SDS). 89–94. https://doi.org/10.1109/SDS59856.2023.10328964
[44]
Hoang H. Nguyen, Nhat-Minh Nguyen, Chunyao Xie, Zahra Ahmadi, Daniel Kudendo, Thanh-Nam Doan, and Lingxiao Jiang. 2023. MANDO-HGT: Heterogeneous Graph Transformers for Smart Contract Vulnerability Detection. May, 334–346. issn:2574-3864 https://doi.org/10.1109/MSR59073.2023.00052
[45]
Tai D. Nguyen, Long H. Pham, Jun Sun, Yun Lin, and Quang Tran Minh. 2020. sFuzz: an efficient adaptive fuzzer for solidity smart contracts. In Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering (ICSE ’20). Association for Computing Machinery, New York, NY, USA. 778–788. isbn:9781450371216 https://doi.org/10.1145/3377811.3380334
[46]
Mitchell Olsthoorn, Dimitri Stallenberg, Arie van Deursen, and Annibale Panichella. 2022. SynTest-solidity: automated test case generation and fuzzing for smart contracts. In Proceedings of the ACM/IEEE 44th International Conference on Software Engineering: Companion Proceedings (ICSE ’22). Association for Computing Machinery, New York, NY, USA. 202–206. isbn:9781450392235 https://doi.org/10.1145/3510454.3516869
[47]
Rodrigo Otoni, Matteo Marescotti, Leonardo Alt, Patrick Eugster, Antti Hyvärinen, and Natasha Sharygina. 2023. A Solicitous Approach to Smart Contract Verification. ACM Trans. Priv. Secur., 26, 2 (2023), Article 15, mar, 28 pages. issn:2471-2566 https://doi.org/10.1145/3564699
[48]
Ferda Özdemir Sönmez and William J. Knottenbelt. 2024. ContractArmor: Attack Surface Generator for Smart Contracts. Procedia Comput. Sci., 231, C (2024), apr, 8–15. issn:1877-0509 https://doi.org/10.1016/j.procs.2023.12.151
[49]
Junkil Park, Teng Zhang, Wolfgang Grieskamp, Meng Xu, Gerardo Di Giacomo, Kundu Chen, Yi Lu, and Robert Chen. 2024. Securing Aptos Framework with Formal Verification. In 5th International Workshop on Formal Methods for Blockchains (FMBC 2024), Bruno Bernardo and Diego Marmsoler (Eds.) (Open Access Series in Informatics (OASIcs), Vol. 118). Schloss Dagstuhl – Leibniz-Zentrum für Informatik, Dagstuhl, Germany. 9:1–9:16. isbn:978-3-95977-317-1 issn:2190-6807 https://doi.org/10.4230/OASIcs.FMBC.2024.9
[50]
Michele Pasqua, Andrea Benini, Filippo Contro, Marco Crosara, Mila Dalla Preda, and Mariano Ceccato. 2023. Enhancing Ethereum smart-contracts static analysis by computing a precise Control-Flow Graph of Ethereum bytecode. Journal of Systems and Software, 200 (2023), 111653. issn:0164-1212 https://doi.org/10.1016/j.jss.2023.111653
[51]
Christoph Sendner, Huili Chen, Hossein Fereidooni, Lukas Petzi, Jan König, Jasper Stang, Alexandra Dmitrienko, Ahmad-Reza Sadeghi, and Farinaz Koushanfar. 2023. Smarter Contracts: Detecting Vulnerabilities in Smart Contracts with Deep Transfer Learning. In 30th Annual Network and Distributed System Security Symposium, NDSS 2023, San Diego, California, USA, February 27 - March 3, 2023. The Internet Society. https://www.ndss-symposium.org/ndss-paper/smarter-contracts-detecting-vulnerabilities-in-smart-contracts-with-deep-transfer-learning/
[52]
Chaofan Shou, Shangyin Tan, and Koushik Sen. 2023. ItyFuzz: Snapshot-Based Fuzzer for Smart Contract. In Proceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2023). Association for Computing Machinery, New York, NY, USA. 322–333. isbn:9798400702211 https://doi.org/10.1145/3597926.3598059
[53]
Shuxiao Song, Xiao Yu, Yuexuan Ma, Jiale Li, and Jie Yu. 2024. Multi-model Smart Contract Vulnerability Detection Based on BiGRU. In Neural Information Processing, Biao Luo, Long Cheng, Zheng-Guang Wu, Hongyi Li, and Chaojie Li (Eds.). Springer Nature Singapore, Singapore. 3–14. isbn:978-981-99-8132-8
[54]
Donna Spencer and Todd Warfel. 2004. Card sorting: a definitive guide. Boxes and arrows, 2, 2004 (2004), 1–23.
[55]
Staketab. 2023. Suiscan: Sui Explorer. https://suiscan.xyz/mainnet/home Accessed on: November 13, 2023
[56]
Starcoin. 2023. Starcoin Framework. https://github.com/starcoinorg/starcoin-framework Accessed on: November 13, 2023
[57]
Starcoin. 2024. Transactions - Starcoin. https://stcscan.io/main/transactions/1 Accessed on: February 7, 2024
[58]
Starcoin.org. 2021. Starcoin: Homepage. https://starcoin.org/en/ Accessed on: January 22, 2024
[59]
Elements Studio. 2022. Poly Stc contracts. https://github.com/Elements-Studio/poly-stc-contracts Accessed on: November 13, 2023
[60]
Elements Studio. 2022. Starswap core. https://github.com/Elements-Studio/starswap-core Accessed on: November 13, 2023
[61]
Sui. 2023. Sui | Unlock the freedom to build powerful on-chain assets. https://sui.io/ Accessed on: January 22, 2024
[62]
Sui. 2024. Capability - Move by Example. https://examples.sui.io/patterns/capability.html Accessed on: April 6, 2024
[63]
Sergei Tikhomirov, Ekaterina Voskresenskaya, Ivan Ivanitskiy, Ramil Takhaviev, Evgeny Marchenko, and Yaroslav Alexandrov. 2018. SmartCheck: static analysis of ethereum smart contracts. In Proceedings of the 1st International Workshop on Emerging Trends in Software Engineering for Blockchain (WETSEB ’18). Association for Computing Machinery, New York, NY, USA. 9–16. isbn:9781450357265 https://doi.org/10.1145/3194113.3194115
[64]
Palina Tolmach, Yi Li, Shang-Wei Lin, Yang Liu, and Zengxiang Li. 2021. A Survey of Smart Contract Formal Specification and Verification. ACM Comput. Surv., 54, 7 (2021), Article 148, jul, 38 pages. issn:0360-0300 https://doi.org/10.1145/3464421
[65]
Anna Vacca, Andrea Di Sorbo, Corrado A. Visaggio, and Gerardo Canfora. 2021. A systematic literature review of blockchain and smart contract development: Techniques, tools, and open challenges. Journal of Systems and Software, 174 (2021), 110891. issn:0164-1212 https://doi.org/10.1016/j.jss.2020.110891
[66]
Zhiyuan Wan, David Lo, Xin Xia, and Liang Cai. 2017. Bug Characteristics in Blockchain Systems: A Large-Scale Empirical Study. In 2017 IEEE/ACM 14th International Conference on Mining Software Repositories (MSR). 413–424. https://doi.org/10.1109/MSR.2017.59
[67]
Zhiyuan Wan, Xin Xia, David Lo, Jiachi Chen, Xiapu Luo, and Xiaohu Yang. 2021. Smart Contract Security: A Practitioners’ Perspective. In 2021 IEEE/ACM 43rd International Conference on Software Engineering (ICSE). 1410–1422. issn:1558-1225 https://doi.org/10.1109/ICSE43902.2021.00127
[68]
Shuai Wang, Yong Yuan, Xiao Wang, Juanjuan Li, Rui Qin, and Fei-Yue Wang. 2018. An Overview of Smart Contract: Architecture, Applications, and Future Trends. In 2018 IEEE Intelligent Vehicles Symposium (IV). 108–113. issn:1931-0587 https://doi.org/10.1109/IVS.2018.8500488
[69]
Zexu Wang, Bin Wen, Ziqiang Luo, and Shaojie Liu. 2021. M-A-R: A Dynamic Symbol Execution Detection Method for Smart Contract Reentry Vulnerability. In Blockchain and Trustworthy Systems, Hong-Ning Dai, Xuanzhe Liu, Daniel Xiapu Luo, Jiang Xiao, and Xiangping Chen (Eds.). Springer Singapore, Singapore. 418–429. isbn:978-981-16-7993-3
[70]
Rutao Yu, Jiangang Shu, Dekai Yan, and Xiaohua Jia. 2021. ReDetect: Reentrancy Vulnerability Detection in Smart Contracts with High Accuracy. In 2021 17th International Conference on Mobility, Sensing and Networking (MSN). 412–419. https://doi.org/10.1109/MSN53354.2021.00069
[71]
Dawei Yuan, Xiaohui Wang, Yao Li, and Tao Zhang. 2023. Optimizing smart contract vulnerability detection via multi-modality code and entropy embedding. Journal of Systems and Software, 202 (2023), 111699. issn:0164-1212 https://doi.org/10.1016/j.jss.2023.111699
[72]
Hengyan Zhang, Weizhe Zhang, Yuming Feng, and Yang Liu. 2023. SVScanner: Detecting smart contract vulnerabilities via deep semantic extraction. Journal of Information Security and Applications, 75 (2023), 103484. issn:2214-2126 https://doi.org/10.1016/j.jisa.2023.103484
[73]
Jingyi Emma Zhong, Kevin Cheang, Shaz Qadeer, Wolfgang Grieskamp, Sam Blackshear, Junkil Park, Yoni Zohar, Clark Barrett, and David L. Dill. 2020. The Move Prover. In Computer Aided Verification, Shuvendu K. Lahiri and Chao Wang (Eds.). Springer International Publishing, Cham. 137–150. isbn:978-3-030-53288-8
[74]
Andrei Zhukov and Vladimir Korkhov. 2023. SmartGraph: Static Analysis Tool for Solidity Smart Contracts. In Computational Science and Its Applications – ICCSA 2023 Workshops, Osvaldo Gervasi, Beniamino Murgante, Ana Maria A. C. Rocha, Chiara Garau, Francesco Scorza, Yeliz Karaca, and Carmelo M. Torre (Eds.). Springer Nature Switzerland, Cham. 584–598. isbn:978-3-031-37105-9
[75]
Lihan Zou, Changhao Gong, Zhen Wu, Jie Tan, Junnan Tang, Zigui Jiang, and Dan Li. 2024. A General Smart Contract Vulnerability Detection Framework with Self-attention Graph Pooling. In Blockchain and Trustworthy Systems, Jiachi Chen, Bin Wen, and Ting Chen (Eds.). Springer Nature Singapore, Singapore. 3–16. isbn:978-981-99-8104-5

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ISSTA 2024: Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis
September 2024
1928 pages
ISBN:9798400706127
DOI:10.1145/3650212
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 11 September 2024

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Defect
  2. Move language
  3. Program analysis
  4. Smart contract

Qualifiers

  • Research-article

Funding Sources

  • The National Natural Science Foundation of China
  • The Sichuan Provincial Natural Science Foundation for Distinguished Young Scholars
  • The Basic Strengthening Program
  • The Hong Kong RGC Projects

Conference

ISSTA '24
Sponsor:

Acceptance Rates

Overall Acceptance Rate 58 of 213 submissions, 27%

Upcoming Conference

ISSTA '25

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 155
    Total Downloads
  • Downloads (Last 12 months)155
  • Downloads (Last 6 weeks)42
Reflects downloads up to 13 Dec 2024

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media