REVIEW 2 major objections 4 minor 15 references
Efficient Discovery of Conditional Dependencies with Desbordante
T0 review · 2 major / 4 minor · reviewed 2026-07-11 · grok-4.5
Pith's one-line read Algorithmic and engineering improvements plus parallel lattice traversal turn CFD discovery practical on commodity machines for tables of hundreds of thousands of rows.
desk verdict Solid engineering paper that makes CFD mining practical on 100k-row tables via C++ reimplementation, four concrete optimizations, and lattice parallelization; the 118 imes average speedup is real under the tested slice. read the letter →
The pith
A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.
The reading
What carries the argument
ParCFDFinder—the optimized, parallel CFDFinder pipeline whose core is a batched, bitmask-pruned pattern-generation stage together with a thread-pool lattice traversal that exploits independence of candidates at the same level.
What would settle it
Re-run the identical SupportIndependent + ConstantExpansion settings on the same tables with a different secondary pattern ordering or with an alternative pruning strategy (for example Partial FD or NegativeConstant) and check whether the reported 100 k-row times and memory factors still hold.
Extended reading notes
Core claim
A carefully engineered C++ reimplementation of CFDFinder, augmented by deferred cover construction via bitmasks, elimination of duplicate pattern generation, batch processing of candidates, improved hash structures, and parallel traversal of independent lattice levels, produces ParCFDFinder that is up to 318 times faster and uses up to 23 times less memory than the prior Java baseline, thereby making CFD discovery practical for the first time on commodity machines for tables of hundreds of thousands of rows.
Load-bearing premise
The measured speed-ups and the claim of practicality rest on a fixed pruning/expansion configuration and a deterministic secondary ordering introduced only for reproducibility; different user-chosen strategies may change both runtime and the discovered CFD set.
Signed reviews
Editorial analysis
A structured set of objections, weighed in public.
Referee Report
Summary. The paper reimplements and optimizes the state-of-the-art CFDFinder algorithm for conditional functional dependency discovery as ParCFDFinder in C++ inside the open-source Desbordante profiler (with Python bindings). Algorithmic changes target the dominant pattern-tableau generation stage (unique-value expansion, deferred cover construction via bitmasks, batch candidate processing, negative-constant reuse) plus lattice-level parallelization via a thread pool. Against the Java Metanome baseline, the authors report up to 318 imes (avg. 118 imes) wall-clock speedup and up to 23 imes (avg. 14 imes) memory reduction on public and synthetic datasets, with row-, column- and thread-scalability plots and a short medical case study. Correctness is checked by imposing a deterministic secondary ordering on equal-support patterns so that both implementations emit identical CFD counts when both finish.
Significance. If the measured factors hold under realistic use, the work materially extends the practical reach of CFD mining: commodity machines can now finish on tables of order 10^5 rows that previously timed out. The open C++/Python integration into a maintained profiler, the explicit engineering of the 99 % bottleneck, and the reproducible comparison methodology are concrete contributions that data-profiling and data-quality researchers can immediately reuse. The result is incremental rather than foundational, yet it closes a clear usability gap left by the unmaintained Metanome prototype.
major comments (2)
- [§VI.B–C, Table III] §VI.B–C and Table III evaluate only SupportIndependentStrategy + ConstantExpansionStrategy under one fixed parameter vector (5 % min support gain, 10 % max support drop, confidence 1.0, max tableau length 2000). While the authors correctly note that pattern generation dominates runtime, the headline practicality claim for “hundreds of thousands of rows” is therefore demonstrated only for this slice; a short sensitivity check (or at least a statement of expected behaviour) for NegativeConstant, Range and Partial-FD strategies listed in §IV would strengthen the central claim.
- [Abstract, §I] The “for the first time” phrasing in the abstract and §I is relative only to Metanome’s CFDFinder. Related-work algorithms (FastCFD, CTANE, CFUN) already target different arity/support regimes; a one-paragraph clarification of the precise regime in which ParCFDFinder is newly practical would avoid over-claiming relative to the broader literature.
minor comments (4)
- [Table II vs Table III] Table II omits several datasets that appear in Table III (Avocado Prices, nursery). Adding their row/column/size statistics would make the experimental corpus self-contained.
- [Figs. 2–4] Figures 2–4 use a log y-axis for time yet still mark “timeout” only for Metanome; a short caption note that C++ runs never hit the three-hour limit would improve readability.
- [§VI.A] The secondary ordering criteria introduced in §VI.A for determinism are described only at a high level (“compare the attribute values of the patterns”). A short formal definition or pseudocode fragment would aid re-implementation.
- [§I, §IV.D] Minor typographical inconsistencies appear (e.g., “P roduct” with spaces in the introduction example, mixed “g1”/“g₁” notation). A final proof-reading pass would clean them.
Circularity Check
No significant circularity: empirical systems evaluation of algorithmic optimizations measured against external baseline
full rationale
The paper is a systems/engineering contribution that reimplements and optimizes the existing CFDFinder algorithm (from Metanome) in C++, adds concrete techniques (unique-value expansion, cover-mask pruning, batch processing, negative-constant reuse, lattice-level parallelization via Boost.Asio), integrates the result into Desbordante, and reports wall-clock and memory measurements on public datasets. The headline speed-ups (up to 318× / avg 118×) and memory reductions (up to 23× / avg 14×) are obtained by direct comparison with the unmodified Java baseline under identical pruning/expansion parameters; correctness is checked by forcing deterministic secondary ordering so that both implementations emit identical CFD counts when both finish. Self-citations ([2], [5]–[8]) supply only background on the Desbordante framework and prior C++ reimplementation experience; none is used as a load-bearing lemma, uniqueness theorem, or fitted parameter that is later re-presented as a prediction. There are no self-definitional equations, no parameters fitted to data and then “predicted,” and no renaming of known empirical patterns. The derivation chain is therefore self-contained and externally falsifiable.
Assumptions & free parameters
free parameters (4)
- minimum support gain =
5 % of rows
- maximum support drop =
10 %
- maximum pattern tableau length =
2000
- minimum confidence =
1.0
assumptions (3)
- standard math Standard definitions of functional dependency, conditional functional dependency, cover, local/global support and confidence (Defs. 1–12).
- domain assumption The set of maximal non-FDs produced by a modified HyFD is a correct and complete starting point for the lattice traversal.
- domain assumption Independent tableau-generation tasks for candidates at the same lattice level may be executed concurrently without synchronization beyond a final merge.
invented entities (1)
-
ParCFDFinder
independent evidence
Cite this review
Pith. "Pith review of Efficient Discovery of Conditional Dependencies with Desbordante." pith.science (2026). https://pith.science/paper/NTOPKDWT
@misc{pith2026260704030,
author = {Pith},
title = {Pith review of: Efficient Discovery of Conditional Dependencies with Desbordante},
year = {2026},
howpublished = {\url{https://pith.science/paper/NTOPKDWT}},
note = {Machine review of arXiv:2607.04030}
}
abstract
Conditional functional dependencies (CFDs) are functional dependencies with a restricted scope: they specify the context in which a dependency holds and are useful for data-quality tasks, specifying complex integrity constraints, and extracting valuable insights from data. We study the CFD discovery problem, which is computationally demanding. We build on the state-of-the-art CFDFinder algorithm and introduce a set of algorithmic and engineering improvements, including a parallelization strategy, to produce ParCFDFinder. Our implementation is integrated into Desbordante - a high-performance open-source data profiler written in C++ that exposes a Python interface, enabling CFD discovery to be invoked from any Python program. Experimental results show that our enhancements speed up the algorithm by up to $318\times$ ($118\times$ on average) and reduce memory usage by up to $23\times$ ($14\times$ on average) compared with the existing Java-based implementation of Metanome. Integrating ParCFDFinder into Desbordante makes it possible, for the first time, to conveniently discover CFDs on datasets with hundreds of thousands of rows on a commodity machine within a reasonable time.
Figures
Reference graph
Works this paper leans on
-
[1]
Functional dependency discovery: an experimental evaluation of seven algorithms,
T. Papenbrock, J. Ehrlich, J. Marten, T. Neubert, J.-P. Rudolph, M. Sch ¨onberg, J. Zwiener, and F. Naumann, “Functional dependency discovery: an experimental evaluation of seven algorithms,”Proc. VLDB Endow., vol. 8, no. 10, p. 1082–1093, jun 2015. [Online]. Available: https://doi.org/10.14778/2794367.2794377
-
[2]
Desbordante: from benchmarking suite to high-performance science-intensive data profiler,
G. Chernishev, M. Polyntsov, A. Chizhov, K. Stupakov, I. Shchuckin, A. Smirnov, M. Strutovskyet al., “Desbordante: from benchmarking suite to high-performance science-intensive data profiler,” in Proceedings of the 8th International Conference on Data Science and Management of Data (12th ACM IKDD CODS and 30th COMAD), ser. CODS-COMAD ’24. New York, NY , U...
-
[3]
Discovering interesting conditional functional depen- dencies,
M. Grundke, “Discovering interesting conditional functional depen- dencies,” Master’s thesis, Information Systems Chair Hasso-Plattner- Institute, Potsdam, 2018
2018
-
[4]
T. Papenbrock, T. Bergmann, M. Finke, J. Zwiener, and F. Naumann, “Data profiling with Metanome,”Proc. VLDB Endow., vol. 8, no. 12, p. 1860–1863, Aug. 2015. [Online]. Available: https: //doi.org/10.14778/2824032.2824086
-
[5]
Lightning fast matching dependency discovery with desbordante,
A. Shlyonskikh, M. Sinelnikov, D. Nikolaev, Y . Litvinov, and G. Cherni- shev, “Lightning fast matching dependency discovery with desbordante,” in2024 36th Conference of Open Innovations Association (FRUCT), 2024, pp. 729–740
2024
-
[6]
Fast discovery of inclusion dependencies with desbordante,
A. Smirnov, A. Chizhov, I. Shchuckin, N. Bobrov, and G. Chernishev, “Fast discovery of inclusion dependencies with desbordante,” in2023 33rd Conference of Open Innovations Association (FRUCT), 2023, pp. 264–275
2023
-
[7]
Order in desbordante: Techniques for efficient imple- mentation of order dependency discovery algorithms,
Y . Kuzin, D. Shcheka, M. Polyntsov, K. Stupakov, M. Firsov, and G. Chernishev, “Order in desbordante: Techniques for efficient imple- mentation of order dependency discovery algorithms,” in2024 35th Conference of Open Innovations Association (FRUCT), 2024, pp. 413– 424
2024
-
[8]
Des- bordante: a framework for exploring limits of dependency discovery algorithms,
M. Strutovskiy, N. Bobrov, K. Smirnov, and G. Chernishev, “Des- bordante: a framework for exploring limits of dependency discovery algorithms,” in2021 29th Conference of Open Innovations Association (FRUCT), 2021, pp. 344–354
2021
Show all 15 references
-
[9]
Discovering data quality rules,
F. Chiang and R. Miller, “Discovering data quality rules,”PVLDB, vol. 1, pp. 1166–1177, 08 2008
2008
-
[10]
Discovering conditional functional dependencies,
W. Fan, F. Geerts, L. V . S. Lakshmanan, and M. Xiong, “Discovering conditional functional dependencies,” pp. 1231–1234, 2009
2009
-
[11]
Mining statistically important equivalence classes and delta-discriminative emerging patterns,
J. Li, G. Liu, and L. Wong, “Mining statistically important equivalence classes and delta-discriminative emerging patterns,”KDD ’07: Proceed- ings of the 13th ACM SIGKDD international conference on Knowledge discovery and data mining, pp. 430–439, 08 2007
2007
-
[12]
Discovering (frequent) constant conditional functional dependencies,
T. Diallo, N. Novelli, and J.-M. Petit, “Discovering (frequent) constant conditional functional dependencies,”Int. J. Data Mining, Modelling and Management Int. J. Data Mining, Modelling and Management, vol. 120, 01 2010
2010
-
[13]
C” from the “FD
J. Rammelaere and F. Geerts,Revisiting Conditional Functional De- pendency Discovery: Splitting the “C” from the “FD”: European Conference, ECML PKDD 2018, Dublin, Ireland, September 10–14, 2018, Proceedings, Part II, 01 2019, pp. 552–568
2018
-
[14]
A hybrid approach to functional dependency discovery,
T. Papenbrock and F. Naumann, “A hybrid approach to functional dependency discovery,” pp. 821–833, 06 2016
2016
-
[15]
On generating near-optimal tableaux for conditional functional dependencies,
L. Golab, H. Karloff, F. Korn, D. Srivastava, and B. Yu, “On generating near-optimal tableaux for conditional functional dependencies,”Proc. VLDB Endow., vol. 1, no. 1, p. 376–390, Aug. 2008. [Online]. Available: https://doi.org/10.14778/1453856.1453900
2008 doi
Reviewed July 11, 2026 · model on record in the stance chip above.
Discussion (0). Continue with ORCID to comment.