3 ms·
having your static analyser solving million dollar problems seems like an unnecessary high bar. how is your comment, under any reasonable interpretation of wha
by bjoli 7y ago
having your static analyser solving million dollar problems seems like an unnecessary high bar.
how is your comment, under any reasonable interpretation of what Walter wrote, not pointless pedantry?
- anchpop 7y agoWhat Walter meant in his comment was that his static analyzer has no false positives (it never allows a memory unsafe program to compile). He's provided a few simpler examples in this thread of cases where his analyzer produces false negatives. I knew that was going to be the case because no program can flag 100% of negatives without also flagging a few positives by accident (as a consequence of Rice's theorem). I just meant to demonstrate that, but I don't know anything about D so I wanted to pick something that I was certain his analyzer would fail one way or the other. That doesn't mean that his analyzer isn't useful. I find rust extremely useful because it catches almost me whenever I accidentally write memory unsafe code without burdening me too much otherwise. But almost every rust coder has run into a case where they wrote some code that was safe, but not allowed. That's just a fact of life and it serves no one to make incorrect claims about one's software
- WalterBright 7y agohttps://news.ycombinator.com/item?id=22714673 https://news.ycombinator.com/item?id=22714673
- exiled13 7y ago> I don't know anything about D so I wanted to pick something that I was certain his analyzer would fail one way or the other. What he is talking about is a proposed implementation of the solution. It isn't actually in the D language yet. No one's tested it (except for Walter). So I would definitely take its' validity with a grain of salt.
- WalterBright 7y ago> It isn't actually in the D language yet. It is in the released compiler as a preview feature.
- exiled13 7y agoOh that buggy mess got merged huh.
- bonzini 7y ago> (it never allows a memory unsafe program to compile Those would be false negatives, not false positives. FP = flagging what should not be flagged, FN = not flagging what should be flagged.