IEEE Transactions on Reliability · 2022 · 25 citations · 36 references
ComputingComputer ScienceDesign AutomationSecure Software DevelopmentSoftware EngineeringData-flow AnalysisDesign For TestabilityExperimentation PlatformsGenetic AlgorithmsSmart ContractsSoftware TestingCoverageExperimental Study DesignGlobal OptimaParticle Swarm OptimizationSmart Contract TestingTest Case GenerationTest CasesTest Generation
Smart contracts are commonly deployed for safety-critical applications, the quality assurance of which has been a vital factor. Test cases are standard means to ensure the correctness of data flows in smart contracts. To more efficiently generate test cases with high coverage, we propose an improved genetic algorithm-based test-case generation approach for smart contract data flow testing. Our approach introduces the theory of particle swarm optimization into the genetic algorithm, which reduces the influence brought by the randomness of genetic operations and enhances its capability to find global optima. A set of 30 real smart contracts deployed on Ethereum and GitHub is collected to perform the experimental study, on which our approach is compared with three baseline approaches. The experimental results show that, in most cases, the coverage of the test cases generated by our approach is significantly higher than the baseline approaches with relatively lower numbers of iterations and lower execution time.
36
Genetic algorithms in search, optimization, and machine learning
Choice Reviews Online · 1989 · 49.3K citations
A new optimizer using particle swarm theory
R.C. Eberhart, James Kennedy · 2002 · 14.9K citations
Making Smart Contracts Smarter
Loi Luu, Duc-Hiep Chu, Hrishi Olickel et al. · 2016 · 2.2K citations