The VBConversions Accuracy Advantage

VBConversions superior accuracy is due to two things: superior architecture and massive continual testing.

Rather than rely on free lexical analyzer and parser tools, often written in non-.Net languages, VBConversions hand writes all code for maximum flexibility, and strives to fully understand your code, including digging through referenced assemblies to resolve identifiers.  This knowledge is critical in accurately translating VB.Net, with its many ambiguities, into C#.  Finally, VBConversions will compile your converted C# code and then fix it by parsing and understanding the compiler error messages, in much the same way a human would.

In addition, VBConversions relies on massive testing, and has spent the last 10 years amassing a test bed of over 11,000 VB.Net projects.  Such continual regression testing is absolutely critical to achieving and maintaining high accuracy.  New projects are continually added to the test bed, and each release must pass a full regression test before it is released to the public.

Accuracy Through Better Architecture

  • Hand written lexical analyzers and parsers for maximum flexibility
  • Understands your code through complex object model representation of your program
  • All identifiers are resolved to their in-code or referenced assembly definitions
  • Potential conversion issues like untyped variables or late binding are identified and reported before conversion
  • C# compiler errors automatically corrected through compile and fix cycles, just like a human would do.

Accuracy Through Rigorous Testing

  • Massive test bed of projects 10 years in the making
  • Currently over 11,000 projects representing each release of VB.Net and all project types
  • New projects added with each release and never removed
  • Each release must pass extensive regression testing
  • Regression tests use the same parallel multi-project conversion features publicly available in the VBConversions software

Accuracy Through Better Architecture

VBConversions’ superior accuracy is no accident.  Its architecture used wasn’t chosen for its ease of initial building, but for maximum accuracy at any cost.  Code is hand written in .Net languages and your VB.Net code is first understood, then translated.  The final use of the Microsoft C# compiler to validate accuracy and fix remaining errors in the conversion is unique to VBConversions and demonstratively responsible for a significant accuracy advantage over other converters.

Other Converters’ Architecture


VBConversions Architecture


Accuracy Through Rigorous Testing

Since its first release in 2004 and initial testing on the 101 Visual Basic.Net and C# Code Samples from Microsoft, VBConversions has adopted a “test-first” approach.  VB.Net has no rigorous formal definition and new surprises await at every turn, made more complex by new releases of Visual Studio and the .Net Framework.  This necessitates a pragmatic massive testing strategy, and VBConversions has amassed a test bed of over 11,000 projects to that end, and the numbers grow with every release.

By The Numbers

  • 11,008 projects converted
  • 8,333,729 VB.Net lines of code converted
  • 10,097,017 C# lines of code produced
  • Conversion time ~30 minutes on a quad core laptop, with eight concurrent processes
Read more about test results >