Research
I am generally interested in programming paradigms and associated evaluation techniques. I strive to alleviate the challenges involved in programming, be it by human or machine.
My background has forged my appreciation of programming as a fundamentally human activity [Naur92] [Dijkstra79]. As a consequence, I generally lament the fact that most advances in programming paradigms are driven by anecdotal rather than empirical evidence of their utility.
Recent advances in artificial intelligence have generally shifted the human challenges involved in programming from writing to specifying and evaluating programs. This does not make programming paradigm research any less important. In particular, I conjecture:
- It is easier to evaluate concise, high-level code, rather than verbose, low-level code.
- It is best to leave it to a deterministic compiler to convert evaluated high-level code into efficient, executable code.
- Machines exert readily measurable effort to write code. The less they exert, the better. How much they exert depends on the programming paradigm.
- How much back-and-forth happens between the human and the machine in the process of code generation, depends on the programming paradigm.
My research then tends to have multiple tiers:
- Identify some challenges that programmers have when programming in the particular domain.
- Hypothesise improvements, design and implement them in the form of alternative programming languages or runtimes.
- Evaluate whether the hypothesized programming paradigm is really somehow “better” than what was found challenging in (1).
As such and overall, I have also gained a research interest in Computer Science Education, Software Engineering, Human-Computer Interaction, and Information Retrieval.
At present (2026), I am in particular interested in advancing the state of the art of programming adaptive multi-agent systems, where multiple agents cooperate towards a common objective in highly dynamic environments.
Publications
- Shturmov, O., Thomsen, M. K. (2024, November). remarks — Machinery for Marking Student Work. In Proceedings of the Norwegian Conference on Didactics in IT Education (UDIT 2024). https://easychair.org/smart-program/NIKT2024/2024-11-26.html#talk:272172
- Shturmov, O. Adaptive Multi-Agent Programming with Promises. (2024, September). In Proceedings of the Doctoral Symposium of the 5th IEEE International Conference on Autonomic Computing and Self-Organizing Systems (ACSOS 2024). https://2024.acsos.org/details/acsos-2024-doctoral-symposium/1/Adaptive-Multi-Agent-Programming-with-Promises
- Kristensen, J. T., Perhác, J., Tveito, L., Husted, L. B., Vadgaard, M. K. T., Shturmov, O., … & Steingartner, W. (2024, May). OnlineProver: A proof assistant for online teaching of formal logic and semantics. In 30th International Conference on Types for Proofs and Programs TYPES 2024–Abstracts (p. 142). https://types2024.itu.dk/abstracts.pdf#page=152
- Dijkstra79
-
Dijkstra, Edsger. “Programming considered as a human activity.” Classics in software engineering. 1979. 1-9.
- Naur92
-
Naur, Peter. Computing: A human activity – Selected Writings From 1951 To 1990. ACM, 1992.