Friday, April 1, 2011

Getting into Trouble

So, it's my first post after the intro and I'm already getting myself into trouble, ha ha.  I'm going to outline some very broad goals I have that I am then probably not going to fulfill; they're wishes, not so much plannable objectives.  However, it's important to have dreams and musings, or we lack the interest to do work!  So, without further ado, here is my basic wish list for my Unit Testing Proof of Concept:

1. Automatically achieve transition of output variable states, or throw an error message stating that that transition can not be achieved - and then go on to satisfy all of the other standard unit testing demands.
2. Ditto for independence of inputs and outputs.
3. Get maxes and mins of operations where possible; catch overflows and underflows.
4. Try to obtain or establish the impossibility of division by zero and imaginary numbers.
5.Obtain MC/DC or report the impossibility of MC/DC for a given operation.
6. This is the goal which I am least likely to achieve(or even try, really), but here it is: Obtain as much instruction and branch coverage as possible.

Anticipated problems: Limiting the problem domain.  Look, as much as I would LOVE to write a compiler(totally), taking on every language feature of a program and then creating a way to test it is not feasible considering my resources.  Besides, I'm not here to show that I can create an Automatic Unit Test Generator.  That would be cool, but again, way beyond my current resources.  Instead, I'm here to demonstrate that it is possible to achieve all of the objectives I mentioned so long as the solution is approached in the way I lay out.  And then I'm going to try to break that solution with strange spaghetti logic and pointer monkey business and memory hullabaloo and multithreading nonsense!  Or at least state that each of those conditions could break my solution.

Alright, here goes.  To quote Twister: "I think we're going IIIIIIIIIIINNNNNNNNNNNNN!"

Thursday, March 31, 2011

Welcome to Metapretension!

Hi!  This is the blog where I post ruminations on the software industry, exercises, projects, proofs of concept, etc.  I thought I ought to have a space to knock around in on the the interwebs, so here it is!  I hope you enjoy it at least half as much as I enjoy it.

Sincerely,
Matthew Hissong