[ccan] Student ideas!

Rusty Russell rusty at rustcorp.com.au
Thu May 14 15:44:35 EST 2009


Hi all,

   We have our two students, and we've been doing a lot of brainstorming and
discussion on #ccan about what to do to ccanlint in the next three months.
The result so far is a rough list of almost 100 ideas, rated by difficulty and
usefulness, and an even rougher idea of who wants to do them most.  The
spreadsheet is on the wiki, and also attached.

Here's the top 30, for a taste (ranked by usefulness minus difficulty, not
just usefulness!)

Cheers!
Rusty.
==
Make sure testcase doesn't take too long
testsuite under valgrind for leaks / mem errors.
ensure (main) header of name <module>.h exists.
Add author (people who wrote the code) and contributor (person who uploaded the code) as fields to _info.c
Run tests with multiple compiler flag configurations (e.g. -Os, -O2, -O3, -g, etc)
Check for defines over keywords (e.g. #define while if )
score coverage of testsuite
Allow the user to explicitly disable specific tests
test with -fsigned-char/-funsigned-char)
Automatic testcase template generation
Allow ccanlint to be used as a generic C source tree checker (without requiring _info.c, run.c, etc.)
Add (optional) automatic changes when possible (e.g. delete trailing spaces)
C++ keyword detection
missing static on var and functions not exposed in hdr.
check that _info.c is not still the template
detect spaces vs tabs.
catch gratuitous typedefs.
check for defines which lack sufficient brackets
check for defines which contain
Detect obsolete headers (e.g. #include <malloc.h>)
exit(-1) is considered harmful.
Detect minimum C standard for module (e.g. C89, C99, etc)
Test that namespacize works.
Run tests on documentation example code
detect missing dependencies.
Two contradicting tests to prevent perfect score
check for magic numbers which should be enums.
Have a
Detect feature usage outside #if HAVE_ markers
Over 50% of the text in source files is code rather than comments
Signal handlers should not call unsafe functions.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: votes.gnumeric
Type: application/x-gnumeric
Size: 11012 bytes
Desc: not available
URL: <http://lists.ozlabs.org/pipermail/ccan/attachments/20090514/8d7d0da7/attachment.gnumeric>


More information about the ccan mailing list