Theory and Practice of Algorithm Engineering

Jan Mendling, Benoit Depaire, Henrik Leopold

Publication: Working/Discussion PaperWorking Paper/Preprint


There is an ongoing debate in computer science how algorithms should best be studied. Some scholars have argued that experimental evaluations should be conducted, others emphasize the benefits of formal analysis. We believe that this debate less of a question of either-or, because both views can be integrated into an overarching framework. It is the ambition of this paper to develop such a framework of algorithm engineering with a theoretical foundation in the philosophy of science. We take the empirical nature of algorithm engineering as a starting point. Our theoretical framework builds on three areas discussed in the philosophy of science: ontology, epistemology and methodology. In essence, ontology describes algorithm engineering as being concerned with algorithmic problems, algorithmic tasks, algorithm designs and algorithm implementations. Epistemology describes the body of knowledge of algorithm engineering as a collection of
prescriptive and descriptive knowledge, residing in World 3 of Popper’s Three Worlds model. Methodology refers to the steps how we can systematically enhance our knowledge of specific algorithms. In this context, we identified seven validity concerns and discuss how researchers can respond to falsification. Our framework has important implications for researching algorithms in various areas of computer science.
Original languageEnglish
Publication statusPublished - 2021

Austrian Classification of Fields of Science and Technology (ÖFOS)

  • 502050 Business informatics

Cite this