<!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>Let's Make it Dirty with BART!</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Donatello Santoro</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Patricia C. Arocena</string-name>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Boris Glavic</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Giansalvatore Mecca</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Renee J. Miller</string-name>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Paolo Papotti</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Eurecom -</institution>
          <country country="FR">France</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Illinois Inst. of Technology -</institution>
          <country country="US">USA</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Universita della Basilicata -</institution>
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>University of Toronto -</institution>
          <country country="CA">Canada</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2018</year>
      </pub-date>
      <fpage>24</fpage>
      <lpage>27</lpage>
      <abstract>
        <p>In the last few years many automatic or semi-automatic data-repairing algorithms have been proposed in order to improve the quality of a given database. Due to the richness of research proposals, it is important to conduct experimental evaluations to assess each tool's potential. Bart is an open-source error-generation system conceived to support thorough experimental evaluations of these data-repairing systems. In this paper we discuss how generating errors in data is a complex problem, with several facets. We introduce the important notions of detectability and repairability of an error, that stand at the core of Bart. Then, we show how, by changing the features of errors, it is possible to in uence quite signi cantly the performance of the tools. Finally, we concretely put to work ve data-repairing algorithms on dirty data of various kinds generated using Bart, and discuss their performance.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Data quality is a very important concern in data management. To date, many
(disparate) automatic and semi-automatic data-cleaning algorithms have been
proposed in the database community [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ][
        <xref ref-type="bibr" rid="ref12">12</xref>
        ][
        <xref ref-type="bibr" rid="ref8">8</xref>
        ][
        <xref ref-type="bibr" rid="ref5">5</xref>
        ][
        <xref ref-type="bibr" rid="ref6">6</xref>
        ][
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. These algorithms come
from di erent inspirations. Most of them are constraint-based : they assume that
the target database comes with a set of data-quality rules { for example,
functional dependencies (FDs) or conditional functional dependencies (CFDs) { and
data is repaired to remove violations to these constraints. Others, on the
contrary, do not rely on constraints, but rather on statistics-based approaches to
identify suspect values or outliers and try to repair them.
      </p>
      <p>
        Due to the richness of research proposals, it is important to conduct
thorough and fair experimental evaluations to assess each tool's potential. In fact,
other elds like entity resolution, record linkage, schema mapping and data
exchange have worked to develop consolidated tools and benchmarks for
empirically evaluating algorithms [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Thorough evaluation of data-cleaning
systems requires systematic control over the amount of errors in a dataset, and
over how hard these errors are to repair. Dirty datasets must be paired with a
ground-truth clean dataset to enable evaluation of the quality of a repair
produced by a cleaning algorithm. To support rigorous empirical evaluations, an
error-generation system must be able to generate multiple dirty versions of a
dataset with low user e ort, and scale to large datasets.
      </p>
      <p>
        Bart. Bart [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ][
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] is the rst error-generation tool explicitly conceived to
support empirical evaluations of data-repairing algorithms as per the requirements
outlined above. It takes as input a clean database and a set of data-quality rules,
and injects errors into the database. Rules are expressed using the powerful
language of denial constraints [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] and errors can be of several kinds, such as typos,
duplicated values, nulls, and outliers. We show the major components of the
system in Figure 1. A user interacts with Bart by creating error-generation
tasks, using a GUI or CL interface. These tasks are then interpreted by Bart's
error-generation engine to create dirty versions of a clean database.
      </p>
      <p>The system provides the highest
possible level of control over the
errorrgaemneertaetriso,n iptroaclleosws.s Aumseornsg toothcehroposae- BART BART GUI Command Line
the percentage of errors, whether they Error-generation Engine
want a guarantee that errors are
detaencdtaebvleenupsrionvgidtehseagniveesntimcoantestorfaihnotws, DBMS Error
thoaridtsit owriigllinbaeltoclreeasntosrteatthee. dBaatarbtasies CDleBan VeDVrVeDisrerDtiisroryitisrnoytioynn GenTearsaktion
open-source: its codebase is available
on GitHub and can be further ex- Fig. 1. Bart System Overview
tended by the community to develop
new features and functionalities.</p>
      <p>Evaluation Overview. The empirical evaluation convey three primary insights
about the system.
(i) First, we will discuss how the ne-level control over the features of errors
distinguishes Bart from previous error-generating techniques used in evaluating
data-repairing systems.
(ii) Then, we will discuss how the characteristics of errors may signi cantly
in uence the quality of repairs generated by a system.
(iii) Finally, we will demonstrate ve di erent algorithms in action on dirty data
generated using Bart, to reveal new insights on their (relative) performance as
the characteristics of the errors are varied by Bart.</p>
      <p>Overall, the attendees will learn how the availability of a tool like Bart may
help to level the eld and raise the bar for evaluation standards in data cleaning.</p>
      <p>The paper is organized as follows. Section 2 introduces the main motivation
for the system, and the notions of detectability and repairability of errors.
SecBart: Benchmarking Algorithms for data Repairing and Translation
https://github.com/dbunibas/BART
tion 3 provides an overview of the system and of its main use cases. Finally,
Section 4 discusses the empirical evaluation, and the main lessons that can be
learned from it.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Concept and Motivation</title>
      <p>Assume we are given a database about soccer players, shown in Figure 2, and
we want to assess the performance of repair algorithms according to a few
dataquality rules.
(i) A rst FD stating that Name and Season are a key for the table: d1 :
Name; Season ! Team; Stadium; Goals.
(ii) And, a second FD stating that Team implies Stadium: d2 : Team ! Stadium.</p>
      <p>
        We specify these rules in Bart using the language of denial constraints.
Denial constraints are a very expressive language, capable of capturing most
dataquality rules used for data-repairing, including FDs, CFDs, cleaning
equalitygenerating dependencies, editing rules, xing rules, and ordering constraints [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
For the sake of simplicity, here we omit the technical details about the syntax
and semantics of denial constraints, and show example data-quality rules in the
more familiar syntax of FDs.
      </p>
      <p>
        To evaluate data-repair systems, we proceed as follows.
(i) We start with a clean instance I , like the one in Figure 2, and the set of
constraints = fd1; d2g discussed above.
(ii) We inject errors by applying a set of cell changes; each cell change ch =
hti:A := vi updates the value of attribute A in tuple ti to a new value v, e.g,
ht1:Season := 2011-12i. By applying a set of cell changes Ch to I , we obtain a
new instance Id = Ch(I ), named the dirty instance.
(iii) We run a data-repairing algorithm over Id to obtain a repaired instance Irep.
We measure the quality of the algorithm using precision and recall. Intuitively,
we count how many changes in Ch have been restored to their original values in
Irep. Further details are in the full paper [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>We want now to emphasize how di erent ways to change the cells of the
clean instance may lead to errors that show completely di erent features when
considered from the perspective of a data-repairing tool.
2.1</p>
      <sec id="sec-2-1">
        <title>Detectability</title>
        <p>When evaluating a constraint-based repair algorithm, we want to make sure the
errors we inject are detectable by the system in question. After all, an error
that cannot be detected, cannot be repaired. To reason about detectability, we
need a notion for determining whether a cell change is involved in a constraint
violation. Consider the following cell change: ch1 = ht1:Season := 2012-13i that
updates tuple t1 as follows:</p>
        <sec id="sec-2-1-1">
          <title>Player Name Season Team Stadium Goals</title>
          <p>t1 : Giovinco 2012-13 Juventus Juv.Stadium 3</p>
          <p>This change does not introduce a violation to any of the constraints in ,
i.e., after the cell change the modi ed database instances does ful ll all the
constraints. Therefore, any data-repairing tool that relies on the constraints to
detect dirtiness in the database will not be able to detect the change. We call
this an undetectable change.</p>
          <p>
            More formally, a cell change ch = hti:A := vi in Ch introduces a detectable
error in I for constraint dc if: (i) cell ti:A is involved in a violation with dc
in instance Id, and (ii) cell ti:A was not involved in a violation with dc in
instance I . Here \involved in a violation" is de ned based on the fact that a
constraint can be associated with a query that returns sets of cells that cause
a violation. We call this type of queries violation-detection queries. A cell is
involved in a violation with a constraint dc if it is in the result of the
violationdetection query for dc [
            <xref ref-type="bibr" rid="ref2">2</xref>
            ]. For example, the violation-detection query for d2 is
Qd2 (i; i0; t; a; a0) = Player(i; n; s; t; a; g); Player(i0; n0; s0; t; a0; g0); a 6= a0; i 6= i0.
This query returns the Team and Stadium attributes of pairs of Player tuples with
the same team, but di erent stadiums. Using the tuple id's, sets of cells involved
in violations can be determined based on the result of this query.
          </p>
          <p>Bart allows users to control whether changes to the clean database are
detectable when using the constraints in . Bart may be con gured to generate
random changes, that do not need to be detectable, or errors that are guaranteed
to be detectable using the constraints. Note this requires Bart to reason e
ciently and holistically about a set of changes to ensure that they are detectable
using a given set of constraints.</p>
          <p>
            Interestingly, this latter requirement signi cantly increases the complexity
of the error-generation process. In fact, generating a given number of errors in
a clean database that are detectable using a set of constraints is an
NPcomplete problem [
            <xref ref-type="bibr" rid="ref2">2</xref>
            ]. To deal with this complexity Bart implements several
novel optimizations [
            <xref ref-type="bibr" rid="ref2">2</xref>
            ] that balance the need for control over the nature of
errors and scalability.
          </p>
          <p>We assume every tuple has a unique identi er that per convention is the rst
attribute. Queries are expressed in a notation similar to Datalog.
2.2</p>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>Repairability</title>
        <p>An alternative change that indeed introduces a detectable error is the following:
ch2 = ht1:Season := 2014-15i. After this update, tuples t1 and t2 violate FD d1,
which states that Name and Season are a key for the table:</p>
        <sec id="sec-2-2-1">
          <title>Player Name Season Team Stadium Goals</title>
          <p>t1 : Giovinco 2014-15 Juventus Juv.Stadium 3
t2 : Giovinco 2014-15 Toronto BMO Field 23</p>
          <p>This change is easily detected using the constraints. Still, it is quite di cult
for an automatic data-repairing algorithm to restore the database to its clean
state. Notice, in fact, that after this change, the original value 2013-14 has been
removed from the active domain of the dirty database. A correct repair cannot
be found by any repair algorithm that uses the values in the database as the
candidates for repair. Bart uses the notion of repairability of an error to
characterize this aspect. In the case above, it would assign repairability 0 to change ch2.
Di erent detectable changes may have quite di erent repairability values. As an
example, consider now change ch3 = ht1:Stadium := Delle Alpii. The change is
detectable using FD d2. In addition, the redundancy in the dirty database may
be used to repair the database:</p>
        </sec>
        <sec id="sec-2-2-2">
          <title>Player Name Season Team Stadium Goals</title>
          <p>t1 : Giovinco 2013-14 Juventus Delle Alpi 3
t3 : Pirlo 2014-15 Juventus Juv.Stadium 5
t5 : Vidal 2014-15 Juventus Juv.Stadium 8</p>
          <p>The new, dirty tuple t1 is involved in two violations to d2, one with t3,
another with t5. In both cases, the change is in violation with Juv.Stadium. By a
straightforward probabilistic argument, Bart would calculate a 2=3 repairability
for this error, and rank it as a medium-repairability error.</p>
          <p>Errors may have higher repairability, even 1 in some cases. Consider, for
example, an additional rule d3: Team[J uventus]; Season[2013 14] ! Stadium[J uv:Stadium].
This CFD rule states unequivocably that Juventus has played its home games
for season 2013{14 in the Juventus Stadium. Since this knowledge is part of the
constraint, the dirty cell can easily be restored to its original, clean state.
2.3</p>
        </sec>
      </sec>
      <sec id="sec-2-3">
        <title>Other Kinds of Errors</title>
        <p>To conclude this discussion about the features of errors, we notice that the
notions of detectability and repairability, that are centered around detecting
violations to constraints, are not the only ones supported by Bart.</p>
        <p>Consider, for example, change ch4 = ht1:Goals := 123i. This change is not
detectable using the constraints. However, it might be detected by a statistics-based
data-repairing algorithm, because it introduces an outlier into the distribution
of values of the Goals attribute. Bart can be con gured in order to generate
changes of this kind as well.
Bart provides users with the graphical user interface shown in Figure 3 to
handle error-generation tasks. An error-generation task, E is composed of four
key elements: (i) a database schema S; (ii) a set of denial constraints (DCs)
encoding data quality rules over S; (iii) an instance I of S that is clean with
respect to ; (iv) a set of con guration parameters Conf (shown in Figure 3.1)
to control the error-generation process. These parameters specify, among other
things, which relations can be changed, how many errors should be introduced,
and how many of these errors should be detectable. They also let the user control
the degree of repairability of the errors.</p>
        <p>Based on this, Bart supports several uses cases. The main one consists of
generating a desired degree of detectable errors for each constraint. In addition,
users may also specify a range of repairability values for each constraint; Bart
will estimate the repairability of changes, and only generate errors with estimated
repairability within that range. In addition to detectable errors, Bart may also
generate random errors of several kinds: typos (e.g., `databse'), duplicated values,
bogus or null values (e.g., `999', `***'). Random errors may be freely mixed
with constraint-induced ones. Finally, Bart can introduce outliers in numerical
attributes. Bart provides sophisticated features to analyze the characteristics of
errors that are introduced in the data. It generates charts to analyze the number
of errors detected by each constraint, and their estimated repairability (shown
in Figure 3.3). It also o ers a versioning system, that allows users to generate
di erent dirty databases for the given scenario, and compare the characteristics
of their errors.</p>
        <p>
          Finally, Bart o ers a exible set of metrics to measure the quality of the
repairs generated by a data-repairing tool. In fact, di erent algorithms can repair
data in di erent ways. For example, some algorithms can produce repairs that
mark dirty cells using a variable, while others always restore the dirty instance
with a constant value. Di erent metrics have been proposed and are implemented
in Bart to uniformly evaluate these heterogenous changes in the data [
          <xref ref-type="bibr" rid="ref11 ref4">4, 11</xref>
          ].
4
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Empirical Evaluation</title>
      <p>
        We conduct [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] an empirical evaluation of several data-repairing algorithms over
dirty data generated using Bart.
      </p>
      <p>
        We used two publicly available tools, Llunatic [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] and Nadeef [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], to run
four rule-based data-repairing algorithms: (i) Greedy [
        <xref ref-type="bibr" rid="ref5 ref7">5, 7</xref>
        ]; (ii) Holistic [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]; (iii)
Llunatic [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]; and (iv) Sampling [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. In addition, we evaluated (v) SCARE [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], a
statistics-based tool.
      </p>
      <p>
        The tools were tested with several repair tasks, based on synthetic and real
datasets, some of them constraint-based and some statistics-based. We brie y
list them here: (i) Employees is a synthetic scenario in the full paper [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]; (ii)
Customers is a synthetic scenario from Geerts et al. [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]; (iii) Tax is a synthetic
scenario from Fan et al. [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]; (iv) Bus is a real-world scenario from Dallachiesa
et al. [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]; and (v) Hospital is a real-world scenario used in several data-repairing
papers (e.g., [
        <xref ref-type="bibr" rid="ref10 ref8">8, 10</xref>
        ]).
      </p>
      <p>
        Datasets and constraints have been chosen to exhibit di erent characteristics.
Some have high redundancy in their data. Others contain numerical attributes,
and constraints containing ordering (&lt;, &gt;) comparisons. Some datasets have
master-data [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] and CFDs, while others have only FDs. All these di erences
help to validate our techniques and the tools under exam.
      </p>
      <p>Notice the purpose of the evaluation was not to assess the quality of the repair
algorithms, rather to show how Bart can be used to uncover new insights into
the data-repairing process. Some important insights are the following.</p>
      <sec id="sec-3-1">
        <title>Lesson 1: Data-repairing is not yet Mature. We expect that a wide degree</title>
        <p>of variability in quality among all algorithms will emerge from our evaluations.
This variability does not clearly emerge from evaluations reported in the
literature, suggesting there is no de nitive data-repairing algorithm yet.
Lesson 2: Repairability Matters. We observe di erent trends with respect
to repairability. Typically, repair algorithms return very good repairs when
sufcient information is available (i.e., high repairability); however, their quality
tends to degrade quickly as repairability decreases.</p>
        <p>A key observation is that repairability has a strong correlation with the
quality of the repairs. In this respect, we believe it nicely captures the \hardness"
of the data-repairing problem and it helps in getting a concrete intuition of the
power and the limits of existing solutions.</p>
      </sec>
      <sec id="sec-3-2">
        <title>Lesson 3: We Need to Document Our Dirty Data. We may conclude that</title>
        <p>tools exhibit quite di erent performance on data-repairing problems of di erent
nature, and the repairability is a natural proxy to characterize how \di cult"
a data-repairing problem is.</p>
        <p>In light of this and to level the eld, we believe it is crucial to have at
our disposal systematic error-generation tools and to properly document the
characteristics of the dirty data used in empirical evaluations of data-repairing
solutions. Bart is a concrete step in this direction.</p>
      </sec>
      <sec id="sec-3-3">
        <title>Lesson 4: Generating Errors is Hard. The problem of systematically gen</title>
        <p>erating errors, however, is not an easy one. We will show how di erent con
gurations of the error-generation task a ect the overall scalability of the system,
and discuss the main optimizations that Bart relies on in order to tame the
complexity of the process.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>B.</given-names>
            <surname>Alexe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Tan</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Velegrakis</surname>
          </string-name>
          .
          <article-title>Comparing and Evaluating Mapping Systems with STBenchmark</article-title>
          .
          <source>PVLDB</source>
          ,
          <volume>1</volume>
          (
          <issue>2</issue>
          ):
          <volume>1468</volume>
          {
          <fpage>1471</fpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>P. C.</given-names>
            <surname>Arocena</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Glavic</surname>
          </string-name>
          , G. Mecca,
          <string-name>
            <given-names>R. J.</given-names>
            <surname>Miller</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Papotti</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Santoro</surname>
          </string-name>
          .
          <article-title>Messing-Up with BART: Error Generation for Evaluating Data Cleaning Algorithms</article-title>
          . PVLDB,
          <volume>9</volume>
          (
          <issue>2</issue>
          ):
          <volume>36</volume>
          {
          <fpage>47</fpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>M.</given-names>
            <surname>Benedikt</surname>
          </string-name>
          , G. Konstantinidis,
          <string-name>
            <given-names>G.</given-names>
            <surname>Mecca</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Motik</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Papotti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Santoro</surname>
          </string-name>
          , and
          <string-name>
            <given-names>E.</given-names>
            <surname>Tsamoura</surname>
          </string-name>
          .
          <article-title>Benchmarking the chase</article-title>
          .
          <source>In PODS</source>
          , pages
          <volume>37</volume>
          {
          <fpage>52</fpage>
          . ACM,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>G.</given-names>
            <surname>Beskales</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I. F.</given-names>
            <surname>Ilyas</surname>
          </string-name>
          , and
          <string-name>
            <given-names>L.</given-names>
            <surname>Golab</surname>
          </string-name>
          .
          <article-title>Sampling the Repairs of Functional Dependency Violations under Hard Constraints</article-title>
          . PVLDB,
          <volume>3</volume>
          (
          <issue>1</issue>
          ):
          <volume>197</volume>
          {
          <fpage>207</fpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>P.</given-names>
            <surname>Bohannon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Flaster</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Fan</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Rastogi</surname>
          </string-name>
          .
          <article-title>A Cost-Based Model and E ective Heuristic for Repairing Constraints by Value Modi cation</article-title>
          .
          <source>In SIGMOD</source>
          , pages
          <volume>143</volume>
          {
          <fpage>154</fpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>X.</given-names>
            <surname>Chu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I. F.</given-names>
            <surname>Ilyas</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Papotti</surname>
          </string-name>
          .
          <article-title>Holistic Data Cleaning: Putting Violations into Context</article-title>
          .
          <source>In ICDE</source>
          , pages
          <volume>458</volume>
          {
          <fpage>469</fpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>G.</given-names>
            <surname>Cong</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Fan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Geerts</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Jia</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Ma</surname>
          </string-name>
          .
          <article-title>Improving Data Quality: Consistency and Accuracy</article-title>
          .
          <source>In VLDB</source>
          , pages
          <volume>315</volume>
          {
          <fpage>326</fpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>M.</given-names>
            <surname>Dallachiesa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ebaid</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Eldawy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. K.</given-names>
            <surname>Elmagarmid</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I. F.</given-names>
            <surname>Ilyas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ouzzani</surname>
          </string-name>
          , and
          <string-name>
            <given-names>N.</given-names>
            <surname>Tang</surname>
          </string-name>
          .
          <article-title>NADEEF: a Commodity Data Cleaning System</article-title>
          .
          <source>In SIGMOD</source>
          , pages
          <volume>541</volume>
          {
          <fpage>552</fpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>W.</given-names>
            <surname>Fan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Geerts</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Jia</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Kementsietsidis</surname>
          </string-name>
          .
          <article-title>Conditional Functional Dependencies for Capturing Data Inconsistencies</article-title>
          .
          <source>ACM TODS</source>
          ,
          <volume>33</volume>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>F.</given-names>
            <surname>Geerts</surname>
          </string-name>
          , G. Mecca,
          <string-name>
            <given-names>P.</given-names>
            <surname>Papotti</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Santoro</surname>
          </string-name>
          .
          <article-title>Mapping and Cleaning</article-title>
          .
          <source>In ICDE</source>
          , pages
          <volume>232</volume>
          {
          <fpage>243</fpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>F.</given-names>
            <surname>Geerts</surname>
          </string-name>
          , G. Mecca,
          <string-name>
            <given-names>P.</given-names>
            <surname>Papotti</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Santoro</surname>
          </string-name>
          .
          <article-title>That's All Folks! LLUNATIC Goes Open Source</article-title>
          .
          <source>PVLDB</source>
          ,
          <volume>7</volume>
          (
          <issue>13</issue>
          ):
          <volume>1565</volume>
          {
          <fpage>1568</fpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>J. He</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          <string-name>
            <surname>Veltri</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Santoro</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          <string-name>
            <surname>Mecca</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Papotti</surname>
            , and
            <given-names>N.</given-names>
          </string-name>
          <string-name>
            <surname>Tang</surname>
          </string-name>
          .
          <article-title>Interactive and deterministic data cleaning</article-title>
          .
          <source>In SIGMOD</source>
          , pages
          <volume>893</volume>
          {
          <fpage>907</fpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>I. F.</given-names>
            <surname>Ilyas</surname>
          </string-name>
          and
          <string-name>
            <given-names>X.</given-names>
            <surname>Chu</surname>
          </string-name>
          .
          <article-title>Trends in cleaning relational data: Consistency and deduplication</article-title>
          .
          <source>Foundations and Trends in Databases</source>
          ,
          <volume>5</volume>
          (
          <issue>4</issue>
          ):
          <volume>281</volume>
          {
          <fpage>393</fpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14. H. Kopcke,
          <string-name>
            <given-names>A.</given-names>
            <surname>Thor</surname>
          </string-name>
          , and
          <string-name>
            <given-names>E.</given-names>
            <surname>Rahm</surname>
          </string-name>
          .
          <article-title>Evaluation of entity resolution approaches on real-world match problems</article-title>
          .
          <source>VLDB</source>
          ,
          <volume>3</volume>
          (
          <issue>1</issue>
          -2):
          <volume>484</volume>
          {
          <fpage>493</fpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>A.</given-names>
            <surname>Lopatenko</surname>
          </string-name>
          and
          <string-name>
            <given-names>L.</given-names>
            <surname>Bravo</surname>
          </string-name>
          .
          <article-title>E cient Approximation Algorithms for Repairing Inconsistent Databases</article-title>
          .
          <source>In ICDE</source>
          , pages
          <volume>216</volume>
          {
          <fpage>225</fpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <given-names>D.</given-names>
            <surname>Loshin</surname>
          </string-name>
          .
          <article-title>Master Data Management</article-title>
          . Knowl. Integrity, Inc.,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <given-names>D.</given-names>
            <surname>Santoro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. C.</given-names>
            <surname>Arocena</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Glavic</surname>
          </string-name>
          , G. Mecca,
          <string-name>
            <given-names>R. J.</given-names>
            <surname>Miller</surname>
          </string-name>
          ,
          <string-name>
            <surname>and P. Papotti. BART</surname>
          </string-name>
          <article-title>in action: Error generation and empirical evaluations of data-cleaning systems</article-title>
          .
          <source>In SIGMOD</source>
          , pages
          <volume>2161</volume>
          {
          <fpage>2164</fpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>M. Yakout</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>Berti-Equille</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A. K.</given-names>
            <surname>Elmagarmid</surname>
          </string-name>
          . Don't be SCAREd:
          <article-title>Use SCalable Automatic REpairing with Maximal Likelihood and Bounded Changes</article-title>
          .
          <source>In SIGMOD</source>
          , pages
          <volume>553</volume>
          {
          <fpage>564</fpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>