🤖 AI Summary
Traditional code analysis techniques struggle with Solidity smart contracts due to language-specific features such as the gas mechanism and security constraints.
Method: This paper introduces and empirically constructs the first Solidity-specific micro-pattern taxonomy—18 high-frequency, fine-grained structural patterns spanning security, functionality, optimization, and other dimensions—identified via static analysis and statistical modeling on a large-scale dataset of 23,258 contracts across five blockchains (Ethereum, Polygon, etc.).
Contribution/Results: We reveal systematic cross-chain adoption disparities: 99% of contracts contain at least one micro-pattern (mean = 2.76 per contract); the *Storage Saver* pattern achieves the highest coverage (84.62%); and security-related patterns exhibit significant inter-chain variation. This work establishes an interpretable, reusable paradigm for smart contract comprehension, vulnerability detection, and evolutionary maintenance.
📝 Abstract
Solidity is the predominant programming language for blockchain-based smart contracts, and its characteristics pose significant challenges for code analysis and maintenance. Traditional software analysis approaches, while effective for conventional programming languages, often fail to address Solidity-specific features such as gas optimization and security constraints. This paper introduces micro-patterns - recurring, small-scale design structures that capture key behavioral and structural peculiarities specific to a language - for Solidity language and demonstrates their value in understanding smart contract development practices. We identified 18 distinct micro-patterns organized in five categories (Security, Functional, Optimization, Interaction, and Feedback), detailing their characteristics to enable automated detection. To validate this proposal, we analyzed a dataset of 23258 smart contracts from five popular blockchains (Ethereum, Polygon, Arbitrum, Fantom and Optimism). Our analysis reveals widespread adoption of micro-patterns, with 99% of contracts implementing at least one pattern and an average of 2.76 patterns per contract. The Storage Saver pattern showed the highest adoption (84.62% mean coverage), while security patterns demonstrated platform-specific adoption rates. Statistical analysis revealed significant platform-specific differences in pattern adoption, particularly in Borrower, Implementer, and Storage Optimization patterns.