I am doing research into smart contracts maintenance. My first goal is to have some stats regarding how many of the deployed smart contracts are upgradable. So, i am searching for some code patterns(or maybe library imports) that would imply that a contract is upgradable. I am reading the docs but can’t find any stable common patterns. My dataset is from etherscan where i can get to analyse source codes for the last 10000 deployed smart contracts. Could you provide me any help/validity threats for that?