Guard

Guard: A tool for migrating scientific applications to the .NET framework. For many years, Unix has been the platform of choice for the development and execution of large scientific programs. The new Microsoft .NET Framework represents a major advance over previous runtime environments available in Windows platforms, and offers a number of architectural features that would be of value in scientific programs. However, there are such major differences between Unix and .NET under Windows, that the effort of migrating software is substantial. Accordingly, unless tools are developed for supporting this process, software migration is unlikely to occur. In this paper we discuss a ’relative debugger’ called Guard, which provides powerful support for debugging programs as they are ported from one 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.