Tag Info

New answers tagged

0

The biggest thing I would suggest is that a class should consider void any contracts with callers that use it improperly, but improper usage by one caller should not affect the validity of contracts with other callers. Suppose, for example, that a class implements "Popsicle Immunity" and promises that if IsFrozen returns true, all subsequent observations of ...


1

I hate to tell you this, but your code won't scale very well. You're going to run into all kinds of weird corner cases when writing socket layer code like this.... and it'll only show up when your code is working hard, making it especially difficult to debug. I'd highly recommend that you investigate an event based networking library like Apache MINA. ...


2

Producing a useful static analysis tool involves balancing a number of conflicting concerns, including at least the following: False positive (false alarm) rate False negative (uncaught bug) rate Run time and scalability False positives are a critical concern with bug detection tools since they waste developer time. It's possible to eliminate false ...


4

In my experience, a determined, well-meaning, but clueless developer can wrap enough obfuscation around a concurrency bug that the analysis tool will miss it. If the tool thinks there's a bug, assume it's right until you prove otherwise. That's the value of the tool. If the tool doesn't find any bugs, your best bet is to pretend the tool doesn't exist. ...


2

Answering your first question: http://www.contemplateltd.com/threadsafe/faq#non-checkers "What kinds of concurrency defects does ThreadSafe not look for? We do not yet include support for all of java.util.concurrent. Specifically, ThreadSafe does not check for misuse of the advanced synchronization facilities provided by java.util.concurrent, for example ...



Top 50 recent answers are included