I heard there is software available that you can feed Java-code and it gives you back an indication on where your code is likely to produce unexpected behaviour. However, I cannot find such software, nor anything resemblng this. Does anyone have an idea on where to look? (I don’t know where I heard this, so no, I cannot go back to the source and ask 🙁 )
For example:
-it might check whether the same code is found at multiple places (when editing you are likely to forget to update one of the two, hence this could give prblems in the future)
-it might check whether you might be returning null somewhere where the null stays untreated,
-it might check for ‘magic numbers’ (numbers that are used in code without being assigned to a variable), especially when these numbers appear at various places in the code.
-etc, etc.
(What it doesn’t need to check is whether the code can be compiled. that’s, ofcourse, where we have already many other tools for, like Eclipse).
I do not know for certain whether the described software exists and what it looks like, but any help in this direction would be great!
There is FindBugs which does a static code analysis to find “bug patterns”. That is code that falls in one of these category:
It’s nice to use and tends to find some bugs. However it can not do everything you want (i.e. “returned null” checks).