2

Do you know of any equivalent of Microsoft Application Verifier for managed applications?

Thanks!

Nick Udell
  • 2,420
  • 5
  • 44
  • 83
DiogoNeves
  • 1,727
  • 2
  • 17
  • 36

2 Answers2

5

The question doesn't make a lot of sense. The best equivalent for Application Verifier in a managed app is Application Verifier. It works just as well, a managed program also allocates memory from the Windows heaps and uses locks and handles. The odds that it will ever find anything wrong are just rather low. Managed code just doesn't suffer from the kind of problems that make Application Verifier useful for code written in an unmanaged language.

Maybe you want to verify something else, it isn't clear exactly what. The FxCop tool is a good one that analyzes managed code for all kinds of oopses that are common in .NET programming. An entirely different set of problems than Application Verifier checks for. It is also a static analyzer. At runtime, the verifier built into the jitter and the strong argument validation in .NET framework code and the CLR keep you out of trouble. Managed code was inspired in no small part by the kind of problems that required a tool like Application Verifier.

But no, there is no equivalent tool for managed code

Hans Passant
  • 922,412
  • 146
  • 1,693
  • 2,536
  • I'm mostly interested in forcing problems to happen and see how my application responds to that. Maybe I'm confused :) but I believe Application Verifier can create such environments with simulation of problems. – DiogoNeves May 10 '12 at 15:57
  • 6
    The MSDN documentation discreetly states ["Application Verifier is a runtime verification tool for unmanaged code."](http://msdn.microsoft.com/en-us/library/ms220948(v=vs.90).aspx) The question by @DiogoNeve still stands. – Vishnu Pedireddi Jul 20 '12 at 18:11
  • Maybe I ought to summarize the answer with "No, there is no equivalent tool for managed code". – Hans Passant Jul 20 '12 at 20:55
  • Thank you ;) Can you edit the answer to add that sentence please? I'll mark it as answered afterwards – DiogoNeves Jul 22 '12 at 18:04
1

It turns out that there are cases where this functionality is required for managed code.

Unfortunately I'm in one of those situations right now.

Have a look at Microsoft Research CHESS: http://research.microsoft.com/en-us/projects/CHESS/

And the Channel 9 video demo, the developers of the tool mention that the behaviour of the tool is very similar to appverifier and that it can test managed code: http://channel9.msdn.com/shows/Going+Deep/CHESS-An-Automated-Concurrency-Testing-Tool/

Download from: http://research.microsoft.com/en-us/downloads/b23f8dc3-bb73-498f-bd85-1de121672e69/

RobD
  • 1,695
  • 2
  • 24
  • 49