Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

There is no question that Artificial Intelligence platforms are bringing important and exciting changes to many fields: art, music, science, business, and computer programming.  Technical users of AI are already routinely and productively using AI as a living technical reference for research and to expedite their development work.  Even this WIKI can be accessed and summarized by chat GPT. The application of AI to the field of large-scale software transformation is particularly important to GM, and this article presents our thoughts on the topic.

Comparing Modernization Tooling: gmStudio + AI versus using AI alone

In our article comparing the tool-assisted rewrite to a more traditional manual-only approach, we describe how teams doing manual upgrades can benefit from also using gmStudio. Likewise, gmStudio can also benefit upgrade teams using AI. Note that gmStudio does not intend to compete with manual development, or AI-assisted development: on the contrary, gmStudio intends complement these activities allowing teams to deliver much more value with less risk and less effort. Some key points on this topic are presented below.

...

[1] gmStudio will typically process up to 30K VB6 or ASP LOC per second.

Integrating gmStudio and AI

The role of AI in tool-assisted software modernization

AI has great potential to assist with the most difficult aspects of software modernization and other large-scale software maintenance projects:

...

There is no question that AI holds great promise in the area of tool-assisted software reengineering, and teams all over the world researching this important topic. However, the problems are in the details. As I write this in Spring 2024, the application AI for large scale software reengineering still has a long way to go before it reaches its full potential.  Here are some thoughts on how integrating gmStudio and AI may benefit large scale modernization work.

Preparing the Legacy System Model

Any significant legacy software system will contain at least 100K lines of code across dozens or hundreds of files. In fact, many of the enterprise systems we see are at least 5-10x this size and sometimes much larger. These system define and use tens of thousands of distinct symbols coming from multiple sources:

...

In the case of VB6/ASP modernization, we suspect that the ambiguities and anachronisms of old VB6/ASP systems will impair the effectiveness the AI. gmStudio can be used to help prepare the LLM or to generate a .NET version of the legacy system. This information can then be input to the AI for help with analysing, redesigning, and refactoring the .NET code as a second step.

Generating Specialized Inputs and Outputs

Another critical input to AI-assisted software transformation is the user-defined specifications and coding standards for the system once it is rewritten for NET. There are many possible variations of how to write, and rewrite, software systems. The details of the desired coding standards must be accessible to the AI so that it can reliably and repeatedly produce results that follow standards and preserve functionality.

And there is also the task of generating supporting content: csproj files, resx files, config files, AssemblyInfo files, solution files, etc. These artifacts are not fully described by the legacy code; where will they come from? gmStudio is purpose-built to generate these types of files automatically according to user requirements and this will be helpful to teams using AI.

gmStudio.AI

gmStudio and the Tool-Assisted Rewrite methodology are purpose-built to provide an agile approach to system modernization that dramatically accelerates progress and reduces risk without sacrificing quality or control. The integration of gmStudio with AI provides additional opportunities for even faster delivery and improved technical and functional quality.

...