Developer's Cognitive Effort Maintaining Monoliths vs. Microservices - An Eye-Tracking Study

Developer's Cognitive Effort Maintaining Monoliths vs. Microservices - An Eye-Tracking Study

Abstract

The microservices architectural style improves flexibility and performance but might come at the cost of complexity and cognitive effort. Understanding how architectural design decision affects cognitive effort can support software engineers in designing and building more maintainable systems. However, little research exists measuring the impact of architectural styles on developers' cognitive processes. To the best of our knowledge, no empirical study on navigation and comprehension strategies compares a microservice-based and monolithic variant of a trading system, which is widely used for empirical research on information system evolution. To assess the cognitive processes, we conducted an eye-tracking study (n=42) of typical maintenance tasks. We randomly assigned participants to two groups performing a feature location and a code change task using the trading system's monolithic or microservices-based implementation. Efficacy is significantly higher in the monolith variant. We investigate the reasons and propose a cognitively-grounded method to analyse comprehension strategies and estimate maintenance effort. We measure differences in comprehension strategies (top-down and bottom-up comprehension) and conclude that 1) there is a significant difference in visual effort and time taken to identify a specific feature, and 2) bottom-up comprehension is more frequently applied in microservices than in the monolith variant. Finally, we discuss our findings and their implications for practitioners and the research community.

Grafik Top
Authors
  • Simhandl, Georg
  • Paulweber, Philipp
  • Zdun, Uwe
Grafik Top
Projects
Grafik Top
Shortfacts
Category
Paper in Conference Proceedings or in Workshop Proceedings (Paper)
Event Title
30th Asia-Pacific Software Engineering Conference (APSEC 2023)
Divisions
Software Architecture
Subjects
Software Engineering
Systemarchitektur Allgemeines
Event Location
Seoul, South Korea
Event Type
Conference
Event Dates
4-7 Dec 2023
Date
December 2023
Export
Grafik Top