Software Composition

Volume 6708 of the series Lecture Notes in Computer Science pp 18-33

Comparing Machine Learning Approaches for Context-Aware Composition

  • Antonina DanylenkoAffiliated withSoftware Technology Group, Linnaeus University
  • , Christoph KesslerAffiliated withDepartment for Computer and Information Science, Linköping University
  • , Welf LöweAffiliated withSoftware Technology Group, Linnaeus University

* Final gross prices may vary according to local VAT.

Get Access


Context-Aware Composition allows to automatically select optimal variants of algorithms, data-structures, and schedules at runtime using generalized dynamic Dispatch Tables. These tables grow exponentially with the number of significant context attributes. To make Context-Aware Composition scale, we suggest four alternative implementations to Dispatch Tables, all well-known in the field of machine learning: Decision Trees, Decision Diagrams, Naive Bayes and Support Vector Machines classifiers. We assess their decision overhead and memory consumption theoretically and practically in a number of experiments on different hardware platforms. Decision Diagrams turn out to be more compact compared to Dispatch Tables, almost as accurate, and faster in decision making. Using Decision Diagrams in Context-Aware Composition leads to a better scalability, i.e., Context-Aware Composition can be applied at more program points and regard more context attributes than before.


Context-Aware Composition Autotuning Machine Learning