Archive for July, 2008

Tough bugs

Tuesday, July 15th, 2008

I’m still working on fixing the remaining known problems in Macrobug’s Stray Event Scanner.

I don’t intend to try to make it perfect – because, when understanding code, there’s always an exponential effort required to understand the rarest features. For example, the tool will never support the C goto keyword where it skips backwards up a function. (The tool already supports forward gotos!)

But, I do want to enhance support for a few more things. For example, if code Leaves, it currently considers what happens when the code either leaves or it doesn’t. That’s usually correct, apart from when functions are used which are always guaranteed to leave (for example, User::Leave). Then the tool should only consider the code path which occurs if the function does leave, and any errors after that should not be reported (until of course the leave is trapped). Unfortunately, this is tricker than it sounds given the tool’s current architecture.

In short, I think I’ve fixed most of the easy bugs and I’m now facing the exponential curve of tricky obscure things to fix! Let’s see how far up that curve I get before giving up and rolling back down again. I want to make the tool output as good as possible, but it’s already much better than having no means to detect these problems.

Stray Event Scanner Launched

Wednesday, July 9th, 2008

Macrobug is proud to present its first product for actual sale: the Stray Event Scanner. This is a source code analysis tool which does one thing, and does it well: it finds the causes of the dreaded Stray Event panic. Why are they dreaded? Well, by the time the crash has happened, the reason is lost in the mists of time, so there’s no way to diagnose them except to read reams of source code and spot the mistake.

The Macrobug Stray Event Scanner does that for you. It uses GCCXML to build your source code, and then analyses the results to ensure that each any every time you make a request, you are somehow getting ready for the reply to be received.

Problem marker from Stray Event Scanner

And yes, the problem messages are so descriptive they don’t even fit on this website.

Download the demonstration version now, or buy the real one!

Crashing – how not to do it

Wednesday, July 9th, 2008

If you’re a Symbian OS device creator (that means, you make phones) you’ll want to read this paper. It includes interesting statistics about which crashes occur most often during the device creation process, and tips about which products can identify them early using source code analysis. Of course, the conclusion is, you should buy our new product – but also, you should buy Coverity™ or Klocwork™!

Imminent launch!

Wednesday, July 9th, 2008

Well, after years of procrastination, it’s about to happen.

This is it.

I’m about to release a product.

In fact, it’s already been available for download from this website for weeks, and has been diligently tested by a couple of testers (special thanks to Adrian in particular!) It’s still nowhere near final-quality, but it’s good enough that I want more people to download it and play with it. And, if people like it enough to buy it, that’s fine with me.

So, Macrobug enters a new phase – the terrifying phase of actually having to sell things. I’ll try to post relatively frequently to recount my experiences!

First steps:

  1. Post on blog – check!
  2. E-mail lots of contacts about it – check!
  3. Cross fingers very hard… check…