The AlanDeniseEricLauren package

[Tags:benchmark, bsd3, library, test]

Find the minimal subset/submap satisfying some arbitrary property.

[Skip to Readme]


Dependencies base (>= && <4.9), containers (>= && <0.6), MonadRandom (>= && <0.5), mtl (>=2.2.1 && <2.3), random (==1.1.*), random-shuffle (>=0.0.4 && <0.1), vector (>= && <0.12) [details]
License BSD3
Copyright 2016 Echo Nolan
Author Echo Nolan
Stability Unknown
Category Algorithms
Home page
Uploaded Wed Aug 24 06:15:53 UTC 2016 by EchoNolan
Distributions NixOS:
Downloads 74 total (11 in the last 30 days)
0 []
Status Docs not available [build log]
All reported builds failed as of 2016-10-24 [all 11 reports]


  • ADEL


Maintainer's Corner

For package maintainers and hackage trustees

Readme for AlanDeniseEricLauren

Readme for AlanDeniseEricLauren-

AlanDeniseEricLauren is an implementation of the ADEL algorithm for efficiently finding the minimal subset of an input set satisfying some arbitrary upward-closed property. "Upward-closed" means if the property is true of some set S it is true of all supersets of S. My implementation is trivially extended to maps (dictionaries).

This can be used for e.g. narrowing down bugs by finding the minimal subset of a complex failing test case that still exhibits the issue. In addition, I provide a method for finding the minimal set of changes between a known-good and known-bad example needed to trigger a bug. (Equivalently, a set where the property is false and a set where it's true.)

The ADEL algorithm is due to Philippe Laborie in his paper "An Optimal Iterative Algorithm for Extracting MUCs in a Black-box Constraint Network" published in ECAI 2014. doi:10.3233/978-1-61499-419-0-1051. The paper is available at

The project's homepage is Bug reports and PRs can be submitted there.

As of August 2016, I am looking for work. If your company needs a good programmer, my email is My resume is available here.