3 ms·
Deterministically locating all undefined behavior is undecidable. Static analyzers can only locate a subset of it. Commonly-used type punning techniques freque
by jhomedall 9y ago
Deterministically locating all undefined behavior is undecidable. Static analyzers can only locate a subset of it.
Commonly-used type punning techniques frequently exhibit undefined behavior due to strict aliasing: https://blog.regehr.org/archives/1307 https://blog.regehr.org/archives/1307 .
- nickpsecurity 9y ago"Deterministically locating all undefined behavior is undecidable. Static analyzers can only locate a subset of it." It might be true but barely matters when we have tools like KCC. It's built on an executable semantics of C that runs in a framework on top of Maude rewrite engine. http://www.kframework.org/index.php/Main_Page http://www.kframework.org/index.php/Main_Page https://github.com/kframework/c-semantics https://github.com/kframework/c-semantics http://fsl.cs.illinois.edu/FSL/papers/2015/hathhorn-ellison-rosu-2015-pldi/hathhorn-ellison-rosu-2015-pldi-public.pdf http://fsl.cs.illinois.edu/FSL/papers/2015/hathhorn-ellison-...
- jhomedall 9y agoThat's fascinating; thank you for that. I often find academic papers are too densely written to me to read, but the authors of that paper have gone out of their way to describe everything in a straightforward manner.