Results · Dataset

The B-UML Dataset

A large-scale, multi-representation dataset of 9,081 structurally validated B-UML models spanning 302 categories, designed to support empirical software engineering research and AI-based modeling tasks such as LLM fine-tuning and benchmarking.

9,081
Validated models
302
Domain categories
564,812
Modeling elements
3
Source datasets
What's inside

Five artifacts per model

Every entry in the dataset goes beyond a raw model file. Each of the 9,081 B-UML models is accompanied by a complete set of verified, automatically generated artifacts.

Textual description

A deterministic, template-based natural language description generated automatically for each model, covering classes, attributes, enumerations, generalizations, and associations.

Visual representation

A UML-compliant class diagram image generated via a custom Graphviz-based renderer, providing an immediate visual understanding of each model.

Executable code

Compilable and executable code in both Python and Java, automatically generated from B-UML models, including attributes, associations, and cardinality constraints.

Category and metadata

Each model is labelled with a domain category (302 in total) and structural metadata such as the number of classes, attributes, and associations.

Test cases

Automatically generated test cases for each model, ensuring alignment between the conceptual specification and the produced outputs.

Provenance

Dataset sources

The dataset combines three publicly available MDE datasets with real-world models from applications built on the BESSER platform.

ModelSet

5,466 Ecore metamodels from GitHub and 5,120 UML models from GenMyModel. Only class diagrams are included.

Ecore-555

555 Ecore metamodels mined from GitHub, each manually labelled across nine domain categories.

Pan et al.

52 unique metamodels with 369 OCL constraints alongside their natural language specifications.

Built with BESSER

Real-world applications built with BESSER: NexaCRM, AI Sandbox, and Skillset Matcher.

Quality assurance

Three-level validation

All models pass a rigorous automated validation pipeline before inclusion. Of 11,196 candidate models, 9,081 were retained after removing structurally invalid entries.

  1. 01

    Inheritance checks

    Models with the diamond inheritance problem, where a class inherits the same superclass through two or more paths, are removed to ensure structural soundness.

  2. 02

    Model-level verification

    Each B-UML model is validated for loadability in the editor and element-count consistency between the source and the converted B-UML representation.

  3. 03

    Code-level verification

    Generated Python and Java code is checked for both compilability (no syntax errors) and executability (no runtime errors on instantiation).

Explore the data

Browse the dataset interactively

Use the interactive web explorer to browse, filter, and inspect individual B-UML models, their generated artifacts, and category distribution across the full dataset.