DataGen: JSON/XML Dataset Generator

In this document, it is described the steps towards DataGen’s implementation. DataGen is a versatile and powerful tool that allows for quick prototyping and testing of software applications, since currently too few solutions offer both the complexity and scalability necessary to generate adequate da...

Full description

Bibliographic Details
Main Author: Santos, Filipa Alves dos (author)
Other Authors: Cardoso, Hugo André Coelho (author), Costa, João da Cunha e (author), Carvalho, Válter Ferreira Picas (author), Ramalho, José Carlos (author)
Format: conferencePaper
Language:eng
Published: 2021
Subjects:
Online Access:http://hdl.handle.net/1822/73506
Country:Portugal
Oai:oai:repositorium.sdum.uminho.pt:1822/73506
Description
Summary:In this document, it is described the steps towards DataGen’s implementation. DataGen is a versatile and powerful tool that allows for quick prototyping and testing of software applications, since currently too few solutions offer both the complexity and scalability necessary to generate adequate datasets in order to feed a data API or a more complex APP, enabling their testing with appropriate data volume and complexity. DataGen’s core is a Domain Specific Language (DSL) that was created to specify datasets. This language suffered several updates: repeating fields (with no limit), fuzzy fields (statistically generated), lists, high order functions over lists, custom made transformation functions. The final result is a diversified algebra that allows the generation of very complex datasets coping with very convoluted requirements. Throughout the paper, several examples of the possibilities will be given. After generating a dataset, DataGen gives the user the possibility to generate a RESTFul data API with it, creating a running prototype. This solution has already been used in real life cases, described with more detail throughout the paper, in which it was able to create the intended datasets successfully. These allowed the application’s performance to be tested and for the right adjustments to be made. The tool is currently being deployed for general use.