Better software analytics via “DUO”: data mining algorithms using/used-by optimizers

Amritanshu Agrawal, Tim Menzies, Leandro L. Minku, Markus Wagner, Zhe Yu

Research output: Contribution to journalArticleResearchpeer-review

15 Citations (Scopus)


This paper claims that a new field of empirical software engineering research and practice is emerging: data mining using/used-by optimizers for empirical studies, or DUO. For example, data miners can generate models that are explored by optimizers. Also, optimizers can advise how to best adjust the control parameters of a data miner. This combined approach acts like an agent leaning over the shoulder of an analyst that advises “ask this question next” or “ignore that problem, it is not relevant to your goals”. Further, those agents can help us build “better” predictive models, where “better” can be either greater predictive accuracy or faster modeling time (which, in turn, enables the exploration of a wider range of options). We also caution that the era of papers that just use data miners is coming to an end. Results obtained from an unoptimized data miner can be quickly refuted, just by applying an optimizer to produce a different (and better performing) model. Our conclusion, hence, is that for software analytics it is possible, useful and necessary to combine data mining and optimization using DUO.

Original languageEnglish
Pages (from-to)2099-2136
Number of pages38
JournalEmpirical Software Engineering
Issue number3
Publication statusPublished - Dec 2020
Externally publishedYes


  • Data mining
  • Evolutionary algorithms
  • Optimization
  • Software analytics

Cite this