
It may affect a small fraction of their user base directly, but developers and other git users are high-value targets because a compromise there can often lead to supply chain compromise that will affect a much larger group of people.
score 2 · canonical
I don’t think small is necessarily the target. It may be an aspect of the result, but only coincidentally.
That is because even very, very small programs can have behavior that we cannot reason about. There exists a 6-state Turing Machine for which we don’t know whether it halts. On the other hand, there exist programs far larger than that for which we can formally prove either termination or nontermination and also other much more useful properties. seL4 is an example. So smallness is at best a really iffy proxy for how well we can reason about a program.
Another problem with “small” is (as icefox points out) that it immediately leads to discussions around “well, how small?” and there is no good single answer. On the other hand, formal verification is pretty clear: Once you have a mechanized proof that checks, you’re done. Better yet, you’re allowed to add as many features and/or optimizations as you want as long as you can still prove their correctness.
Now of course, you will instead invite discussion around “what properties to verify?”. I think that is more productive than “how small”, though.
score 3 · canonical