검색 상세

로그 기반의 이더리움 스마트 컨트랙트 동적 테스트 도구 설계 및 구현

Design and Implementation of Log-based Ethereum Smart Contract Dynamic Testing Tool

초록/요약

최근 블록체인 기반의 소프트웨어가 점차 복잡하고 다양하게 개발되고 있다. 이러한 블록체인 기반 소프트웨어의 기능적 측면에서의 신뢰성을 보장하기 위해 개발 단계에서 엄격한 테스트를 거치도록 요구되고 있으며, 이를 지원하는 다양한 정적 분석 도구 및 동적 테스트 도구가 개발되고 있다. 그러나 전자의 경우엔 실제로 런타임 중에 발생 가능한 잠재적인 문제들을 발견하기 어렵다는 문제가 있으며, 후자의 경우엔 여러 이더리움 계정이 얽힌 통합 테스트의 용도로 활용하기 쉽지 않다는 한계가 있다. 이에 본 연구에서는 테스트 항목을 자동으로 정의하여 테스트 데이터로 만들어주고, 스마트 컨트랙트 개발자가 이를 활용해 스마트 컨트랙트 코드가 설계 모델과 같게 동작하는지 확인할 수 있도록 하는 로그 기반의 이더리움 스마트 컨트랙트 동적 테스트 도구 LESTT를 제안하며, 이더리움 지갑 스마트 컨트랙트 시스템 예제를 통해 그 적용 사례를 보인다.

more

초록/요약

Recently, blockchain-based software is being developed with increasingly complex and diverse functions. This type of software requires the execution of rigorous testing at the development stage to ensure reliability in functional quality, and many static analysis tools and dynamic testing tools are being developed to support this requirement. However, there exists a problem that the former one has difficulty detecting potential problems during runtime and the latter one has a limit that it is difficult to use as an integrated testing tool for multiple ethereum accounts. In this paper, we propose a log-based ethereum smart contract dynamic testing tool LESTT which automatically defines test items and recognizes such as test data, enabling smart contract developers to use the test data to check if smart contracts operate the same as the design model, and show its application through the ethereum wallet smart contract system example.

more