Assessing GitHub Copilot in Solidity Development: Capabilities, Testing, and Bug Fixing
In the rapidly evolving landscape of blockchain technology, the development of reliable and secure smart contracts represents one of several crucial challenges. GitHub Copilot, an AI-powered code assistant, aims to enhance developer productivity by generating code snippets, facilitating testing, and...
Saved in:
| Main Authors: | , , |
|---|---|
| Format: | Article |
| Language: | English |
| Published: |
IEEE
2024-01-01
|
| Series: | IEEE Access |
| Subjects: | |
| Online Access: | https://ieeexplore.ieee.org/document/10735191/ |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| _version_ | 1846163847162888192 |
|---|---|
| author | Gavina Baralla Giacomo Ibba Roberto Tonelli |
| author_facet | Gavina Baralla Giacomo Ibba Roberto Tonelli |
| author_sort | Gavina Baralla |
| collection | DOAJ |
| description | In the rapidly evolving landscape of blockchain technology, the development of reliable and secure smart contracts represents one of several crucial challenges. GitHub Copilot, an AI-powered code assistant, aims to enhance developer productivity by generating code snippets, facilitating testing, and assisting in program repair. This research examines Copilot’s proficiency in generating functional and secure smart contracts, including token creation adhering to standards such as ERC20, ERC721, and ERC1155 with various optional features. Additionally, the study assesses its effectiveness in common development tasks, including the implementation of widely employed libraries such as SafeMath. Through controlled experiments, the accuracy, efficiency, and security of the code generated by Copilot are evaluated. This evaluation identifies both its strengths in expediting the development process and its limitations in managing complex blockchain-specific logic and security considerations. The findings contribute to an expanded understanding of the role of AI-assisted programming in blockchain development, offering insights into how developers can best leverage such tools in creating and testing smart contracts. This research aims to guide both practitioners and researchers in the blockchain domain, advancing the discussion on integrating AI into software development workflows in the context of Solidity and smart contract development, underscoring the need for further research to address the challenges and opportunities presented by AI in blockchain technology. |
| format | Article |
| id | doaj-art-7d39cee4d5de4365957af85acf6c386a |
| institution | Kabale University |
| issn | 2169-3536 |
| language | English |
| publishDate | 2024-01-01 |
| publisher | IEEE |
| record_format | Article |
| series | IEEE Access |
| spelling | doaj-art-7d39cee4d5de4365957af85acf6c386a2024-11-19T00:02:30ZengIEEEIEEE Access2169-35362024-01-011216438916441110.1109/ACCESS.2024.348636510735191Assessing GitHub Copilot in Solidity Development: Capabilities, Testing, and Bug FixingGavina Baralla0https://orcid.org/0000-0002-3119-9388Giacomo Ibba1Roberto Tonelli2https://orcid.org/0000-0002-9090-7698Department of Mathematics and Computer Science, University of Cagliari, Cagliari, ItalyDepartment of Mathematics and Computer Science, University of Cagliari, Cagliari, ItalyDepartment of Mathematics and Computer Science, University of Cagliari, Cagliari, ItalyIn the rapidly evolving landscape of blockchain technology, the development of reliable and secure smart contracts represents one of several crucial challenges. GitHub Copilot, an AI-powered code assistant, aims to enhance developer productivity by generating code snippets, facilitating testing, and assisting in program repair. This research examines Copilot’s proficiency in generating functional and secure smart contracts, including token creation adhering to standards such as ERC20, ERC721, and ERC1155 with various optional features. Additionally, the study assesses its effectiveness in common development tasks, including the implementation of widely employed libraries such as SafeMath. Through controlled experiments, the accuracy, efficiency, and security of the code generated by Copilot are evaluated. This evaluation identifies both its strengths in expediting the development process and its limitations in managing complex blockchain-specific logic and security considerations. The findings contribute to an expanded understanding of the role of AI-assisted programming in blockchain development, offering insights into how developers can best leverage such tools in creating and testing smart contracts. This research aims to guide both practitioners and researchers in the blockchain domain, advancing the discussion on integrating AI into software development workflows in the context of Solidity and smart contract development, underscoring the need for further research to address the challenges and opportunities presented by AI in blockchain technology.https://ieeexplore.ieee.org/document/10735191/GitHub copilotsoliditysmart contractAIbug fixingvulnerability |
| spellingShingle | Gavina Baralla Giacomo Ibba Roberto Tonelli Assessing GitHub Copilot in Solidity Development: Capabilities, Testing, and Bug Fixing IEEE Access GitHub copilot solidity smart contract AI bug fixing vulnerability |
| title | Assessing GitHub Copilot in Solidity Development: Capabilities, Testing, and Bug Fixing |
| title_full | Assessing GitHub Copilot in Solidity Development: Capabilities, Testing, and Bug Fixing |
| title_fullStr | Assessing GitHub Copilot in Solidity Development: Capabilities, Testing, and Bug Fixing |
| title_full_unstemmed | Assessing GitHub Copilot in Solidity Development: Capabilities, Testing, and Bug Fixing |
| title_short | Assessing GitHub Copilot in Solidity Development: Capabilities, Testing, and Bug Fixing |
| title_sort | assessing github copilot in solidity development capabilities testing and bug fixing |
| topic | GitHub copilot solidity smart contract AI bug fixing vulnerability |
| url | https://ieeexplore.ieee.org/document/10735191/ |
| work_keys_str_mv | AT gavinabaralla assessinggithubcopilotinsoliditydevelopmentcapabilitiestestingandbugfixing AT giacomoibba assessinggithubcopilotinsoliditydevelopmentcapabilitiestestingandbugfixing AT robertotonelli assessinggithubcopilotinsoliditydevelopmentcapabilitiestestingandbugfixing |