Skip to main content
QUICK REVIEW

[논문 리뷰] Smart Contracts Software Metrics: a First Study

Roberto Tonelli, Giuseppe Destefanis|arXiv (Cornell University)|2018. 02. 05.
Blockchain Technology Applications and Security인용 수 15
한 줄 요약

이 연구는 이더리움 스마트 컨트랙트 12,000개 이상의 소프트웨어 메트릭을 분석하여, 블록체인 제약 조건으로 인해 전통적인 소프트웨어 시스템과 비교할 때 통계적 성질이 어떻게 다를지 평가한다. 주요 발견은 스마트 컨트랙트 메트릭이 전통적인 소프트웨어에서 흔히 볼 수 있는 꼬리가 두꺼운 파워 법칙과는 달리, 값의 범위가 매우 제한되어 있고, 특히 코드 줄 수의 경우 로그정규분포로 더 잘 기술된다는 것이다. 이는 블록체인의 자원 제약이 강력하게 작용함을 시사한다.

ABSTRACT

Smart contracts (SC) are software codes which reside and run over a blockchain. The code can be written in different languages with the common purpose of implementing various kinds of transactions onto the hosting blockchain, They are ruled by the blockchain infrastructure and work in order to satisfy conditions typical of traditional contracts. The software code must satisfy constrains strongly context dependent which are quite different from traditional software code. In particular, since the bytecode is uploaded in the hosting blockchain, size, computational resources, interaction between different parts of software are all limited and even if the specific software languages implement more or less the same constructs of traditional languages there is not the same freedom as in normal software development. SC software is expected to reflect these constrains on SC software metrics which should display metric values characteristic of the domain and different from more traditional software metrics. We tested this hypothesis on the code of more than twelve thousands SC written in Solidity and uploaded on the Ethereum blockchain. We downloaded the SC from a public repository and computed the statistics of a set of software metrics related to SC and compared them to the metrics extracted from more traditional software projects. Our results show that generally Smart Contracts metrics have ranges more restricted than the corresponding metrics in traditional software systems. Some of the stylized facts, like power law in the tail of the distribution of some metrics, are only approximate but the lines of code follow a log normal distribution which reminds of the same behavior already found in traditional software systems.

연구 동기 및 목표

  • 블록체인 특화 제약 조건으로 인해 스마트 컨트랙트 소프트웨어 메트릭이 전통적인 소프트웨어와 비교해 통계적 성질이 어떻게 다를지 조사하기.
  • 크기, 계산 비용, 불변성 등의 자원 제약이 스마트 컨트랙트의 메트릭 분포에 미치는 영향 평가하기.
  • 스마트 컨트랙트 메트릭(예: 코드 줄 수, 함수 수, 바이트코드)의 분포 패턴을 전통적 소프트웨어 시스템과 비교하기.
  • LOC, ABI, 바이트코드와 같은 메트릭이 파워 법칙이나 로그정규분포와 같은 알려진 통계분포를 따르는지 평가하기.
  • 스마트 컨트랙트 개발 방식이 배포 및 실행 제약으로 인해 이질적인 이상치 없이 좁은 범위의 메트릭 분포를 초래하는지 판단하기.

제안 방법

  • 이더리움 블록체인에 배포된 12,000개 이상의 스마트 컨트랙트에서 소스 코드, ABI, 바이트코드를 수집하고 분석하였다.
  • 코드 줄 수(LOC), 함수 수, 주석 수, 순환 복잡도, 컨트랙트 크기 등 표준 소프트웨어 메트릭을 계산하였다.
  • 메트릭 분포 전반에 걸쳐 로그정규분포 및 파워 법칙 분포의 적합성을 평가하기 위해 통계적 피팅 기법을 적용하였다.
  • 특히 본문 영역과 꼬리 영역에서의 적합도 평가를 위해 R² 값을 사용하였다.
  • 스마트 컨트랙트의 메트릭 분포를 전통적 소프트웨어 시스템의 분포와 비교하여 도메인 특화된 차이점을 식별하였다.
  • 불변성, 가스 비용 등의 블록체인 제약 조건이 메트릭의 변동성과 분포 형태에 미치는 영향을 분석하였다.

실험 결과

연구 질문

  • RQ1스마트 컨트랙트 소프트웨어 메트릭은 전통적 소프트웨어 시스템과 다른 통계적 분포를 보여주는가?
  • RQ2불변성 및 가스 비용과 같은 블록체인 제약 조건이 스마트 컨트랙트의 메트릭 값의 범위를 어느 정도 제한하는가?
  • RQ3코드 줄 수나 함수 수와 같은 스마트 컨트랙트 메트릭의 분포에 대해 로그정규분포와 파워 법칙 중 어느 것이 더 잘 맞는가?
  • RQ4전통적 소프트웨어에서 관찰되는 것처럼 스마트 컨트랙트 메트릭 분포에 심각한 이상치나 꼬리가 두꺼운 분포가 존재하는가?
  • RQ5ABI와 바이트코드 크기는 스마트 컨트랙트 간에 어떻게 비교되며, 종형 분포 또는 무거운 꼬리 분포를 따르는가?

주요 결과

  • 스마트 컨트랙트의 코드 줄 수(LOC) 메트릭은 R² 값이 0.98 이상인 로그정규분포를 보이며, 전통적 소프트웨어 시스템과 유사하게 잘 맞는다.
  • 함수 수, 빈 줄 수, 이벤트 수 등 대부분의 스마트 컨트랙트 메트릭은 블록체인 자원 제약으로 인해 값의 범위가 제한되어 있으며, 심각한 이상치나 꼬리가 두꺼운 분포가 없다.
  • 파워 법칙 모델은 일부 분포의 꼬리 부분에 더 잘 맞는 것으로 나타났지만, 대부분의 메트릭, 특히 LOC의 경우 로그정규분포가 본문 영역을 더 잘 설명한다.
  • 주석 수, 주소 수, 순환 복잡도, ABI 메트릭는 꼬리 영역에서 로그정규분포 피팅이 불량하여 최대값에 상한선이 존재함을 시사한다.
  • 맵핑 및 수식자 메트릭은 본문 영역에서 로그정규분포보다 파워 법칙이 더 잘 설명함을 보여, 다른 기반 구조적 패턴을 반영한다.
  • 바이트코드 및 ABI 메트릭는 초기에 로그정규 곡선과 겹치지만 실제로는 더 빨리 감소하여, 배포 제약으로 인한 잘린 분포(트렁케이션)가 있음을 시사한다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.