CCured
Demo
You can try CCured on one of our pre-packaged tests, or you can upload your own source file. You'll then see the result of running CCured on the selected file.
1. Select the source file:
[Option 1] Select one of our test files:
upload a test
hello.c (hello world)
array.c (test case with arrays)
failnull1.c (failure due to null pointer checks)
failprintf1.c (failure due to misuse of printf)
failprintf2.c (failure due to misuse of printf)
failprintf4.c (failure due to misuse of printf)
failubound1.c (failure due to array bounds checks)
func4.c (test case with function pointers)
list.c (a few simple list-manipulation functions)
poly1.c (test case with polymorphism)
polyapply1.c (more polymorphism)
wild2.c (test case with wild pointers)
or,
[Option 2] Upload file[s] to compile:
Constraints on uploaded files:
must be a preprocessed source file, with the extension .i (to obtain such a file run "gcc -E" on a source file).
2. Select the CCured options you want to use:
Optimize the run-time checks
Do not insert checks for address of local variables
Do not insert checks for arithemtic on pointers that are not used for dereferencing
3.
You will have access to
Statistics about the different kinds of pointers that CCured decides to use
Statistics about the different kinds of run-time checks that CCured decides to use
An
interactive browser
that allows you to find out why CCured has decided to use certain pointer kinds.
The output of CCured
A full log of the CCured run embedded in comments in the resulting file (select "View/Page Source" to see them)