<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Real-time visualization of profiling metadata upon data insertions</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Loredana Caruccio</string-name>
          <email>lcaruccio@unisa.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Stefano Cirillo</string-name>
          <email>scirillo@unisa.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Vincenzo Deufemia</string-name>
          <email>deufemia@unisa.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Giuseppe Polese</string-name>
          <email>gpolese@unisa.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Data profiling</institution>
          ,
          <addr-line>Functional dependencies, Data insertions, MySQL workbench</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Department of Computer Science University of Salerno Fisciano (SA)</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Data-intensive processes must deal with the problem of monitoring the quality of data. To this end, metadata can be exploited in order to highlight errors and support the cleaning of data. In this paper, we present a novel DBMS plugin for validating profiling metadata during data insertions, aiming to assist the user in a-priori checking the quality of data being inserted into a database. It has been implemented within the MySQL Workbench client and is able to intercept and validate data insertion queries. More specifically, using such a plugin it is possible to verify in real-time whether the data to be inserted into a database instance will produce some violations on specific metadata, such as unique column combinations or functional dependencies. A user study highlighted the efectiveness of the proposed plugin by also emphasizing its strengths and weaknesses.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>INTRODUCTION</title>
      <p>
        Data quality is becoming a vital activity in most application
domains. The presence of errors and inconsistencies in the data
drastically reduce the value of data and processing capabilities
on them [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Nowadays, data-intensive systems are involved
in everyday life and enable complex analysis based on the data
they process. Examples are data warehousing and data mining
systems, through which statistics on data, classification tasks,
and in general novel insights can be generated. Data is a valuable
asset for customers, companies, and governments, which yields
their quality to have a fundamental role in data governance
models [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. Nevertheless, the possible presence of dirty data might
produce negative efects on their results. To this end, big eforts
have been devoted to cleaning data before employing them in
data-intensive processes. In fact, many approaches to
automatically perform cleaning tasks, such as de-duplication, missing
value imputation, and entity resolution represent a landmark for
guaranteeing a proper drawing of the reality through the data
describing it. Such approaches permit to automate and/or optimize
data preparation tasks at semantic-level, which would otherwise
require bigger eforts, tedious and long lasting pre-processing
activities. In fact, it is well-known that data scientists spend most
of their time in data preparation tasks [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ].
      </p>
      <p>
        Many data cleaning approaches exploit profiling metadata , that
permit to describe properties that must hold on data, and
consequently they can be used to monitor the quality of the data
themselves. Examples of metadata are unique column combinations,
functional dependencies, denial constraints, and so on.
Moreover, nowadays the exploitation and validation of these metadata
are enhanced thanks to recent data profiling algorithms, which
enable their automatic discovery from “big” datasets [
        <xref ref-type="bibr" rid="ref1 ref10 ref21 ref4">1, 4, 10, 21</xref>
        ].
      </p>
      <p>
        DataBase Management Systems (DBMSs) have been
recognized as a useful tool enabling easy interactions between the user
and the stored data. In particular, they permit to inquire data
with little efort [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. They can also be used to perform data fusion
activities, after schema matching processes [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. In such scenarios,
it would be desirable that the validation of profiling metadata
be managed by users through the definition of some constraints.
However, to the best of our knowledge, DBMSs do not permit to
verify the validity of metadata, such as fd’s satisfiability, on the
current database instance, and/or verify whether some of them
could be invalidated upon data insertion operations.
      </p>
      <p>In this paper we introduce a novel visual tool named
inditio (INteracting with metaData during data InserTIOns), which
permits to monitor in real-time, and possibly validate, specific
profiling metadata upon data insertion operations. In
particular, the tool has been implemented as a plugin of the graphical
client MySQL Workbench, and it enables the user to intercept
data insertion queries, in order to validate specified (or uploaded)
metadata before the insertion is committed. In this way, a user
can check the correctness of the data s/he is planning to insert,
and decide either to force the insertion nonetheless the data, or
try to fix them. Consequently, inditio manages the specification
(uploading) of metadata and the visualization of validation
results together with values inducing possible violations. Moreover,
diferent statistical counters and visual components enable users
to have an overview of the general impact of data insertions
on the considered metadata. The current implementation of the
plugin is able to manage unique column combinations (uccs)
and functional dependencies (fds), but it could be extended to
include other kinds of profiling metadata.</p>
      <p>In general, the goal that guided such work is threefold: i)
improve the quality of data by driving users in the data insertion
process, ii) sensitize more users to the data profiling concepts, and
iii) support an implicit analysis on the significance of metadata
from domain experts.</p>
      <p>The paper is organized as follows. Section 2 describes
approaches to data quality and data profiling tools. Section 3 presents
the theoretical foundations of considered profiling metadata.
Section 4 presents inditio, whereas Section 5 reports a user study
we performed to analyze its efectiveness and usability. Finally,
summary and future directions are included in Section 6.</p>
    </sec>
    <sec id="sec-2">
      <title>RELATED WORK</title>
      <p>
        Metadata have been recognized as a fundamental tool for
guaranteeing good levels of quality to the extension of data, mainly
due to their involvement in data cleaning processes [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. Among
the diferent data cleaning activities, it is possible to find: schema
mapping, de-duplication, classification and mastering, spotting
errors and violations (e.g., outliers), repairing incorrect values,
missing value imputation [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ].
      </p>
      <p>
        Data cleaning activities have also been included in several
data preparation commercial tools [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. Two of the main
frameworks that can be used to perform data cleaning are: Llunatic
[
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] and HoloClean [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ]. The first represents one of the first
uniform frameworks for data-cleaning activities, which also
introduced novel semantics and notions in the data cleaning research
area. The latter relies on classical concepts, such as integrity
constraints and external data sources, but also on statistical
properties of the input data. The main goal of HoloClean is to
automatically generate a probabilistic program that performs data
cleaning.
      </p>
      <p>
        Data cleaning and metadata verification activities have also
been included into, mainly commercial, data governance suites,
such as Talend [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] and IBM InfoShere [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Among the many
advanced database operations, these suites permit to validate and
possibly to graphically check data quality constraints.
      </p>
      <p>
        The possibility of exploiting metadata is given by the existence
of algorithms capable of discovering them from big data sources
[
        <xref ref-type="bibr" rid="ref1 ref10 ref21 ref4">1, 4, 10, 21</xref>
        ]. Metadata discovery processes are also provided
by efective platforms for data profiling, such as the Metanome
project [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ], which embeds several algorithms to automatically
discover complex metadata, including functional and inclusion
dependencies; and Metacrate [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], which permits the storage
of diferent meta-data and their integration, enabling users to
perform several ad-hoc analysis.
      </p>
      <p>
        Nevertheless, since automatic discovery processes could
output many metadata, some novel proposals started to visually
manage the complexity related to an efective visualization of
metadata holding on a given dataset, by using novel metaphors
for representing metadata at diferent levels of detail [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
Moreover, other proposals allow users to explore how metadata change
over time, and to compare the results obtained among diferent
time-slots [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], or to represent how discovery results change into
the search space [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
      </p>
      <p>All of the above-mentioned approaches try to repair/analyze
available datasets aiming at improving their quality and/or
detect/visualize possible holding metadata. On the contrary, the
proposed inditio plugin aims at improving the quality of data,
trying to directly make users, i.e., who define data, aware of the
possible errors that they can introduce into database instances.
For this reason, we propose a tool that could be properly
integrated into a DBMS. In this way, users and/or domain experts can
approach this kind of concepts by simply using the environment
they are familiar with. In other words, inditio aims at including
data profiling discovery results within DBMSs, facilitating their
interpretation to users through a plugin that also includes several
visual components. To the best of our knowledge, in the
literature, there are no other DBMS integrated plugins considering the
interaction among data definition statements and metadata.
3</p>
    </sec>
    <sec id="sec-3">
      <title>DATA PROFILING</title>
      <p>
        Collecting metadata from big datasets is the goal of the data
profiling research area [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. Profiling metadata refer to many
kinds of properties, ranging from statistics, domain cardinalities,
frequent patterns to clusters, outliers, and data dependencies. All
of them might be exploited in several advanced database
operations, such as query optimization, data cleaning, and so forth.
The proposed plugin considers two specific types of metadata,
e.g., Unique Column Combination (ucc) and Functional
Dependency (fd), which are described in what follows, after a brief
introduction to relational databases.
      </p>
      <p>A relational database schema R is defined as a collection of
relation schemas (1,. . .,  ), where each  is defined over a
set  ( ) of attributes (1,. . .,  ). Each attribute  has
associated a domain  ( ), which can be finite or infinite. A
relation instance (or simply a relation)  of  is a set of tuples
(1, . . . ,  ) such that ∀  ∈  ( )   [ ] ∈  ( ), where
  [ ] denotes the projection of   onto  . A database instance
 of R is a collection of relations (1,. . ., ), where  is a relation
instance of  , for  ∈ [1, ].</p>
      <p>In the context of relational databases, one of the main property
is represented by candidate keys. They permit to define possible
tuple identifiers of a relation instance since no repetition in value
combinations are allowed. They can be efectively identified by
exploiting unique column combinations (uccs).</p>
      <p>ucc definition. A ucc over a relation schema  is a sets of
attributes  ⊆  () such that given an instance  of , for
every pair of tuples (1, 2) in  then 1 [ ] ≠ 2 [ ].</p>
      <p>Another relevant property of a relational database is
represented by functional dependencies (fds), which are used to
improve the quality of database schemas and to reduce manipulation
anomalies.</p>
      <p>fd definition. An fd over a database schema R is a statement
 →  ( implies  ) defined between two sets of attributes
 ,  ⊆  (R), such that, given an instance  of R,  →  is
satisfied in  if and only if for every pair of tuples (1, 2) in  ,
whenever 1 [ ] = 2 [ ], then 1 [ ] = 2 [ ].  and  represent
the Left-Hand-Side (LHS) and Right-Hand-Side (RHS) of the fd,
respectively.</p>
      <p>In general, an fd is said to be non-trivial if and only if  ∩ = ∅.
Moreover, an fd is said to be minimal if and only if there is no
attribute  ∈  such that  \ →  holds on  .
4</p>
    </sec>
    <sec id="sec-4">
      <title>INDITIO: A MYSQL WORKBENCH PLUGIN</title>
      <p>
        In this section, we describe inditio a MySQL Workbench plugin
capable of validating profiling metadata upon the insertion of new
tuples in a database. MySQL Workbench1 is the oficial graphical
client of MySQL [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], which covers many functionalities, among
which the most important are the possibility ) to graphically
create models of database schemas, ) to edit tables, columns,
indices, and so forth, and ) to create and manage connections to
database servers, along with providing the capability to execute
SQL queries using the built-in SQL Editor (see Figure 1).
      </p>
      <p>inditio has been implemented by exploiting the libraries
exposed from Oracle, to directly interact with the main components
of the software. Thanks to the most recent versions of the MySQL
Workbench source packages, it was possible to develop the
proposed plugin using Python 2.7. Although this is not the latest
version of this programming language, it is the only supported
version by MySQL Workbench. In fact, it is important to notice
that MySQL Workbench has been developed by exploiting C++
libraries, and supports Python libraries only by means of a wrapper
that is able to translate Python code into C++ code. This makes</p>
      <sec id="sec-4-1">
        <title>1https://www.mysql.com/it/products/workbench/</title>
        <p>MySQL Workbench a real challenge for external developers
looking to extend its functionalities, since it is not always possible to
install new modules. For this reason, the most popular currently
available plugins created by external developers 2 are divided
into two categories: ) MySQL database documentation
generation; and ) MySQL Workbench export. Both types of plugins
work in batch and are bound to execute a single operation. On
the contrary, inditio fully exploits the functionalities of MySQL
Workbench as described in the following section.
4.1</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Interacting with metadata upon data insertions</title>
      <p>inditio is able to intercept data insertion queries provided by
users into the SQL Editor. Due to the possible big number of
errors that can be introduced during the insertion of new tuples,
DBMSs should enable users to visualize profiling metadata that
newly inserted data could possibly invalidate, by also giving the
possibility to interact with them. For this reason, it should be
necessary to evaluate such metadata upon data insertion operations.
To this end, inditio extends MySQL Workbench functionalities
by enabling users to validate uccs and fds upon the insertion of
new tuples.</p>
      <p>Figure 2 shows the general visual interface of inditio. In
general, it permits to evaluate the impact of new data on a set of
holding metadata. Thus, it enables users to visualize the new
tuples being inserted (Figure 2(a)), the metadata to validate (Figure
2(b-d)), and the results of the metadata validation process (Figure
2(e-h)). Moreover, inditio also provides several functionalities
enabling users to interact with both SQL statements and
metadata, as described in the following. A demonstration video of
inditio is available on YouTube3.</p>
      <p>4.1.1 Analysis of metadata. The main novelty introduced by
inditio is the possibility to evaluate some metadata directly into
the MySQL Workbench. In fact, a user can upload uccs or fds by
selecting the type of metadata s/he plans to monitor. In particular,
the metadata will be directly uploaded through a default file, but
they can be changed by selecting a new JSON file (Figure 2(b)).</p>
      <p>The uploaded metadata are shown in the middle form (Figure
2(d)), which is customized according to the type of metadata the
user selects. For instance, fds are divided into LHS and RHS, each
containing some attributes, in order to graphically visualize the
implication property. Instead, the ucc customized form visualizes
each metadata by considering a single group of attributes (Figure
3). Aside from the metadata uploaded via file, a user can always
add new metadata. Moreover, through this form it is possible to
select which metadata must be considered during the validation.
Indeed, each metadata can be selected by means of the check
box, and/or by using the “Select All” or “Unselect All” buttons.</p>
      <sec id="sec-5-1">
        <title>2https://github.com/cciro94/MySQL-Workbench-Plugins 3https://youtu.be/u03Vftge8pA</title>
        <p>Finally, it is always possible to “Copy Selected Metadata” as text
by means of a specific button.</p>
        <p>Notice that metadata are described through letters or numbers,
e.g., alias, in order to identify attributes. This facilitates users in
focusing on attributes and/or in defining new metadata. In fact,
possible long (or inappropriate) attribute names could confuse
the user. However, inditio provides a suitable form to show the
mapping between attribute names and their associated alias (see
Figure 2(c)).</p>
        <p>All selected metadata can be validated by clicking on “Run
Validation”, which triggers the execution of a validation module
whose aim is to check if the new tuples violate the selected
metadata. According to the validation process, each metadata
can be classified in one of the following categories:
• Valid Metadata, when the new tuples do not produce any
violation;
• Not Valid Metadata, when the new tuples entail at least
one violation; or
• Impossible to validate, when the metadata cannot be
validated. This occurs when the user introduces errors in the
metadata, such as when the attribute names do not exist
in the considered database.</p>
        <p>Example 4.1. Let us consider a database storing smartphone
characteristics. Figure 2(e-g) show validation results of the
considered fds (Figure 2(d)) according to the new tuples the user is
planning to insert (see Figure 2(a)). In particular, three out of six
fds are valid, two are invalid, and one cannot be validated. In
fact, K,M → D includes attribute M that does not appear in the
considered database. Instead, C → E, i.e., ram → display_ppi, is
invalidated if the new tuples are inserted.</p>
        <p>In general, the impact of the new tuples on the considered
metadata is summarized by inditio in a new form, named
report form, shown in Figure 4. This form graphically shows the
percentage of validation/invalidation produced on the selected
metadata by the tuples the user is planning to insert. Moreover,
the report form ranks database attributes in descending order
according to the number of invalidated metadata containing them.
More specifically, the form represents this kind of information
according to the type of metadata, i.e., by splitting the
information about invalidation on LHS and RHS when considering fds
(see Figure 4(a)).</p>
        <p>Example 4.2. Figure 4(a) shows the fd validation report for
the validation results represented in Figure 2. In particular, the
form shows that the impact of invalidations is 33% of the
analyzed metadata. Moreover, among the attributes involved in the
invalidated metadata, attribute C (e.g., ram) is involved in two
invalidated fds; whereas attributes E (e.g., cpu) and D (e.g.,
display_ppi) are involved in one invalidated fd. This could suggest
to verify the values of attributes ram, cpu, and display_ppi of the
new tuples.</p>
        <p>4.1.2 Interacting with data insertions. inditio not only
enables users to visualize the impact of new tuples on holding
metadata, but it also permits them to interact with the new data.
First of all, INSERT INTO statements can always be modified
within the inditio interface (see Figure 2(a)), triggering
subsequent validation processes with modified tuples. As said above,
inditio freezes the execution of INSERT INTO statements while
verifying the possibility to correct values being inserted so as
not to invalidate holding metadata. Nevertheless, inditio always
gives users the possibility to overlook possible violations of
metadata and to force the execution of data insertion operations by
means of the “Execute Statements” button (see Figure 2(a)).</p>
        <p>On the other hand, one of the main goals of inditio is to help
users in correcting possible errors. To this end, after a validation
process (i.e., by clicking “Run Validation”), a user can visualize
data yielding violations by interacting with the “Not Valid
Metadata” form (see Figure 2(f)). More specifically, by clicking on any
metadata in such form, inditio shows a violation detail form, as
shown in Figure 5. In particular, concerning fds, apart from the
details of the selected metadata, the violation form describes for
each LHS value combination involved in a violation: ) the value
combination of the LHS, ) the corresponding distinct values
found on the RHS, and ) their total number (see Figure 5(a)).
Instead, concerning uccs, apart from the details of the selected
metadata, the violation form describes for each value combination
involved in value duplication: ) the value combination involved
in a duplication, ) the number of duplications (see Figure 5(b)).
The latter should represent the functionality that drives users in
accomplishing the best possible correction of errors.</p>
        <p>Example 4.3. Figure 5(a) shows the violation details of the
fd C → E (e.g. ram → display_ppi) according to the validation
results represented in Figure 2. In particular, the form shows
that four specific values on attribute C (e.g. ram), i.e. 1Gb, 2Gb,
3Gb, 512mb, each implies diferent values of attribute E (e.g.
display_ppi). Moreover, it is also possible to see that the value 2Gb
is the one implying the highest number of distinct values.
Instead, Figure 5(a) shows that for the ucc K,E,L (e.g. id_brand,
display_ppi, id_os) there are six specific value combinations
inducing duplicate values. In general, this form could suggest to
correct values on the new tuples concerning attributes involved
in the considered violated metadata, or to exclude the metadata
from the validation process.
5</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>USER STUDY</title>
      <p>The user study presented in this section aims to show that inditio
makes metadata validation a simple and efective process for
improving data quality.
5.1</p>
    </sec>
    <sec id="sec-7">
      <title>Method</title>
      <p>We recruited 86 students majoring in Computer Science who
just attended the Fundamentals of database. We also recruited 3
Ph.D. students and 1 Ph.D., all of which were familiar with the
given domain. Statistics about participants have been collected
through a background survey, as shown in Table 1(Q1-Q4), and
whose results are reported in Figure 6. In particular, about 85%
of the recruited people were men, 15% were women, and most of
them were undergraduate students. Moreover, on average they
declared, through a Likert scale, a medium level of knowledge
concerning MySQL and MySQL Workbench. Before the
evaluation started, participants underwent a 45-min tutorial on the
theoretical foundations of data profiling and inditio.</p>
      <p>Each of the 90 participants was given a database concerning
personal data, three data insertion statements, and two sets of
uccs and fds metadata, respectively. Moreover, we requested
(a) A form showing validation statistics after the fd validation process.
(b) A form showing validation statistics after the ucc validation process.
(a) A form showing values that invalidate metadata after the fd validation process.
(b) A form showing values that invalidate metadata after the ucc validation process.
them to check the correctness of data insertion statements
according to the provided metadata, and if necessary, to correct
statements aiming to guarantee the validity of the provided
metadata. More specifically, we conducted a within subjects study
by considering two scenarios: with and without inditio, and
requested to accomplish the task in one scenario first, and then
with the other one. Half participants considered first the scenario
without inditio, while the remaining ones used inditio first.
Notice that, the provided data insertion statements were diferent
but equivalent in complexity. In particular, in the case
participants performed the tasks without the tool, they were able to
validate the metadata by directly analyzing the data source or
using the SQL language to compose specific queries. To this end,
they could interact only with the tools already integrated into
MySQL Workbench, both to validate the metadata and to correct
the values within the data.</p>
      <p>After completing the assigned tasks, participants were
requested to fill some questionnaires, aiming to highlight the
advantages and drawbacks of inditio (see Table 1(Q4-Q20)). More
specifically, questions from Q4 to Q8 have been filled after
participants performed each task (with and without inditio, or vice
versa), whereas the remaining ones have been included in a final
survey. Moreover, questions from Q4 to Q20 are quantitative, and
they have been measured through a Likert scale, ranging from 1,
mapping “Strongly disagree” response, to 5, mapping “Strongly
agree” response. Finally, to further evaluate the efectiveness of
both processes (with and without inditio) we measured the time
required for completing the task and the number of errors.
5.2</p>
    </sec>
    <sec id="sec-8">
      <title>Results and Discussion</title>
      <p>Figure 8 shows the results achieved from each participant while
executing the assigned tasks with both the compared scenarios
(without and with the tool). The results achieved from the tasks
performed without the tool have been considered as the
comparative baseline (purple line), while the results obtained with the</p>
      <sec id="sec-8-1">
        <title>Survey</title>
      </sec>
      <sec id="sec-8-2">
        <title>Alias</title>
        <p>Question
d
n
u
o
r
g
k
c
a
B
e
v
i
t
a
r
a
p
m
o
C
l
a
n
i
F</p>
        <p>Q1
Q2
Q3
Q4
Q5
Q6
Q7
Q8
Q9
Q10
Q11
Q12
Q13
Q14
Q15
Q16
Q17
Q18
Q19
Q20
Q21
Q22
Q23
Q24</p>
        <p>Gender
Qualification
Level of knowledge of MySQL
Level of knowledge of MySQL Workbench
I completed the tasks quickly and easily
The instructions for completing the tasks are clear and easy to read
The metadata validation process has been simple
The values that invalidated the metadata have been easy to find
proposed tool were described by the bars. In particular, the plot
highlights the improvement obtained by using inditio, e.g., a
value of 2 indicates that the results achieved with inditio are 2
times better than those achieved without it, whereas a value less
than 1 indicates the opposite case. In general, it can be observed
that most of the participants performed better with inditio, even
if satisfactory results have been achieved also without the use
of the plugin. Concerning the time employed to complete the
assigned tasks, on average participants took thirty minutes with
inditio, ranging from five to sixty-seven minutes, and forty-five
minutes without it, ranging from five to eighty-four minutes. In
general, we noticed that the manual validation task times were
particularly long, especially for users with less knowledge of
MySQL. On the contrary, with inditio almost all users have
reduced the time of the validation processes by more than 50%.</p>
        <p>Figure 7 depicts the box plots derived from the answers (on a
Likert scale from 1 to 5) to questions ranging from Q5 to Q8. In
particular, users answered the same questions after performing
tasks for each considered scenario (with and without the tool).</p>
        <p>A boxplot shows the median (horizontal lines), the
interquartile ranges (boxes), the largest and the smallest observations
(whiskers). By comparing the results achieved without the plugin
(the first four box plots in Figure 7) against those with the plugin,
(the remaining box plots) we can conclude that participants felt
more comfortable and efective when working with inditio.</p>
        <p>Concerning the quantitative questions in the final
questionnaire, inditio obtained the general agreement of participants,
while evaluating its usability and efectiveness (see Figure 9).</p>
        <p>In particular, according to answers for Q20, the capability of
simplifying the metadata validation process has been widely
recognized to inditio. The latter has turned out to be comfortable
and useful according to answers to questions to Q18 and Q19,
simple to learn, and pleasant to use (see Figure 9: answers for Q10
and Q13). Nevertheless, some work should be made to further
improve the general usability of the plugin and the transparency
of the validation process, according to answers to questions to
Q11, Q12, and Q15.</p>
        <p>The open questions in the final questionnaire (see Q21-Q24
in Table 1) aimed at highlighting the strengths and weakness
of inditio. In particular, concerning the general impressions
about the plugin (see Q21 in Table 1), many participants said that
inditio shows a simple and intuitive interface, in which the
components appear well organized in the frame. Another part of them
expressed their opinion on the usefulness and eficiency of the</p>
        <p>Without INDITIO</p>
        <p>With INDITIO
5.0
4.5
4.0
3.5
3.0
2.5
2.0
1.5
1.0</p>
        <p>Q5</p>
        <p>Q6</p>
        <p>Q7</p>
        <p>Q8</p>
        <p>Q5</p>
        <p>Q6</p>
        <p>Q7</p>
        <p>Q8
1 2 3 4 5 6 7 8 9 01 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 54 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90</p>
        <p>Person ID
plugin, claiming that “The tool has certainly been successful in its
intent, significantly speeding up the time for validating metadata ”.</p>
        <p>Moreover, some of the most interesting comments have been
provided from users that are less familiar with the research context
and with MySQL Workbench. In fact, they report that inditio
is able to improve the understanding of MySQL Workbench and
to show that metadata potentially allows them to extract further
knowledge from data, which often is not clearly visible. Only a
small part of inexperienced users asserted that the plugin
interface might be initially unclear, claiming that “Initially, the tool
seems dificult to understand. Then, once I understand how to use it,
it is very useful for checking the validity of fd and ucc”. However,
by practising with it, inditio allowed them to easily understand
its features and to become familiar with its environment.</p>
        <p>In addition, concerning the specific features that participants
liked the most and the least (see Q22-Q23 in Table 1), experienced
users have greatly appreciated the functionality of identifying
values yielding the invalidation of metadata. In fact, some of them
claimed that “One of the most interesting features is identifying
the values that invalidate the metadata. This functionality could
be directly integrated into the MySql Workbench suite.” Instead,
inexperienced users have shown interest for the report forms (see
Figure 5) and for the simplicity through which the plugin could be
integrated within the MySQL Workbench suite as a simple plugin.</p>
        <p>Although most of the comments were positive, we also
investigated the features they liked the least. Among them, many users
have highlighted that the Query Editor component appears small
and does not clearly show statements. However, this is limited
by the graphics components included in the MySQL Workbench.</p>
        <p>For these reasons, we allow the users to directly interact with
the SQL editor of MySQL Workbench, and to import their
statements. Other participants have suggested adding further reports
in the interface in order to enhance their understanding of how
data insertion statements afect metadata. Only few users have
proposed to extend the interface of inditio with new graphical
components in order to improve the interaction with both the
plugin and the MySQL Workbench.</p>
        <p>Finally, we have asked users some suggestions for
enhancing inditio (see Q24 in Table 1). To this end, some users have
suggested integrating new metadata, also allowing them to
simultaneously validate multiple metadata. Other users have suggested
improving the integration with systems based on the Linux
architecture. In fact, it has been found that some of the users using
these operating systems tend to view some reports diferently
from users who use Windows systems. However, this is due to
the compatibility problems between the technologies
underlying the MySQL Workbench and diferent operating systems. In
the future, these compatibility issues might be solved with new
software versions.</p>
        <p>In summary, the four open questions of the final questionnaire
revealed that some participants remarked some limitations of
the inditio user interface. Moreover, they would like to receive
more hints during the statement modification process,
according to validation results. Conversely, they positively judged the
intuitiveness the metadata validation and the error detection
processes. Moreover, they welcomed the tool and recognized its
usefulness.</p>
      </sec>
    </sec>
    <sec id="sec-9">
      <title>6 CONCLUSION</title>
      <p>In this paper we presented inditio, a MySQL plugin enabling
users to assess the quality of data they planned to insert into a
database. In particular, the plugin enables a user to observe how
the new tuples can afect the validation of some metadata, e.g.
fds and uccs, assisting him/her in correcting them, if needed. We
evaluated inditio by involving more than eighty participants in
a user study, which demonstrated its usefulness, giving us the
possibility to detect the main characteristics of the tool to be
improved, mainly focusing on the improvement and/or extension
of some visual components.</p>
      <p>
        The potentiality of inditio yields many possible future
directions. In particular, we are currently working on the enrichment
of the set of possible metadata that can be taken into
consideration, with particularly emphasis on relaxed fds (rfds) [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
Q9 1 1
11
5
14
13
18
14
22
18
21
30
27
25
      </p>
      <p>28
37
36
39</p>
      <p>40
49
37
41
30
33
33
63
47
44
34
33
30</p>
      <p>27
29</p>
      <p>
        17
19
23
21
Moreover, we would like to directly connect the plugin to
incremental or continuous discovery algorithms [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], so that when
the user decides to force the insertions also in presence of
invalidated metadata, such algorithms could automatically update
the set of holding metadata. This would implicitly represent a
means to automatically analyze the significance of metadata,
while discovering them from actual data.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Ziawasch</given-names>
            <surname>Abedjan</surname>
          </string-name>
          , Lukasz Golab, Felix Naumann, and
          <string-name>
            <given-names>Thorsten</given-names>
            <surname>Papenbrock</surname>
          </string-name>
          .
          <year>2018</year>
          .
          <article-title>Data profiling</article-title>
          .
          <source>Synthesis Lectures on Data Management</source>
          <volume>10</volume>
          ,
          <issue>4</issue>
          (
          <year>2018</year>
          ),
          <fpage>1</fpage>
          -
          <lpage>154</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Ibrahim</given-names>
            <surname>Ahmed Al-Baltah</surname>
          </string-name>
          ,
          <article-title>Abdul Azim Abd Ghani, Ghilan Mohammed AlGomaei, Fua'ad Hassan Abdulrazzak,</article-title>
          and Abdulmonem Ali Al Kharusi.
          <year>2020</year>
          .
          <article-title>A scalable semantic data fusion framework for heterogeneous sensors data</article-title>
          .
          <source>Journal of Ambient Intelligence and Humanized Computing</source>
          (
          <year>2020</year>
          ),
          <fpage>1</fpage>
          -
          <lpage>20</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Oracle</given-names>
            <surname>Corporation</surname>
          </string-name>
          and/or its afiliates.
          <year>2021</year>
          .
          <article-title>MySQL ™ Workbench Reference Manual</article-title>
          . https://dev.mysql.com/doc/workbench/en/.
          <source>last accessed: Jan</source>
          <year>13th</year>
          ,
          <year>2021</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Tobias</given-names>
            <surname>Bleifuß</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Sebastian</given-names>
            <surname>Kruse</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Felix</given-names>
            <surname>Naumann</surname>
          </string-name>
          .
          <year>2017</year>
          .
          <article-title>Eficient denial constraint discovery with hydra</article-title>
          .
          <source>Proceedings of the VLDB Endowment 11</source>
          ,
          <issue>3</issue>
          (
          <year>2017</year>
          ),
          <fpage>311</fpage>
          -
          <lpage>323</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Jens</given-names>
            <surname>Bleiholder</surname>
          </string-name>
          and
          <string-name>
            <given-names>Felix</given-names>
            <surname>Naumann</surname>
          </string-name>
          .
          <year>2009</year>
          .
          <article-title>Data fusion</article-title>
          .
          <source>ACM computing surveys (CSUR) 41</source>
          ,
          <issue>1</issue>
          (
          <year>2009</year>
          ),
          <fpage>1</fpage>
          -
          <lpage>41</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Bernardo</given-names>
            <surname>Breve</surname>
          </string-name>
          , Loredana Caruccio, Stefano Cirillo, Vincenzo Deufemia, and
          <string-name>
            <given-names>Giuseppe</given-names>
            <surname>Polese</surname>
          </string-name>
          .
          <year>2020</year>
          .
          <article-title>Visualizing Dependencies during Incremental Discovery Processes</article-title>
          .
          <source>In Proceedings of the Workshops of the EDBT/ICDT 2020 Joint Conference (CEUR Workshop Proceedings)</source>
          , Vol.
          <volume>2578</volume>
          . CEUR-WS.org, Aachen,
          <fpage>1</fpage>
          -
          <lpage>8</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Loredana</given-names>
            <surname>Caruccio</surname>
          </string-name>
          and
          <string-name>
            <given-names>Stefano</given-names>
            <surname>Cirillo</surname>
          </string-name>
          .
          <year>2020</year>
          .
          <article-title>Incremental discovery of imprecise functional dependencies</article-title>
          .
          <source>Journal of Data and Information Quality (JDIQ) 12</source>
          ,
          <issue>4</issue>
          (
          <year>2020</year>
          ),
          <fpage>1</fpage>
          -
          <lpage>25</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Loredana</given-names>
            <surname>Caruccio</surname>
          </string-name>
          , Vincenzo Deufemia, and
          <string-name>
            <given-names>Giuseppe</given-names>
            <surname>Polese</surname>
          </string-name>
          .
          <year>2016</year>
          .
          <article-title>Relaxed Functional Dependencies - A Survey of Approaches</article-title>
          .
          <source>IEEE Transactions on Knowledge and Data Engineering</source>
          <volume>28</volume>
          ,
          <issue>1</issue>
          (
          <year>2016</year>
          ),
          <fpage>147</fpage>
          -
          <lpage>165</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Loredana</given-names>
            <surname>Caruccio</surname>
          </string-name>
          , Vincenzo Deufemia, and
          <string-name>
            <given-names>Giuseppe</given-names>
            <surname>Polese</surname>
          </string-name>
          .
          <year>2019</year>
          .
          <article-title>Visualization of (multimedia) dependencies from big data</article-title>
          .
          <source>Multimedia Tools and Applications</source>
          <volume>78</volume>
          ,
          <issue>23</issue>
          (
          <year>2019</year>
          ),
          <fpage>33151</fpage>
          -
          <lpage>33167</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Loredana</surname>
            <given-names>Caruccio</given-names>
          </string-name>
          , Vincenzo Deufemia, and
          <string-name>
            <given-names>Giuseppe</given-names>
            <surname>Polese</surname>
          </string-name>
          .
          <year>2020</year>
          .
          <article-title>Mining relaxed functional dependencies from data</article-title>
          .
          <source>Data Mining and Knowledge Discovery</source>
          <volume>34</volume>
          ,
          <issue>2</issue>
          (
          <year>2020</year>
          ),
          <fpage>443</fpage>
          -
          <lpage>477</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>IBM</given-names>
            <surname>Corporation</surname>
          </string-name>
          .
          <year>2021</year>
          .
          <article-title>IBM InfoSphere Information Server</article-title>
          . https://www. ibm.com/analytics/information-server/.
          <source>last accessed: Feb</source>
          <year>23th</year>
          ,
          <year>2021</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Wei</surname>
            <given-names>Dai</given-names>
          </string-name>
          , Isaac Wardlaw, Yu Cui, Kashif Mehdi,
          <string-name>
            <given-names>Yanyan</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>and Jun</given-names>
            <surname>Long</surname>
          </string-name>
          .
          <year>2016</year>
          .
          <article-title>Data profiling technology of data governance regarding big data: review and rethinking</article-title>
          .
          <source>In Information Technology: New Generations</source>
          . Springer International Publishing, Cham,
          <fpage>439</fpage>
          -
          <lpage>450</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Wenfei</surname>
            <given-names>Fan</given-names>
          </string-name>
          , Floris Geerts, and
          <string-name>
            <given-names>Xibei</given-names>
            <surname>Jia</surname>
          </string-name>
          .
          <year>2008</year>
          .
          <article-title>Semandaq: a data quality system based on conditional functional dependencies</article-title>
          .
          <source>Proceedings of the VLDB Endowment 1</source>
          ,
          <issue>2</issue>
          (
          <year>2008</year>
          ),
          <fpage>1460</fpage>
          -
          <lpage>1463</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Floris</surname>
            <given-names>Geerts</given-names>
          </string-name>
          , Giansalvatore Mecca, Paolo Papotti, and
          <string-name>
            <given-names>Donatello</given-names>
            <surname>Santoro</surname>
          </string-name>
          .
          <year>2013</year>
          .
          <article-title>The LLUNATIC data-cleaning framework</article-title>
          .
          <source>Proceedings of the VLDB Endowment 6</source>
          ,
          <issue>9</issue>
          (
          <year>2013</year>
          ),
          <fpage>625</fpage>
          -
          <lpage>636</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>Mazhar</given-names>
            <surname>Hameed</surname>
          </string-name>
          and
          <string-name>
            <given-names>Felix</given-names>
            <surname>Naumann</surname>
          </string-name>
          .
          <year>2020</year>
          .
          <article-title>Data Preparation: A Survey of Commercial Tools</article-title>
          .
          <source>SIGMOD Rec</source>
          .
          <volume>49</volume>
          ,
          <issue>3</issue>
          (
          <year>2020</year>
          ),
          <fpage>18</fpage>
          -
          <lpage>29</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Ihab</surname>
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Ilyas</surname>
            and
            <given-names>Xu</given-names>
          </string-name>
          <string-name>
            <surname>Chu</surname>
          </string-name>
          .
          <year>2019</year>
          .
          <article-title>Data Cleaning</article-title>
          . ACM, New York, NY, United States.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>Sebastian</given-names>
            <surname>Kruse</surname>
          </string-name>
          , David Hahn,
          <string-name>
            <given-names>Marius</given-names>
            <surname>Walter</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Felix</given-names>
            <surname>Naumann</surname>
          </string-name>
          .
          <year>2017</year>
          .
          <article-title>Metacrate: Organize and analyze millions of data profiles</article-title>
          .
          <source>In Proceedings of the 2017 ACM on Conference on Information and Knowledge Management. Association for Computing Machinery</source>
          , New York, NY, USA,
          <fpage>2483</fpage>
          -
          <lpage>2486</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>Jay</given-names>
            <surname>Lee</surname>
          </string-name>
          ,
          <string-name>
            <surname>Hung-An</surname>
            <given-names>Kao</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Shanhu</given-names>
            <surname>Yang</surname>
          </string-name>
          , et al.
          <year>2014</year>
          .
          <article-title>Service innovation and smart analytics for industry 4.0 and big data environment</article-title>
          .
          <source>Procedia Cirp</source>
          <volume>16</volume>
          ,
          <issue>1</issue>
          (
          <year>2014</year>
          ),
          <fpage>3</fpage>
          -
          <lpage>8</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>Felix</given-names>
            <surname>Naumann</surname>
          </string-name>
          .
          <year>2014</year>
          .
          <article-title>Data profiling revisited</article-title>
          .
          <source>ACM SIGMOD Record 42</source>
          ,
          <issue>4</issue>
          (
          <year>2014</year>
          ),
          <fpage>40</fpage>
          -
          <lpage>49</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <surname>Thorsten</surname>
            <given-names>Papenbrock</given-names>
          </string-name>
          , Tanja Bergmann, Moritz Finke, Jakob Zwiener, and
          <string-name>
            <given-names>Felix</given-names>
            <surname>Naumann</surname>
          </string-name>
          .
          <year>2015</year>
          .
          <article-title>Data profiling with Metanome</article-title>
          .
          <source>Proceedings of the VLDB Endowment 8</source>
          ,
          <issue>12</issue>
          (
          <year>2015</year>
          ),
          <fpage>1860</fpage>
          -
          <lpage>1863</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>Thorsten</given-names>
            <surname>Papenbrock</surname>
          </string-name>
          and
          <string-name>
            <given-names>Felix</given-names>
            <surname>Naumann</surname>
          </string-name>
          .
          <year>2016</year>
          .
          <article-title>A hybrid approach to functional dependency discovery</article-title>
          .
          <source>In Proceedings of the 2016 International Conference on Management of Data. Association for Computing Machinery</source>
          , New York, NY, USA,
          <fpage>821</fpage>
          -
          <lpage>833</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <surname>Theodoros</surname>
            <given-names>Rekatsinas</given-names>
          </string-name>
          , Xu Chu,
          <string-name>
            <given-names>Ihab F.</given-names>
            <surname>Ilyas</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Christopher</given-names>
            <surname>Ré</surname>
          </string-name>
          .
          <year>2017</year>
          .
          <article-title>HoloClean: Holistic Data Repairs with Probabilistic Inference</article-title>
          .
          <source>Proc. VLDB Endow</source>
          .
          <volume>10</volume>
          ,
          <issue>11</issue>
          (
          <year>2017</year>
          ),
          <fpage>1190</fpage>
          -
          <lpage>1201</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <surname>Talend</surname>
          </string-name>
          .
          <year>2021</year>
          . Talend Studio. https://https://www.talend.com/products/ data-quality/.
          <source>last accessed: Feb</source>
          <year>23th</year>
          ,
          <year>2021</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>