We tried to use Oyente to analyze some online contracts and drawed a diagram regarding the potentially vulnerable smart contracts ("reentrancy" bug) with respect to their creation time.
So the y-axis is calculated by compute the following percentage:
# of vulnerable contracts / 300
we randomly select 300 contracts within each period.
The overall trending keeps decreasing, which indicates people's awareness of reentrancy bug and are using more secure design strategies when writing new smart contracts. This makes a lot of sense to us.
However, as you can see, at 2016-10 and 2017-11, the number of "vulnerable" smart contracts have a big drop. This is something we cannot interpret. We are aware that the infamous DAO bug is reported in 2016-07, then potentially make developers more cautious during that period? But why 2016-11 and 2016-12 seems to have a much higher percentage of vulnerable contracts?