Share
Using AI to make massive software systems understandable

Making complex software systems easier to understand

May 21, 2026

PhD researcher Satrio Rukmono investigated how to better understand and explain the architecture of large software systems using software analysis and artificial intelligence.

/
image: iStockphoto.com

Modern software systems are the invisible engines running institutions like banks, hospitals, and logistics networks. They have become so vast that a single person can no longer fully understand them. At a company like ASML, for instance, engineers manage roughly 45 million lines of code. At this scale, understanding how a system is structured is no longer just a technical task, but also a major communication challenge.

PhD researcher investigated how the architecture of these large-scale systems can be better explained using a combination of software analysis and artificial intelligence. He defended his thesis at the Eindhoven University of Technology on Wednesday, May 20.

The Explanation Bottleneck

In practice, knowledge about a system is often tribal: scattered across documents, informal conversations, and personal experience. This creates what can be described as an explanation bottleneck. At ASML, this challenge is particularly acute: over half of the employees have joined in the last five years. This rapid growth means a shrinking pool of experienced engineers must constantly spend time onboarding new team members, a process that is essential but largely unsupported by existing tools.

Rukmono’s research focused on supporting and partly automating this explanation work. His study of practicing software engineers revealed that explaining a system is not one size fits all. Instead, explanations must be tailored to the audience and the task—a developer fixing a bug needs a different view than a manager planning a new feature.

From Source Code to BubbleTea

To address this challenge, Rukmono developed a framework that translates raw source code into a clearer picture of how a software system is organized. At the core is SABO (Software Architecture/Analysis Basic Ontology), a model that not only identifies pieces of code, but also maps how they function and relate to one another across different programming languages.

Building on this, his method called DSAR (Deductive Software Architecture Recovery) adds architectural meaning to the structure. By combining code analysis with AI-driven descriptions, DSAR maps parts of the code to high-level concepts like layers and responsibilities. To make this data accessible, Rukmono developed several interactive prototypes:

  • BubbleTea: A tool that visualizes software architectures as colored bubbles. It helps engineers see whether code is located in the right part of the system, or whether functions have unintentionally ended up in the wrong place -a phenomenon known as layer pollution.
  • ClassViz: An interactive tool that allows engineers to switch between a broad overview of a software system and detailed views of the underlying code.

The Explanation Window

One of the most practical insights from the research is the idea of the “Explanation Window.” Rukmono found that good explanations need the right balance between overview and detail. When explaining an entire software system, it is important to keep the explanation simple and high-level. But when focusing on a technical problem, the explanation should zoom in on one specific part of the system.

His AI-driven approach helps create these tailored “windows” into the software, giving people the information they need without overwhelming them with too much complexity.

/

Supporting the human expert

Evaluations at ASML showed that Rukmono's method helps uncover hidden structural issues, like parts of the code that had become overly complex by taking on too many different tasks. By treating these explanations as a core tool rather than an afterthought, his work helps engineering teams maintain a clear, shared map of their massive digital infrastructure.

Rather than replacing engineers, the approach is designed to support them. It reduces the time and effort needed to explain complex systems to colleagues, helping important knowledge about the software remain accessible as companies and their codebases continue to grow.

By helping translate complex code into understandable insights, Rukmono’s work aims to ensure that as software systems become more complex, our ability to manage and explain them can continue to keep up.


PhD researcher Satrio Rukmono. 

  • Supervisors

    Michel Chaudron, Lina Ochoa Venegas

Written by

Bouri, Danai
(Communications Advisor M&CS)

Latest news

keep following us