Inheritance software metrics on smart contracts
This addresses the need for reliable quality metrics in smart contract development, which is crucial for security and financial integrity in blockchain systems, but the work is incremental as it focuses on a specific aspect of existing metrics.
The paper tackles the problem of assessing smart contract quality by empirically evaluating whether inheritance-based software metrics, traditionally used for object-oriented programs, are appropriate for Solidity-based smart contracts due to differences in context, finding that inheritance may not indicate complexity as it does in traditional programming.
Blockchain systems have gained substantial traction recently, partly due to the potential of decentralized immutable mediation of economic activities. Ethereum is a prominent example that has the provision for executing stateful computing scripts known as Smart Contracts. These smart contracts resemble traditional programs, but with immutability being the core differentiating factor. Given their immutability and potential high monetary value, it becomes imperative to develop high-quality smart contracts. Software metrics have traditionally been an essential tool in determining programming quality. Given the similarity between smart contracts (written in Solidity for Ethereum) and object-oriented (OO) programming, OO metrics would appear applicable. In this paper, we empirically evaluate inheritance-based metrics as applied to smart contracts. We adopt this focus because, traditionally, inheritance has been linked to a more complex codebase which we posit is not the case with Solidity based smart contracts. In this work, we evaluate the hypothesis that, due to the differences in the context of smart contracts and OO programs, it may not be appropriate to use the same interpretation of inheritance based metrics for assessment.