Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

For past 2 years, I have been writing a tool in C++, meant for C++ as my hobby p

ID: 642472 • Letter: F

Question

For past 2 years, I have been writing a tool in C++, meant for C++ as my hobby project. Slowly, I realized that it can be made commercialized, as it can compete with other memory leak detectors. This tool finds:

all kind of memory leaks
null pointer exception
corrupt heap
static/dynamic array out of range
multiple or invalid deallocations
It also gives real time code flow, i.e. what functions are called (without any debug statements)
I have written a parser (which also parses the complex syntax of template also) which replaces all the pointers in the code with my custom made smart pointers and new/delete with my wrappers. With making some primary tests, this tool seems to work fine. I still continue to work on it to complete the remaining 20%.

However, I am just wondering whether will it be a good idea to work on it ? Now a days, so many programming techniques have been developed to overcome such errors. People simply don't use raw pointers (while most of the errors occur due to pointers). This kind of thoughts, sort of demoralize me. Would highly appreciate some expert opinions.

Explanation / Answer

I think the big question you need to answer for your self from a 'can I commercialize it' perspective is 'how does the tool compare to what's available in the market right now'.

There are at least three tools for Windows that offer this sort of functionality (HeapAgent, Purify and Boundschecker) plus on Linux you have Valgrind. The latter is going to be hard to compete with (because it's free). If you do have a unique selling point (preferably not 'my tool does what X does, but it's cheaper) then I think you might have chance to find your niche.

I'm currently evaluating memory debuggers for use in the team I'm working in and I'd love to have another choice for a simple memory debugger that just does memory checking at a reasonable price point. Especially if it would offer better performance than most of the existing tools.

That said, it's is a limited market these days as a lot of the bigger shops are either of the opinion that "if developers needed these tools, they'd be part of Visual Studio" or are simply not willing to pay for these anymore because they're for supposed legacy languages. Nevertheless I think with the right product you should be able to at least sustain a Micro-ISV.