Herodotos
Requirements
- Mandatory:
- jgraph package -- not the homonymous Java or PHP libraries
- ps2eps package
- Recommended:
- menhir (parser generator) -- needed to build Herodotos if you change one of the parsers
- Org mode add-on for emacs provided with Coccinelle
- For PDF, PNG and SVG generation: epstopdf tool from the texlive-extra-utils package
- For PDF manipulation: pdftk
- Optional:
- For PNG generation: convert tool from the imagemagick package
- For SVG generation: inkscape (>0.46)
Documentation
- Herodotos manual (work in progress) [PDF]
- How to manual [PDF]
Downloads
- If you're under Ubuntu, you may add ppa:npalix/herodotos
as an other software source in Synaptic. - Herodotos tool development release on PPA. Source and deb packages are provided.
- Local source package.
- SmPL defect patterns (more information here)
- File descriptor not released (open)
- Check for return without free when some memory has been allocated (kernel version -- kmalloc)
- Check for return without free when some memory has been allocated (user-space version -- malloc)
- Dereferencing a pointer know to be NULL (isnull)
- Find cases where a pointer is dereferenced and then compared to NULL (null_ref)
- Dectect test against NULL when the value is know not be NULL (notnull)
- Check for unused variable which are affected only by constant (unused)
- Use the integer zero instead of NULL with pointer variable (badzero)
- !x&y combines boolean negation with bitwise and (notand)
- Comparison of unsigned value with less than zero (unsigned)
Examples
- AOSD2010 example with Linux, Wine, VLC and OpenSSL
- ACP4IS2010 example with allocation functions in Linux
Previous version
- Herodotos tool v0.6.0rc4
- Herodotos tool v0.5.3
- Herodotos tool v0.5.2
- Herodotos tool v0.2
- Herodotos tool v0.1