skip to main content
10.1145/3639478.3640038acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Verifying and Displaying Move Smart Contract Source Code for the Sui Blockchain

Published: 23 May 2024 Publication History

Abstract

Smart contract development presents additional challenges beyond traditional software workflows, e.g., locally in IDEs. For smart contract developers to understand and trust code execution, they need to write and use software libraries with a comprehensible code representation---i.e., source code. However, blockchains do not typically store the original source code of smart contracts, but a condensed bytecode representation. Thus, when developers consult smart contract source code, they need to be sure that it corresponds to the same bytecode on the blockchain. Depending on available developer tools, this process can be ad-hoc, cumbersome, or opaque. In this paper we present our design and implementation of a new tool that serves to verify Move smart contract source code against its bytecode representation on the Sui blockchain. We demonstrate the user-facing shift where developers now benefit from seeing source code in their browser instead of bytecode. We further highlight future features and research directions that verified source availability brings to smart contract developer experience.

References

[1]
2023. Discover the languages of Tezos. https://tezos.com/developers/languages. Online; accessed 24 October 2023.
[2]
2023. Ethereum Smart Contract Languages. https://ethereum.org/en/developers/docs/smart-contracts/languages. Online; accessed 24 October 2023.
[3]
2023. Feature Request: Possibility to Verify Source For Tezos Smart Contracts. https://gitlab.com/tezos/tezos/-/issues/4491. Online; accessed 24 October 2023.
[4]
2023. Language Server Protocol. https://microsoft.github.io/language-server-protocol. Online; accessed 24 October 2023.
[5]
2023. Solana Rust Program Quickstart. https://docs.solana.com/getstarted/rust. Online; accessed 24 October 2023.
[6]
2023. Solidity Verified Contract. https://etherscan.io/token/0x0AaCfbeC6a24756c20D41914F2caba817C0d8521#code. Online; accessed 24 October 2023.
[7]
2023. What is Anchor and the Anchor Program Registry? https://www.alchemy.com/overviews/solana-anchor. Online; accessed 24 October 2023.
[8]
Allan J. Albrecht and John E. Gaffney Jr. 1983. Software Function, Source Lines of Code, and Development Effort Prediction: A Software Science Validation. IEEE Trans. Software Eng. 9, 6 (1983), 639--648.
[9]
Eirini Kalliamvakou, Daniela E. Damian, Kelly Blincoe, Leif Singer, and Daniel M. Germán. 2015. Open Source-Style Collaborative Development Practices in Commercial Projects Using GitHub. In International Conference on Software Engineering (ICSE '15). 574--585.
[10]
Sandra Slaughter, Donald E. Harter, and Mayuram S. Krishnan. 1998. Evaluating the Cost of Software Quality. Commun. ACM 41, 8 (1998), 67--73.
[11]
Asher Trockman, Shurui Zhou, Christian Kästner, and Bogdan Vasilescu. 2018. Adding sparkle to social coding: an empirical study of repository badges in the npm ecosystem. In International Conference on Software Engineering (ICSE). ACM, 511--522.
[12]
Stefan Wagner, Klaus Lochmann, Lars Heinemann, Michael Kläs, Adam Trendowicz, Reinhold Plösch, Andreas Seidl, Andreas Goeb, and Jonathan Streit. 2012. The Quamoco product quality modelling and assessment approach. In International Conference on Software Engineering (ICSE '12). 1133--1142.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE-Companion '24: Proceedings of the 2024 IEEE/ACM 46th International Conference on Software Engineering: Companion Proceedings
April 2024
531 pages
ISBN:9798400705021
DOI:10.1145/3639478
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

In-Cooperation

  • Faculty of Engineering of University of Porto

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 23 May 2024

Check for updates

Author Tags

  1. smart contracts
  2. source code
  3. bytecode
  4. compilers
  5. program comprehension
  6. software development
  7. blockchain

Qualifiers

  • Research-article

Conference

ICSE-Companion '24
Sponsor:

Acceptance Rates

Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 68
    Total Downloads
  • Downloads (Last 12 months)68
  • Downloads (Last 6 weeks)10
Reflects downloads up to 22 Feb 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media