An Open Source Alternative for Mathworks Polyspace?
Does anyone know of an open source project (or maybe just use it in commercial projects) that is an alternative to Mathworks Polyspace ?
I'm looking for code validation tools and have found good alternatives for static validation, but PolySpace seems to offer a lot more options. I think there is no real alternative out there, but maybe you know better. :)
As requested (sorry for the delay, RL is catching up ...) I add my preferred languages for this tool:
- Java
- .NET (I'll be fine with C # only)
- C / C ++ (optional)
a source to share
Polyspace only handles C, C ++ and Java, so a powerful alternative is really what you're looking for. The dynamic lookup methods that are common in C # and Java don't make it easy to parse these languages.
For C, take a look at http://frama-c.cea.fr/
For C / C ++, there is klee which seems pretty close to polyspace http://klee.llvm.org
Klee is a tool that is the result of a research project and allows symbolic execution of a C / C ++ program by compiling it into LLVM bytecode and executing it with a special interpreter. This allows it to detect run-time errors such as buffer overflow, division by zero, and overrun, and when it finds such an error, it records a test case to replay it and see what values the error occurred. Originally written for standard command line utilities, it can also be used for a generic program by making your input symbolic (I am testing it on firmware). Hope this helps!
a source to share
I know this is an old question, but there are many tools out there, so if you're interested in parsing static code, here's the list of tools sorted by language.
If you only look at an open source tool for Java code I would recommend you FindBugs
a source to share