I've tried it....
by
hawkstone
·
· Score: 5, Informative
So here's the deal:
PurifyPlus for UNIX is great. The older versions worked like this: 1) build your binary "foobar" normally 2) run "purify foobar -arguments..." 3) get wonderful memory checking, including uninitialized memory reads/copies, array bounds reads/writes, zero page reads, and memory leak checking.
The newer versions work like this: 1) build your binary almost normally, except... 2) add "purify" to the beginning of your normal link line, e.g. "purify g++ obj.o -o foobar" 3) get wonderful memory checking, blah blah blah
The downside to this is obvious, but IMHO very minor. It does not need any source modifications or modifications to the compile stage, and winds up being one extra target in the final makefile. In addition, it will instrument all shared libraries, including plugins as they are loaded. Works flawlessly.
In addition, PurifyPlus includes quantify for profiling (with nice butterfly graph) and purecoverage for code coverage testing. All very nice.
Just yesterday, I tried the linux version. It's not the same at all. It is a huge GUI based IDE (think KDevelop or MS Dev Studio), and it wants you to add all your source files to it. I need to investigate it further, but it appears that it needs to know about all your.c/.cpp files and wants to build the entire program yourself.
I don't want to edit my files in PurifyPlus. I don't want use use PurifyPlus to manage my build process or to build by executables for me. I don't want to use it as a debugger. We have a huge cross platform suite with complex build rules, and I want to edit my files using an advanced editor like XEmacs. I use totalview for debugging. I just want to run it on my binary and have it work. If Rational is going to try to get us entrenched even more in their products by going this route, they are likely to have us lose interest.
Now, I hope I'm wrong, and I very well might be. I need to look through to documentation more to confirm/disprove my current beliefs, but I played with the thing for most of an hour and looked through the tutorials before forming these beliefs.
Rational did tell us they want to have a conference call to discuss "usability" issues. I think I may take them up on this. I love purify, and if there's a way to get it to work reasonably well, I will use it happily. If anyone is interested, I can respond to this thread with the answers.
(The funniest part is that we've been on Rational's back forever trying to get them to give us a linux version, and they always have said "We have no plans for one". Then this suddenly appeared. I hope what suddenly appeared is usable, 'cause I'm not so sure it is yet.)
Re:Commercial post of the day.
by
Tune
·
· Score: 4, Insightful
> Five grand US, that is.
I'm not sure what you're trying to imply, but I guess you're trying to express your concern that it's too expensive. Well, it's not - IMHO. First, compare it to more or less similar products, like Intel's VTune profiler or Metroworks' products. Second, do some basic math. In many cases, software development and maintenance is basically debugging. I dare say a good coder spends (at least) two-three months a year debugging a piece of code he/she or someone else wrote - no methodoligy can change that. Good code instrumentation can't prevent bugs but helps a lot in finding them. Based on experience, I'd say it saves you a week or two per year. A good coder costs $2500-$5000 per month. This excludes management, QA and facilities. Add these and the price doubles. Therefore, it saves a company (that takes QA seriously) $1000-$5000 a year. The investment returns eventually.
$5000 is a lot of money, true. $5000 is way too much for a Linux hobbyist that payed nil for downloading his distro, but rest assure that any large commercial company will gladly pay for a couple of licenses. I guess the main concern should be if Rational can ever break even on a product that took years of development.
--
Programming is like sex... make one mistake and support it the rest of your life
Re:Commercial post of the day.
by
pthisis
·
· Score: 4, Interesting
I guess the main concern should be if Rational can ever break even on a product that took years of development.
Um, no. Rational may break even, but if there's another product that does the same job for cheaper then you can come out ahead. Or even does most of the same job for much cheaper. Suppose Purify cost $5000 and saved $6000 worth of debugging time, while electricfence cost nothing and saved $3000 worth of debugging time from that same $6000. You're better off using efence and spending the $3000 worth of debugging time than dropping $5000 on Purify.
In reality, the free tools as of late have really pulled ahead of purify. Between valgrind, Boehm-Weiser, ElectricFence, and EiC you can accomplish much of what purify can do and a lot that it can't. e.g. Boehm-Weiser can find memory leaks in standard code that wouldn't be found without a lot of legwork by valgrind or Purify. I find the combination of valgrind and boehm-weiser to be much more effective than Purify in practice, and it's free.
So here's the deal:
..."
.c/.cpp files and wants to build the entire program yourself.
PurifyPlus for UNIX is great. The older versions worked like this:
1) build your binary "foobar" normally
2) run "purify foobar -arguments
3) get wonderful memory checking, including uninitialized memory reads/copies, array bounds reads/writes, zero page reads, and memory leak checking.
The newer versions work like this:
1) build your binary almost normally, except...
2) add "purify" to the beginning of your normal link line, e.g. "purify g++ obj.o -o foobar"
3) get wonderful memory checking, blah blah blah
The downside to this is obvious, but IMHO very minor. It does not need any source modifications or modifications to the compile stage, and winds up being one extra target in the final makefile. In addition, it will instrument all shared libraries, including plugins as they are loaded. Works flawlessly.
In addition, PurifyPlus includes quantify for profiling (with nice butterfly graph) and purecoverage for code coverage testing. All very nice.
Just yesterday, I tried the linux version. It's not the same at all. It is a huge GUI based IDE (think KDevelop or MS Dev Studio), and it wants you to add all your source files to it. I need to investigate it further, but it appears that it needs to know about all your
I don't want to edit my files in PurifyPlus. I don't want use use PurifyPlus to manage my build process or to build by executables for me. I don't want to use it as a debugger. We have a huge cross platform suite with complex build rules, and I want to edit my files using an advanced editor like XEmacs. I use totalview for debugging. I just want to run it on my binary and have it work. If Rational is going to try to get us entrenched even more in their products by going this route, they are likely to have us lose interest.
Now, I hope I'm wrong, and I very well might be. I need to look through to documentation more to confirm/disprove my current beliefs, but I played with the thing for most of an hour and looked through the tutorials before forming these beliefs.
Rational did tell us they want to have a conference call to discuss "usability" issues. I think I may take them up on this. I love purify, and if there's a way to get it to work reasonably well, I will use it happily. If anyone is interested, I can respond to this thread with the answers.
(The funniest part is that we've been on Rational's back forever trying to get them to give us a linux version, and they always have said "We have no plans for one". Then this suddenly appeared. I hope what suddenly appeared is usable, 'cause I'm not so sure it is yet.)
> Five grand US, that is.
I'm not sure what you're trying to imply, but I guess you're trying to express your concern that it's too expensive. Well, it's not - IMHO. First, compare it to more or less similar products, like Intel's VTune profiler or Metroworks' products.
Second, do some basic math. In many cases, software development and maintenance is basically debugging. I dare say a good coder spends (at least) two-three months a year debugging a piece of code he/she or someone else wrote - no methodoligy can change that. Good code instrumentation can't prevent bugs but helps a lot in finding them. Based on experience, I'd say it saves you a week or two per year. A good coder costs $2500-$5000 per month. This excludes management, QA and facilities. Add these and the price doubles. Therefore, it saves a company (that takes QA seriously) $1000-$5000 a year. The investment returns eventually.
$5000 is a lot of money, true. $5000 is way too much for a Linux hobbyist that payed nil for downloading his distro, but rest assure that any large commercial company will gladly pay for a couple of licenses. I guess the main concern should be if Rational can ever break even on a product that took years of development.
--
Programming is like sex... make one mistake and support it the rest of your life
I guess the main concern should be if Rational can ever break even on a product that took years of development.
Um, no. Rational may break even, but if there's another product that does the same job for cheaper then you can come out ahead. Or even does most of the same job for much cheaper. Suppose Purify cost $5000 and saved $6000 worth of debugging time, while electricfence cost nothing and saved $3000 worth of debugging time from that same $6000. You're better off using efence and spending the $3000 worth of debugging time than dropping $5000 on Purify.
In reality, the free tools as of late have really pulled ahead of purify. Between valgrind, Boehm-Weiser, ElectricFence, and EiC you can accomplish much of what purify can do and a lot that it can't. e.g. Boehm-Weiser can find memory leaks in standard code that wouldn't be found without a lot of legwork by valgrind or Purify. I find the combination of valgrind and boehm-weiser to be much more effective than Purify in practice, and it's free.
Sumner
rage, rage against the dying of the light