An empirical study of manual abstraction between class diagrams and code of open-source systems.

Saved in:
Bibliographic Details
Title: An empirical study of manual abstraction between class diagrams and code of open-source systems.
Authors: Zhang, Wenli1 (AUTHOR) wenliz@student.chalmers.se, Zhang, Weixing1 (AUTHOR) weixing@chalmers.se, Strüber, Daniel1,2 (AUTHOR) danstru@chalmers.se, Hebig, Regina3 (AUTHOR) regina.hebig@uni-rostock.de
Source: Software & Systems Modeling. Dec2025, Vol. 24 Issue 6, p1797-1823. 27p.
Subjects: Reverse engineering, Abstraction (Computer science), Open source software, Source code, Software architecture, Taxonomy
Abstract: Models play a crucial role in software design, analysis, and supporting new maintainers. However, over time, the benefits of models can diminish as system implementations evolve without corresponding updates to the original models. Reverse engineering methods and tools can help maintain alignment between models and implementation code. Yet, automatically reverse-engineered models often lack abstraction and contain extensive details that hinder comprehension. Recent advancements in AI-based content generation suggest that we may soon see reverse engineering tools capable of human-grade abstraction. To guide the design and validation of such tools, we need a principled understanding of manual abstraction—a topic that has received limited attention in existing literature. In pursuit of this goal, our paper presents a multiple-case study of model-to-code differences, examining nine substantial open-source software projects obtained through repository mining. We manually matched source code from projects comprising 4983 classes, 26k attributes, and 54k operations to 523 model elements (including classes, attributes, operations, and relationships). These mappings precisely capture discrepancies between provided class diagram designs and actual implementation code. By analyzing these differences in detail, we derive a taxonomy of difference types and provide a well-organized list of cases corresponding to identified differences. Our findings have the potential to contribute to improved reverse engineering methods and tools, propose new mapping rules for model-to-code consistency checks, and offer guidelines to avoid over-abstraction and over-specification during the design process. [ABSTRACT FROM AUTHOR]
Copyright of Software & Systems Modeling is the property of Springer Nature and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)
Database: Engineering Source
Full text is not displayed to guests.
FullText Links:
  – Type: pdflink
Text:
  Availability: 1
Header DbId: egs
DbLabel: Engineering Source
An: 189358306
AccessLevel: 6
PubType: Academic Journal
PubTypeId: academicJournal
PreciseRelevancyScore: 0
IllustrationInfo
Items – Name: Title
  Label: Title
  Group: Ti
  Data: An empirical study of manual abstraction between class diagrams and code of open-source systems.
– Name: Author
  Label: Authors
  Group: Au
  Data: <searchLink fieldCode="AR" term="%22Zhang%2C+Wenli%22">Zhang, Wenli</searchLink><relatesTo>1</relatesTo> (AUTHOR)<i> wenliz@student.chalmers.se</i><br /><searchLink fieldCode="AR" term="%22Zhang%2C+Weixing%22">Zhang, Weixing</searchLink><relatesTo>1</relatesTo> (AUTHOR)<i> weixing@chalmers.se</i><br /><searchLink fieldCode="AR" term="%22Strüber%2C+Daniel%22">Strüber, Daniel</searchLink><relatesTo>1,2</relatesTo> (AUTHOR)<i> danstru@chalmers.se</i><br /><searchLink fieldCode="AR" term="%22Hebig%2C+Regina%22">Hebig, Regina</searchLink><relatesTo>3</relatesTo> (AUTHOR)<i> regina.hebig@uni-rostock.de</i>
– Name: TitleSource
  Label: Source
  Group: Src
  Data: <searchLink fieldCode="JN" term="%22Software+%26+Systems+Modeling%22">Software & Systems Modeling</searchLink>. Dec2025, Vol. 24 Issue 6, p1797-1823. 27p.
– Name: Subject
  Label: Subjects
  Group: Su
  Data: <searchLink fieldCode="DE" term="%22Reverse+engineering%22">Reverse engineering</searchLink><br /><searchLink fieldCode="DE" term="%22Abstraction+%28Computer+science%29%22">Abstraction (Computer science)</searchLink><br /><searchLink fieldCode="DE" term="%22Open+source+software%22">Open source software</searchLink><br /><searchLink fieldCode="DE" term="%22Source+code%22">Source code</searchLink><br /><searchLink fieldCode="DE" term="%22Software+architecture%22">Software architecture</searchLink><br /><searchLink fieldCode="DE" term="%22Taxonomy%22">Taxonomy</searchLink>
– Name: Abstract
  Label: Abstract
  Group: Ab
  Data: Models play a crucial role in software design, analysis, and supporting new maintainers. However, over time, the benefits of models can diminish as system implementations evolve without corresponding updates to the original models. Reverse engineering methods and tools can help maintain alignment between models and implementation code. Yet, automatically reverse-engineered models often lack abstraction and contain extensive details that hinder comprehension. Recent advancements in AI-based content generation suggest that we may soon see reverse engineering tools capable of human-grade abstraction. To guide the design and validation of such tools, we need a principled understanding of manual abstraction—a topic that has received limited attention in existing literature. In pursuit of this goal, our paper presents a multiple-case study of model-to-code differences, examining nine substantial open-source software projects obtained through repository mining. We manually matched source code from projects comprising 4983 classes, 26k attributes, and 54k operations to 523 model elements (including classes, attributes, operations, and relationships). These mappings precisely capture discrepancies between provided class diagram designs and actual implementation code. By analyzing these differences in detail, we derive a taxonomy of difference types and provide a well-organized list of cases corresponding to identified differences. Our findings have the potential to contribute to improved reverse engineering methods and tools, propose new mapping rules for model-to-code consistency checks, and offer guidelines to avoid over-abstraction and over-specification during the design process. [ABSTRACT FROM AUTHOR]
– Name: AbstractSuppliedCopyright
  Label:
  Group: Ab
  Data: <i>Copyright of Software & Systems Modeling is the property of Springer Nature and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract.</i> (Copyright applies to all Abstracts.)
PLink https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=egs&AN=189358306
RecordInfo BibRecord:
  BibEntity:
    Identifiers:
      – Type: doi
        Value: 10.1007/s10270-025-01289-y
    Languages:
      – Code: eng
        Text: English
    PhysicalDescription:
      Pagination:
        PageCount: 27
        StartPage: 1797
    Subjects:
      – SubjectFull: Reverse engineering
        Type: general
      – SubjectFull: Abstraction (Computer science)
        Type: general
      – SubjectFull: Open source software
        Type: general
      – SubjectFull: Source code
        Type: general
      – SubjectFull: Software architecture
        Type: general
      – SubjectFull: Taxonomy
        Type: general
    Titles:
      – TitleFull: An empirical study of manual abstraction between class diagrams and code of open-source systems.
        Type: main
  BibRelationships:
    HasContributorRelationships:
      – PersonEntity:
          Name:
            NameFull: Zhang, Wenli
      – PersonEntity:
          Name:
            NameFull: Zhang, Weixing
      – PersonEntity:
          Name:
            NameFull: Strüber, Daniel
      – PersonEntity:
          Name:
            NameFull: Hebig, Regina
    IsPartOfRelationships:
      – BibEntity:
          Dates:
            – D: 01
              M: 12
              Text: Dec2025
              Type: published
              Y: 2025
          Identifiers:
            – Type: issn-print
              Value: 16191366
          Numbering:
            – Type: volume
              Value: 24
            – Type: issue
              Value: 6
          Titles:
            – TitleFull: Software & Systems Modeling
              Type: main
ResultId 1