Wednesday, July 23, 2025
Google search engine
HomeGadgetsInterview: Is there an easier way to refactor applications?

Interview: Is there an easier way to refactor applications?


Looking at a typical Java migration, Jonathan Schneider, CEO and co-founder of Moderne, believes the approach organisations tend to take is unsustainable. 

Recalling a conversation with a major bank that needed to migrate to at least Java 17 to fix a particular vulnerability, he says: “The bank was pinned to Java 8 because it was using WebSphere.”

Unless the bank moved applications from the WebSphere Java application server to the Tomcat alternative and upgraded to Java 17, it would not be able to resolve this particular Java vulnerability, adds Schneider.

The challenge, he says, “is how to refactor 3,000 applications onto a more modern Java environment in a way that avoids breaking them”.

Application modernisation is a major headache for IT departments, leading to a drain on resources and a greater cyber security risk, due to older, unpatched code containing known vulnerabilities.

A recent report from analyst Forrester highlights the risk organisations face as they battle to maintain legacy application code, while attempting to respond to market volatility.

Forrester says technical debt both increases IT costs and risks while slowing down the delivery of new capabilities. It urges IT leaders to outsource support for technical debt to a provider, which then enables the IT team to drive forward modern IT architecture and delivery practices.

“Outsourcing the legacy tech stack to proven outsource providers will ensure operational reliability at a negotiated cost, and free up funds and teams to build a modern, adaptive and AI [artificial intelligence]-powered ecosystem that drives innovation and positions you for future growth,” analysts Sharyn Leaver, Eric Brown, Riley McDonnell and Rachel Birrell state in Forrester’s Budget planning: Prepare for even more volatility report.

Application modernisation approaches are not scalable

But whether it is the responsibility of an in-house team or an outsourcer, according to Schneider, the traditional way to manage technical debt is not working.

Historically, he points out that code was left with product engineers to continue to revise the application going forward and keep it up to date.

Sometimes, he says, an IT consulting firm would be brought in to establish a software factory, providing application maintenance, working on one application at a time. According to Schneider, this approach has not worked. The approach Moderne takes is to consider tasks that can be solved horizontally, across the whole business.

Schneider used to work at Netflix and is the inventor of OpenRewrite, an open-source software auto-refactoring tool, and has built a business around the complexity of keeping code current.

Every piece of code created basically ends up as technical debt as soon as it is deployed into production. “I could make all the perfect decisions around an application’s architecture and pick all the best libraries today, then, two months from now, for one reason or another, it’s no longer optimal,” he says.

Moderne effectively scans enterprise source code and produces a lossless semantic tree (see Swapping out a software library) of the code, stored in a database. This can then be queried to understand the impact of code changes.

It can also be used with recipes that enable software developers to replace software libraries in an automated fashion. Software developers can see if the recipe produces the desired results from a coding standpoint; they can tweak it if necessary, before running it to make the required change across the entire code base.

Using AI with coding recipes

These recipes can be created using a large language model (LLM) like Claude Code. “A couple of weeks ago, a banking executive said he was trying to move applications from on-prem to containerised,” says Schneider. “But the key problem was that the applications were writing log files to disk.”

This, he says, blocked the migration. “We needed to alter the logging configuration and change the code itself so that it does not write to disk,” adds Schneider.

He believes writing custom recipes to do these kinds of transformations involves learning the programming framework and becoming an expert at recipe development. However, by using Claude Code, Schneider says it took just 20 minutes to create a brand new custom recipe.

“Claude Code wrote the first 10 or so patterns to modify different kinds of logging configuration and how to route this stuff out,” he says. “We could then take that recipe, use it across the first 9,000 source code repositories and see the kinds of changes that were being made.”

The developer can assess the patterns produced by the recipe to check if they work and then feed them back into Claude AI iteratively to produce similar patterns or improve a pattern the developer considered unsuitable. 

For Schneider, the recipe, rather like a cooking recipe, is a set of instructions that can be followed step by step, to deploy a code change. The recipe can also be tweaked and improved. “Once you are comfortable with the changes, you then have a deterministic machine to stamp it out everywhere,” he says.

“We get a kind of quick iteration feedback,” adds Schneider. “At the end of the day, what you don’t have is a probabilistic system, like an LLM, making all the code edits. Rather, the probabilistic system writes a recipe that becomes a deterministic machine to make the change across the whole code base.” 

He says that given the volume of code in production, IT departments need an approach that scales. “It’s hard to imagine just how much code is out there,” says Schneider.

At one of Moderne’s larger customers, he says almost five billion lines of source code is being managed. 

For Schneider, AI-based refactoring where the source code is loaded into an LLM does not stack up. The cost alone can amount to millions of dollars, which makes the approach he and Moderne takes in using Claude AI just to create recipes a potential big cost-saver.

Moderne is on the Azure Marketplace, as well as the Microsoft Pegasus programme for promoting startups. “Microsoft is always seeking capabilities that are important to its key customers, and is trying to pair solutions with customer needs,” he says. “In this case, I think technology engineering and IT executives are trying to accelerate application modernisation.”

Schneider adds that the programme has helped Moderne’s Azure Marketplace listing by “cutting through a lot of the tape”, along with the commercial benefits of co-selling with Microsoft.



Source link

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

- Advertisment -
Google search engine

Most Popular

Recent Comments