Debugging scientific applications in the .NET Framework

  • Authors:
  • David Abramson;Greg Watson

  • Affiliations:
  • School of Computer Science and Software Engineering, Monash University, Clayton, Vic. 3800, Australia;MS B287, Advanced Computing Lab, Los Alamos National Laboratory, Los Alamos, NM

  • Venue:
  • Future Generation Computer Systems - Tools for program development and analysis
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

The Microsoft .NET Framework represents a major advance over previous runtime environments available for Windows platforms and offers a number of architectural features that would be of value in scientific programs. However there are such major differences between .NET and legacy environments under both Windows and UNIX, that the effort of migrating software is substantial. Accordingly, software migration is unlikely to occur unless tools are developed for supporting this process. In this paper we discuss a 'relative debugger' called Guard which provides powerful support for debugging programs as they are ported from one environment or platform to another. We describe a prototype implementation developed for Microsoft's Visual Studio.NET--a rich interactive environment that supports code development for the .NET Framework. The paper discusses the overall architecture of Guard under VS.NET and highlights some of the technical challenges that were encountered during its development. A simple case study is provided that demonstrates the effectiveness of relative debugging in locating subtle errors that occur when even a minor upgrade is attempted from one version of a language to another. For this example, we illustrate the use of relative debugging using a Visual Basic program that was ported from Visual Basic 6.0 to Visual Basic.NET.