Skip to main content

Static analysis tool to detect multithreading problems (deadlocks, race conditions, not-looped wait, etc.)


I am shopping for a STATIC ANALYSIS TOOL that can tell me if our code suffers from deadlocks, race conditions and bad practices in general.



I know that FindBugs and PMD do already something like this, but recently our app came to a halt due to a deadlock and neither of those warned us about it.



Whether the tool is free, open-source or not is not relevant. I just need someting that does the job of finding multithreading problems faster than our users.


Source: Tips4allCCNA FINAL EXAM

Comments

  1. I had a nice chat a month or two ago with some guys from a local startup that are working on exactly to tool you describe.

    http://www.contemplateltd.com/products/threadsafe

    It works, but sadly I don't think you can actually buy it yet.

    ReplyDelete
  2. If you are serious (in terms of willingness to throw man- and computing power at the problem), I recommend Java PathFinder. There's not much that static analysis will do in practice here, I'm afraid.

    ReplyDelete
  3. CheckThread is a good static analysis tool for just such problems. It does require that you declaratively mark you code with how you expect it to be used (eg applying @ThreadSafe annotation decalres that you expect your method to behave well when called concurrently), but it is highly useful nonetheless.

    ReplyDelete
  4. The tool that answers your question "I just need something that does the job of finding multithreading problems faster than our users" exists. It is called SUM4Java.

    You can find a link to a demo sample at the end of this page (please forgive the simplicity of the text that is using analogies, as it was written for a different audience)
    http://thinkingsoftware.com/Parallel/Parallel.html

    A demo on the example of NASA open source WorldWind (analogous to Google Earth) can be found from the "Watch Demo" button on the first page of the same site http://ThinkingSoftware.com

    (Disclaimer: I work for Thinking Software, Inc)

    ReplyDelete

Post a Comment

Popular posts from this blog

[韓日関係] 首相含む大幅な内閣改造の可能性…早ければ来月10日ごろ=韓国

div not scrolling properly with slimScroll plugin

I am using the slimScroll plugin for jQuery by Piotr Rochala Which is a great plugin for nice scrollbars on most browsers but I am stuck because I am using it for a chat box and whenever the user appends new text to the boxit does scroll using the .scrollTop() method however the plugin's scrollbar doesnt scroll with it and when the user wants to look though the chat history it will start scrolling from near the top. I have made a quick demo of my situation http://jsfiddle.net/DY9CT/2/ Does anyone know how to solve this problem?

Why does this javascript based printing cause Safari to refresh the page?

The page I am working on has a javascript function executed to print parts of the page. For some reason, printing in Safari, causes the window to somehow update. I say somehow, because it does not really refresh as in reload the page, but rather it starts the "rendering" of the page from start, i.e. scroll to top, flash animations start from 0, and so forth. The effect is reproduced by this fiddle: http://jsfiddle.net/fYmnB/ Clicking the print button and finishing or cancelling a print in Safari causes the screen to "go white" for a sec, which in my real website manifests itself as something "like" a reload. While running print button with, let's say, Firefox, just opens and closes the print dialogue without affecting the fiddle page in any way. Is there something with my way of calling the browsers print method that causes this, or how can it be explained - and preferably, avoided? P.S.: On my real site the same occurs with Chrome. In the ex