Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Most of these errors will be picked up by passing the appropriate <a href="https://stackoverflow.com/questions/3375697/useful-gcc-flags-for-c">warning flags</a> to the compiler.</p> <p>However from the original list, points 1, 5, 6, 7, 8 are very much worth checking as a human, some compiler/flag combinations however will pick up on unhandled values, pointers to automatic memory, and off-by-one errors in array indexing etc.</p> <p>You may want to take a look at such things as <a href="http://gcc.gnu.org/wiki/Mudflap_Pointer_Debugging" rel="nofollow noreferrer">mudflap</a>, <a href="http://valgrind.org/" rel="nofollow noreferrer">valgrind</a>, <a href="http://gcc.gnu.org/wiki/Mudflap_Pointer_Debugging" rel="nofollow noreferrer">efence</a> and others to catch runtime cases you're unaware of. You might also try <a href="http://www.splint.org/" rel="nofollow noreferrer">splint</a>, to augment your static analysis.</p> <p>For the unautomated side of things, try statically following the flow of your program for particular cases, especially corner cases, and verify to yourself that it appears to do the right thing. Try writing <a href="http://en.wikipedia.org/wiki/Unit_testing" rel="nofollow noreferrer">unit tests</a>/test scripts. Be sure to use some automated checking as discussed above.</p> <p>If your emphasis is on testing without any test execution, <a href="http://www.splint.org/" rel="nofollow noreferrer">splint</a> might very well be the best place to start. The technique you want to research is called <a href="http://en.wikipedia.org/wiki/Static_code_analysis" rel="nofollow noreferrer">static code analysis</a>.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload