Thorsten Berger
Current Organizations / Institutes
The organizations/institutes from the scholar's latest article
Previous Organizations / Institutes
The organizations / institutes from the scholar's other articles in the past ten years
Research Subjects
Research Interests
Thorsten Berger has a total of 109 co-authors. Here are the top co-authors by number of shared publications:
- Daniel Strüber
Chalmers | University of Gothenburg, Gothenburg, Sweden
8 shared publications - Kevin Hermann
Ruhr University Bochum
8 shared publications - Sven Peldszus
Ruhr University Bochum
8 shared publications - Johan Martinson
Ruhr University Bochum
7 shared publications - Patrizio Pelliccione
Department of Computer Science, Gran Sasso Science Institute, L’Aquila, Italy
7 shared publications - Wardah Mahmood
Department of Computer Science and Engineering, Chalmers tekniska hogskola AB, Gothenburg, Sweden and Department of Computer Science and Engineering, University of Gothenburg, Gothenburg, Sweden
6 shared publications
Latest Publications
- 16 October 2026
- Published by Springer Nature
- p. 215-226
Towards Decentralized Feature Models
- 16 October 2026
- Published by Springer Nature
- p. 191-214
Overhead of Recording Feature Locations with Embedded Annotations
- 16 October 2026
- Published by Springer Nature
- p. 191-214
Overhead of Recording Feature Locations with Embedded Annotations
- Open Access
- 7 October 2026
- Published by Association for Computing Machinery (ACM)
- p. 3640-3644
Agent-HAnS: Maintaining Feature and Code Traceability in Agentic Development
- 7 October 2026
- Published by Association for Computing Machinery (ACM)
- p. 3640-3644
Open AccessAgent-HAnS: Maintaining Feature and Code Traceability in Agentic Development
- Open Access
- 5 July 2026
- Published by Association for Computing Machinery (ACM)
- p. 966-977
Developer Perspectives on REST API Usability: A Study of REST API Guidelines
REST is today's most widely used architectural style for providing web-based services. In the age of service-orientation—a.k.a. Software as a Service (SaaS)—APIs have become core business assets and can easily expose hundreds of operations. While well-designed APIs contribute to the commercial success of a service, poorly designed APIs can threaten entire organizations. Recognizing their relevance and value, many guidelines have been proposed for designing usable APIs, similar to design patterns and coding standards. For example, Zalando and Microsoft provide popular REST API guidelines. However, they are often considered as too large and inapplicable, so many companies create and maintain their own guidelines, which is a challenge in itself. In practice, however, developers still struggle to design effective REST APIs. To improve the situation, we need to improve our empirical understanding of adopting, using, and creating REST API guidelines. We present an interview study with 16 REST API experts from industry. We determine the notion of API usability, guideline effectiveness factors, challenges of adopting and designing guidelines, and best practices. We identified eight factors influencing REST API usability, among which the adherence to conventions is the most important one. While guidelines can in fact be an effective means to improve API usability, there is significant resistance from developers against strict guidelines. Guideline size and how it fits with organizational needs are two important factors to consider. REST guidelines also have to grow with the organization, while all stakeholders need to be involved in their development and maintenance. Automated linting provides an opportunity to not only embed compliance enforcement into processes, but also to justify guideline rules with educational explanations.
- 5 July 2026
- Published by Association for Computing Machinery (ACM)
- p. 966-977
Open AccessDeveloper Perspectives on REST API Usability: A Study of REST API Guidelines
REST is today's most widely used architectural style for providing web-based services. In the age of service-orientation—a.k.a. Software as a Service (SaaS)—APIs have become core business assets and can easily expose hundreds of operations. While well-designed APIs contribute to the commercial success of a service, poorly designed APIs can threaten entire organizations. Recognizing their relevance and value, many guidelines have been proposed for designing usable APIs, similar to design patterns and coding standards. For example, Zalando and Microsoft provide popular REST API guidelines. However, they are often considered as too large and inapplicable, so many companies create and maintain their own guidelines, which is a challenge in itself. In practice, however, developers still struggle to design effective REST APIs. To improve the situation, we need to improve our empirical understanding of adopting, using, and creating REST API guidelines. We present an interview study with 16 REST API experts from industry. We determine the notion of API usability, guideline effectiveness factors, challenges of adopting and designing guidelines, and best practices. We identified eight factors influencing REST API usability, among which the adherence to conventions is the most important one. While guidelines can in fact be an effective means to improve API usability, there is significant resistance from developers against strict guidelines. Guideline size and how it fits with organizational needs are two important factors to consider. REST guidelines also have to grow with the organization, while all stakeholders need to be involved in their development and maintenance. Automated linting provides an opportunity to not only embed compliance enforcement into processes, but also to justify guideline rules with educational explanations.
- Open Access
- 5 July 2026
- Published by Association for Computing Machinery (ACM)
- p. 1391-1395
Towards Automated Test Adaptation in Fork Ecosystems via Large Language Models
Fork-based software ecosystems enable independent evolution, but fragment the quality assurance efforts. Although tests developed in one fork are often relevant to others, direct reuse is rare and can be difficult, due to API drift, refactorings, dependency evolution, or other changes. Prior work has shown that many tests are potentially reusable across forks, yet adapting them remains a largely manual task. This paper explores LLM-assisted test case adaptation as a new direction for automating test propagation in fork ecosystems. We propose a compiler-aware, iterative adaptation technique that integrates tests from one fork into another and leverages LLMs to repair incompatibilities revealed by build failures. We report empirical results on Java fork pairs, showing that LLM guidance can successfully adapt tests in 80% of cases where direct reuse fails due to modifications required to the test code itself. We outline research directions toward effective and scalable test propagation.
- 5 July 2026
- Published by Association for Computing Machinery (ACM)
- p. 1391-1395
Open AccessTowards Automated Test Adaptation in Fork Ecosystems via Large Language Models
Fork-based software ecosystems enable independent evolution, but fragment the quality assurance efforts. Although tests developed in one fork are often relevant to others, direct reuse is rare and can be difficult, due to API drift, refactorings, dependency evolution, or other changes. Prior work has shown that many tests are potentially reusable across forks, yet adapting them remains a largely manual task. This paper explores LLM-assisted test case adaptation as a new direction for automating test propagation in fork ecosystems. We propose a compiler-aware, iterative adaptation technique that integrates tests from one fork into another and leverages LLMs to repair incompatibilities revealed by build failures. We report empirical results on Java fork pairs, showing that LLM guidance can successfully adapt tests in 80% of cases where direct reuse fails due to modifications required to the test code itself. We outline research directions toward effective and scalable test propagation.
- Open Access
- 25 April 2026
- Published by Association for Computing Machinery (ACM) in ACM Computing Surveys
- Vol. 58 (11) , 1-36
120 Domain-Specific Languages for Security
Security engineering—from creating security requirements to the implementation of security features, such as cryptography or authentification—is often supported by domain-specific languages (DSLs). While many security DSLs have been presented, a lack of overview and empirical data about these DSLs, such as which security aspects are addressed and when, hinders their effective use and further research. This systematic literature review examines 120 security DSLs regarding their security aspects and goals addressed, their language-specific characteristics, their integration into the software development lifecycle, and their evaluation. We observe a focus on individual development phases and a high degree of fragmentation, which leads to opportunities for integration. The research community also needs to improve the usability and evaluation of security DSLs.
- 25 April 2026
- Published by Association for Computing Machinery (ACM) in ACM Computing Surveys
- Vol. 58 (11) , 1-36
Open Access120 Domain-Specific Languages for Security
Security engineering—from creating security requirements to the implementation of security features, such as cryptography or authentification—is often supported by domain-specific languages (DSLs). While many security DSLs have been presented, a lack of overview and empirical data about these DSLs, such as which security aspects are addressed and when, hinders their effective use and further research. This systematic literature review examines 120 security DSLs regarding their security aspects and goals addressed, their language-specific characteristics, their integration into the software development lifecycle, and their evaluation. We observe a focus on individual development phases and a high degree of fragmentation, which leads to opportunities for integration. The research community also needs to improve the usability and evaluation of security DSLs.
- Open Access
- 13 April 2026
- Published by Association for Computing Machinery (ACM)
- p. 129-135
Towards Assured Mission Adaptation of Multi-Robot Systems
Designing autonomous systems that can adapt safely remains an open problem in robotics, mainly due to uncertain and dynamic environmental conditions that can render these systems uncontrollable. An important aspect for building safe adaptation is to identify states where system adaptation can occur safely. This is captured by the concept of quiescence. Assuring quiescence requires an infrastructure capable of monitoring and managing the state of the adapted system, thereby guaranteeing system consistency throughout the adaptation process. However, such an infrastructure has not yet been realized for robotic systems. To fill this gap, we present the AMAR framework, to ensure correct system behavior during the adaptation of multi-robot systems. Focusing at runtime, we execute a robotic mission and monitor the state of the system to determine when adaptation should occur. The results of the evaluation show that AMAR reliably enforces safety properties and that its quiescence monitors are highly accurate.
- 13 April 2026
- Published by Association for Computing Machinery (ACM)
- p. 129-135
Open AccessTowards Assured Mission Adaptation of Multi-Robot Systems
Designing autonomous systems that can adapt safely remains an open problem in robotics, mainly due to uncertain and dynamic environmental conditions that can render these systems uncontrollable. An important aspect for building safe adaptation is to identify states where system adaptation can occur safely. This is captured by the concept of quiescence. Assuring quiescence requires an infrastructure capable of monitoring and managing the state of the adapted system, thereby guaranteeing system consistency throughout the adaptation process. However, such an infrastructure has not yet been realized for robotic systems. To fill this gap, we present the AMAR framework, to ensure correct system behavior during the adaptation of multi-robot systems. Focusing at runtime, we execute a robotic mission and monitor the state of the system to determine when adaptation should occur. The results of the evaluation show that AMAR reliably enforces safety properties and that its quiescence monitors are highly accurate.
- Open Access
- 12 March 2026
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Software Engineering and Methodology
- Vol. 35 (4) , 1-47
Cost and Benefit of Tracing Features with Embedded Annotations
Features are commonly used to describe the functional and non-functional characteristics of software. Especially agile development methods, such as SCRUM, FDD, or XP, use features to plan and manage software development. Features are often the main units of software reuse, communication, and configuration, abstracting over code details. Especially in the age of generative AI, where feature requirements are specified as prompts and substantial code is cloned, codebases are becoming increasingly complex and redundant. This requires raising the level of abstraction at which we manage and evolve software systems. However, effectively using features requires knowing their precise locations within codebases, which is especially challenging when they are scattered across the codebase. Once implemented, the knowledge about a feature’s location quickly deteriorates when the software evolves or development teams change, requiring expensive recovery of features. This decades-old problem is known as the feature-location or concept assignment problem in software engineering, which researchers have— unsuccessfully over decades—tried to address with automated feature-location recovery techniques. The problem lies in the common belief that recording and maintaining feature locations during development is laborious and error-prone. In this study, we argue to the contrary. We hypothesize that such information can be effectively embedded into codebases, and that the arising costs will be amortized by the benefits of this information. We validated this hypothesis in a simulation study with three subjects systems: a smaller open source system, a large commercial firmware system, and an open source mobile app. We designed a lightweight code annotation technique and simulated its use as if annotations had been added, maintained, and exploited during the original development. We identified evolution patterns and measured the cost and benefit of these annotations. Our results show that not only the cost of adding annotations, but also that of maintaining them is negligible compared to the development and maintenance costs of the actual code. Embedding the annotations into the codebase significantly reduced their maintenance effort, because they naturally co-evolved with the code. The annotations provided a benefit for feature-related maintenance tasks, such as feature cloning or merging the clones into an integrated codebase, that exceeded the costs of using them.
- 12 March 2026
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Software Engineering and Methodology
- Vol. 35 (4) , 1-47
Open AccessCost and Benefit of Tracing Features with Embedded Annotations
Features are commonly used to describe the functional and non-functional characteristics of software. Especially agile development methods, such as SCRUM, FDD, or XP, use features to plan and manage software development. Features are often the main units of software reuse, communication, and configuration, abstracting over code details. Especially in the age of generative AI, where feature requirements are specified as prompts and substantial code is cloned, codebases are becoming increasingly complex and redundant. This requires raising the level of abstraction at which we manage and evolve software systems. However, effectively using features requires knowing their precise locations within codebases, which is especially challenging when they are scattered across the codebase. Once implemented, the knowledge about a feature’s location quickly deteriorates when the software evolves or development teams change, requiring expensive recovery of features. This decades-old problem is known as the feature-location or concept assignment problem in software engineering, which researchers have— unsuccessfully over decades—tried to address with automated feature-location recovery techniques. The problem lies in the common belief that recording and maintaining feature locations during development is laborious and error-prone. In this study, we argue to the contrary. We hypothesize that such information can be effectively embedded into codebases, and that the arising costs will be amortized by the benefits of this information. We validated this hypothesis in a simulation study with three subjects systems: a smaller open source system, a large commercial firmware system, and an open source mobile app. We designed a lightweight code annotation technique and simulated its use as if annotations had been added, maintained, and exploited during the original development. We identified evolution patterns and measured the cost and benefit of these annotations. Our results show that not only the cost of adding annotations, but also that of maintaining them is negligible compared to the development and maintenance costs of the actual code. Embedding the annotations into the codebase significantly reduced their maintenance effort, because they naturally co-evolved with the code. The annotations provided a benefit for feature-related maintenance tasks, such as feature cloning or merging the clones into an integrated codebase, that exceeded the costs of using them.
- Open Access
Many Tools, Few Exploitable Vulnerabilities: A Survey of 246 Static Code Analyzers for Security
Static security analysis is a widely used technique for detecting software vulnerabilities across a wide range of weaknesses, application domains, and programming languages. While prior work surveyed static analyzes for specific weaknesses or application domains, no overview of the entire security landscape exists. We present a systematic literature review of 246 static security analyzers concerning their targeted vulnerabilities, application domains, analysis techniques, evaluation methods, and limitations. We observe that most analyzers focus on a limited set of weaknesses, that the vulnerabilities they detect are rarely exploitable, and that evaluations use custom benchmarks that are too small to enable robust assessment.
Open AccessMany Tools, Few Exploitable Vulnerabilities: A Survey of 246 Static Code Analyzers for Security
Static security analysis is a widely used technique for detecting software vulnerabilities across a wide range of weaknesses, application domains, and programming languages. While prior work surveyed static analyzes for specific weaknesses or application domains, no overview of the entire security landscape exists. We present a systematic literature review of 246 static security analyzers concerning their targeted vulnerabilities, application domains, analysis techniques, evaluation methods, and limitations. We observe that most analyzers focus on a limited set of weaknesses, that the vulnerabilities they detect are rarely exploitable, and that evaluations use custom benchmarks that are too small to enable robust assessment.
- Open Access
Beyond the Control Equations: An Artifact Study of Implementation Quality in Robot Control Software
A controller -- a software module managing hardware behavior -- is a key component of a typical robot system. While control theory gives safety guarantees for standard controller designs, the practical implementation of controllers in software introduces complexities that are often overlooked. Controllers are often designed in continuous space, while the software is executed in discrete space, undermining some of the theoretical guarantees. Despite extensive research on control theory and control modeling, little attention has been paid to the implementations of controllers and how their theoretical guarantees are ensured in real-world software systems. We investigate 184 real-world controller implementations in open-source robot software. We examine their application context, the implementation characteristics, and the testing methods employed to ensure correctness. We find that the implementations often handle discretization in an ad hoc manner, leading to potential issues with real-time reliability. Challenges such as timing inconsistencies, lack of proper error handling, and inadequate consideration of real-time constraints further complicate matters. Testing practices are superficial, no systematic verification of theoretical guarantees is used, leaving possible inconsistencies between expected and actual behavior. Our findings highlight the need for improved implementation guidelines and rigorous verification techniques to ensure the reliability and safety of robotic controllers in practice.
Open AccessBeyond the Control Equations: An Artifact Study of Implementation Quality in Robot Control Software
A controller -- a software module managing hardware behavior -- is a key component of a typical robot system. While control theory gives safety guarantees for standard controller designs, the practical implementation of controllers in software introduces complexities that are often overlooked. Controllers are often designed in continuous space, while the software is executed in discrete space, undermining some of the theoretical guarantees. Despite extensive research on control theory and control modeling, little attention has been paid to the implementations of controllers and how their theoretical guarantees are ensured in real-world software systems. We investigate 184 real-world controller implementations in open-source robot software. We examine their application context, the implementation characteristics, and the testing methods employed to ensure correctness. We find that the implementations often handle discretization in an ad hoc manner, leading to potential issues with real-time reliability. Challenges such as timing inconsistencies, lack of proper error handling, and inadequate consideration of real-time constraints further complicate matters. Testing practices are superficial, no systematic verification of theoretical guarantees is used, leaving possible inconsistencies between expected and actual behavior. Our findings highlight the need for improved implementation guidelines and rigorous verification techniques to ensure the reliability and safety of robotic controllers in practice.