Description
Solidity is a high-level programming language used for so-called ``smart contracts’’ on the Ethereum Virtual Machine (EVM). The aim of this thesis is to avoid common smart contract programming pitfalls by improving the Solidity compiler. Selected weaknesses identified in the literature can be addressed either with automatic code insertion or by issuing warnings to the developer. Suggested improvements are evaluated in terms of performance (i.e., cost/gas) impact and other suitable criteria, including the possible uptake of patches into the main branch of the Solidity compiler.