Analysis and automation

Artificial intelligence in software modernisation

AI has the potential to support software modernisation with more efficient and faster processes and code analyses. For the best results, it is important to strike the right balance between AI-powered automation and human expertise.

06.05.2025Text: Urs Häfliger0 Kommentare
AI in software modernisation – how does that work exactly?

Our six-part series of articles covers all important aspects of software modernisation. This is the sixth and final article in the series. An overview of the topics is provided at the end of this article.

Legacy systems that have been in operation for decades are often expensive to maintain, inflexible and make it more difficult to integrate modern technologies. As demands on agility increase, software modernisation is becoming mandatory.

The use of generative artificial intelligence can be a useful tool in this respect. It opens up new possibilities for optimising and transforming systems, potentially making the entire modernisation process faster and more cost-effective. AI can be used for various purposes.

Workshops Software-Modernisierung
Choosing the right strategy for the future

Software modernisation workshops

In our individual workshops, we show you exactly which strategies and options are available to modernise your software.
Learn more

Code analysis and refactoring

Even today, generative AI can analyse a considerable amount of code at once. This allows for a comprehensive code analysis that goes beyond the capabilities of static analysis tools alone. As a result, inefficient structures can be identified, suggestions for changes can be generated and concepts used can be collected in order to speed up code analysis and carry out refactoring based on previously proposed improvements. Readability and maintainability can be optimised in this way.

This allows the code to be transformed into a more understandable form using AI tools.

Softwaremodernisierung
Software modernisation services

Utilising the potential of modernisation

Increase the performance, security and quality of your software and develop new business ideas.
Arrange a free consultation

Migration of legacy systems

AI can also provide support for migrating legacy software systems to new technologies, platforms or architectures. For example, code can be translated into another programming language. Although this is possible, the risk of errors in translation or incomplete translation is high and should be backed up by extensive testing or adaptation of the existing test suite to the new system.

Moreover, only parts of systems can be migrated to newer technologies using generative AI. For example, interfaces to databases or bus systems can be migrated more efficiently, allowing more modern solutions to be implemented. This can prove useful, for example, in the event of cloud migration. Generative AI can also provide support for upgrading to a new interface technology. However, if usability is to be improved, the expertise of UX specialists is essential.

Software Quality Map 2024
Good quality pays off

Software Quality Map

Embark on a voyage of discovery through 80 topics to find out how to improve the quality of your software. Open the Quality Map and take off!
Explore now

Automated testing

Legacy systems generally do not offer automated tests, which are one of the essential prerequisites for maintainable systems. Generative AI supports the creation of automated test cases for these systems. This allows engineers to build an understanding of the system while at the same time creating a suite of automated tests to support them with future modernisation.

Documentation and understandability

Lack of documentation is often a challenge when modernising legacy systems. Generative AI can analyse existing code and independently create appropriate documentation to make the system easier to understand.

Generated specifications with limit values can increase understanding of existing source code so that developers can continue to develop more effectively and efficiently. The system can therefore be analysed using chatbots and better understood by asking questions. For example, prevailing concepts or design patterns can be identified more quickly.

AI-enhanced processes

In addition to supporting modernisation, AI can also be integrated into everyday work. For example, AI can act as the first pull request review instance, providing early feedback.

Conclusion: Revolutionary – but not without people

Generative AI offers a revolutionary way to modernise legacy systems efficiently and more cost-effectively. Conventional modernisation approaches often require a lot of effort and large development teams to perform analysis and refactoring tasks in manual processes. Generative AI can perform some of these tasks automatically and autonomously, reducing project costs and accelerating the modernisation process.

AI will play an even greater role in the future, potentially enabling self-optimising systems, AI-supported DevOps processes and the integration of new features and technologies with equal efficiency.

Experiments with generative AI in software modernisation should be conducted and examined for applicability in the specific situation. Human involvement in the system is essential to complete the process. An experienced software engineer is needed to guide the AI. Creating the right prompts, asking the chatbot the right questions, evaluating AI output and refining it by asking the right questions – this requires experienced software engineers. A machine cannot assume responsibility.

Die Expertin

Britta Labud

Britta Labud ist als Senior Software-Architektin bei der bbv Software Services AG mit Schwerpunkt auf Web- und Cloud-basierten IoT- und Geschäftsanwendungen mit .NET-Technologien tätig. Sie hat nach dem Studium der Luft- und Raumfahrttechnik Softwarelösungen für CASE-Tools, Bahnbetriebshöfe, Flughafen-Gepäcksicherheit, Multichannel Publishing, Skigebiete und Industriemaschinen realisiert. Ihr Wissen und ihre langjährige Erfahrung gibt sie auch als Sprecherin auf Konferenzen und als Trainerin für Web- und Cloud-Anwendungen weiter.

 

The expert

Marco Ravicini

Marco Ravicini is a software architect and member of bbv’s CTO board. The qualified automation engineer studied computer science and has an MAS in Human Computer Interaction Design. He is a passionate advocate of the software crafting movement.

Simple handling

Rust: Tools for reliable dependency management

Rust
Prepared for the change

Successfully introducing Rust into your team

Rust
A concept

How to achieve lightweight error handling in Rust

Rust

Attention!

Sorry, so far we got only content in German for this section.