Manual Abstraction in the Wild: A Multiple-Case Study on OSS Systems’ Class Diagrams and Implementations
Paper i proceeding, 2023

Models are a useful tool for software design, analysis, and to support the onboarding of new maintainers. However, these benefits are often lost over time, as the system implementation evolves and the original models are not updated. Reverse engineering methods and tools could help to keep models and implementation code in sync; however, automatically reverse-engineered models are typically not abstract and contain extensive information that prevents understanding. Recent advances in AI-based content generation make it likely that we will soon see reverse engineering tools with support for human-grade abstraction. To inform the design and validation of such tools, we need a principled understanding of what manual abstraction is, a question that has received little attention in the literature so far.
Towards this goal, in this paper, we present a multiple-case study of model-to-code differences, investigating five substantial open-source software projects retrieved via repository mining. To explore characteristics of model-to-code differences, we, all in all, manually matched 466 classes, 1352 attributes, and 2634 operations from source code to 338 model elements (classes, attributes, operations, and relationships). These mappings precisely capture the differences between a provided class diagram design and an implementation codebase. Studying all differences in detail allowed us to derive a taxonomy of difference types and to provide a sorted list of cases corresponding to the identified types of differences. As we discuss, our contributions pave the way for improved reverse engineering methods and tools, new mapping rules for model-to-code consistency checks, and guidelines for avoiding over-abstraction and over-specification during design.

software design

modeling

Författare

Wenli Zhang

Chalmers, Data- och informationsteknik

Weixing Zhang

Chalmers, Data- och informationsteknik, Interaktionsdesign och Software Engineering

Daniel Strüber

Chalmers, Data- och informationsteknik, Software Engineering

Regina Hebig

Chalmers, Data- och informationsteknik, Interaktionsdesign och Software Engineering

Proceedings - ACM/IEEE 26th International Conference on Model Driven Engineering Languages and Systems, MODELS 2023

36-45
979-8-3503-2480-8 (ISBN)

26th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, MODELS 2023
Västerås, Sweden,

Ämneskategorier

Programvaruteknik

DOI

10.1109/MODELS58315.2023.00017

Mer information

Senast uppdaterat

2024-01-24