3 ms·
Following up I note that you said "at compile time". Usually C programs have data-dependent behavior, which necessitates runtime checks (but generating those ch
by musicale 2y ago
Following up I note that you said "at compile time". Usually C programs have data-dependent behavior, which necessitates runtime checks (but generating those checks is an example of "anticipating memory safety violations.") Symbolic execution can potentially identify possible data-dependent memory safety violations, and it has been used in compilers and code checkers, but it can also become intractable (algorithm may be decidable, but the compute and memory requirements may be too high.)