Manual Abstraction in the Wild: A Multiple-Case Study on OSS Systems’ Class Diagrams and Implementations
Paper i 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
Författare
Wenli Zhang
Student vid Chalmers
Weixing Zhang
Göteborgs universitet
Chalmers, Data- och informationsteknik, Interaktionsdesign och Software Engineering
Daniel Strüber
Software Engineering 2
Göteborgs universitet
Regina Hebig
Göteborgs universitet
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)
Västerås, Sweden,
Ämneskategorier
Programvaruteknik
DOI
10.1109/MODELS58315.2023.00017