Manual Abstraction in the Wild: A Multiple-Case Study on OSS Systems’ Class Diagrams and Implementations
Paper in proceeding, 2023
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.
modeling
software design
Author
Wenli Zhang
Student at Chalmers
Weixing Zhang
University of Gothenburg
Chalmers, Computer Science and Engineering (Chalmers), Interaction Design and Software Engineering
Daniel Strüber
Software Engineering 2
University of Gothenburg
Regina Hebig
University of Gothenburg
Chalmers, Computer Science and Engineering (Chalmers), Interaction Design and 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)
Västerås, Sweden,
Subject Categories
Software Engineering
DOI
10.1109/MODELS58315.2023.00017