Towards the Automated Extraction and Refactoring of NoSQL Schemas from Application Code

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Fernandez-Candel, Carlos J., Cleve, Anthony, Garcia-Molina, Jesus J.
Format: Preprint
Published: 2025
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866915738671906816
author Fernandez-Candel, Carlos J.
Cleve, Anthony
Garcia-Molina, Jesus J.
author_facet Fernandez-Candel, Carlos J.
Cleve, Anthony
Garcia-Molina, Jesus J.
contents In this paper, we present a static code analysis strategy to extract logical schemas from NoSQL applications. Our solution is based on a model-driven reverse engineering process composed of a chain of platform-independent model transformations. The extracted schema conforms to the U-Schema unified metamodel, which can represent both NoSQL and relational schemas. To support this process, we define a metamodel capable of representing the core elements of object-oriented languages. Application code is first injected into a code model, from which a control flow model is derived. This, in turn, enables the generation of a model representing both data access operations and the structure of stored data. From these models, the U-Schema logical schema is inferred. Additionally, the extracted information can be used to identify refactoring opportunities. We illustrate this capability through the detection of join-like query patterns and the automated application of field duplication strategies to eliminate expensive joins. All stages of the process are described in detail, and the approach is validated through a round-trip experiment in which a application using a MongoDB store is automatically generated from a predefined schema. The inferred schema is then compared to the original to assess the accuracy of the extraction process.
format Preprint
id arxiv_https___arxiv_org_abs_2505_20230
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Towards the Automated Extraction and Refactoring of NoSQL Schemas from Application Code
Fernandez-Candel, Carlos J.
Cleve, Anthony
Garcia-Molina, Jesus J.
Databases
In this paper, we present a static code analysis strategy to extract logical schemas from NoSQL applications. Our solution is based on a model-driven reverse engineering process composed of a chain of platform-independent model transformations. The extracted schema conforms to the U-Schema unified metamodel, which can represent both NoSQL and relational schemas. To support this process, we define a metamodel capable of representing the core elements of object-oriented languages. Application code is first injected into a code model, from which a control flow model is derived. This, in turn, enables the generation of a model representing both data access operations and the structure of stored data. From these models, the U-Schema logical schema is inferred. Additionally, the extracted information can be used to identify refactoring opportunities. We illustrate this capability through the detection of join-like query patterns and the automated application of field duplication strategies to eliminate expensive joins. All stages of the process are described in detail, and the approach is validated through a round-trip experiment in which a application using a MongoDB store is automatically generated from a predefined schema. The inferred schema is then compared to the original to assess the accuracy of the extraction process.
title Towards the Automated Extraction and Refactoring of NoSQL Schemas from Application Code
topic Databases
url https://arxiv.org/abs/2505.20230