Because the development of decentralized applications differs from centralized ones, developers are forced to give up their old programming habits and learn a new style of programming, required by these applications. Failure to do so leads to security vulnerabilities. This is one of the reasons why smart contracts were often the target of successful hacks, leading to significant financial losses. In this thesis, we have focused on extending a static code analysis tool for smart contracts with detectors for (in)correct or missing implementation of design patterns, specific to the development of decentralized applications. Developers can use it to check whether their code aligns with new programming patterns in developing decentralized applications and where these patterns are missing. While evaluating, we have confirmed, that the tool correctly returns warnings for missing design patterns and that the average proportion of unprotected public functions of poorly ranked smart contracts of decentralized exchanges is higher by 22,9 % than in well-ranked ones.
|