Modern software-based systems operate under rapidly changing conditions and face ever-increasing uncertainty. In response, systems are increasingly adaptive and reliant on artificial-intelligence methods. In addition to the ubiquity of software with respect to users and application areas (e.g., transportation, smart grids, medicine, etc.), these high-impact software systems necessarily draw from many disciplines for foundational principles, domain expertise, and workflows. Recent progress with lowering the barrier to entry for coding has led to a broader community of developers, who are not necessarily software engineers. As such, the field of software engineering needs to adapt accordingly and offer new methods to systematically develop high-quality software systems by a broad range of experts and non-experts. This paper looks at these new challenges and proposes to address them through the lens of Abstraction. Abstraction is already used across many disciplines involved in software development – from the time-honored classical deductive reasoning and formal modeling to the inductive reasoning employed by modern data science. The software engineering of the future requires Abstraction Engineering – a systematic approach to abstraction across the inductive and deductive spaces.
We invite you to join the discussion on building a new discipline of abstraction engineering: with new silo-breaking research questions and research directions to explore!
You may also be interested in the articles and events below, including the references collected at the bottom.
Workshop on the fundamentals of conceptual modelling in conjunction with ER 2025. This workshop is asking questions of relevance to abstraction engineering, such as (taken from the CfP): “What are the elements of a theory of abstraction for modeling?” and “How to learn from and transfer principles of mathematical models?”
@book{BerzinsLugi91,author={Berzins, Valdis and Luqi, Lucia},publisher={Addison-Wesley Longman Publishing Co., Inc., United States},title={Software engineering with abstractions},year={1991},isbn={0201080044},month=jan,pages={624},}
@article{SteghoeferBorg26,author={Stegh{\"o}fer, Jan-Philipp and Borg, Markus},journal={IEEE Software},title={An Abstraction Is Worth a Thousand Vibes},year={2026},issn={1937-4194},month=jan,number={1},pages={13--16},volume={43},doi={10.1109/ms.2025.3621786},url={https://doi.org/10.1109/ms.2025.3621786},publisher={Institute of Electrical and Electronics Engineers (IEEE)},}
@article{Denning2025,author={Denning, Peter J.},journal={Communications of the ACM},title={Abstractions},year={2025},issn={1557-7317},month=mar,number={3},pages={21--23},volume={68},doi={10.1145/3710809},url={https://doi.org/10.1145/3710809},publisher={Association for Computing Machinery (ACM)},}
2023
Modeling 4.0: Conceptual Modeling in a Digital Era
Araz Jabbari, and Michael Rosemann
Communications of the Association for Information Systems 53(1), 2023
@article{Jabbari2023,author={Jabbari, Araz and Rosemann, Michael},journal={Communications of the Association for Information Systems},title={Modeling 4.0: Conceptual Modeling in a Digital Era},year={2023},issn={1529-3181},number={1},pages={1028--1051},volume={53},doi={10.17705/1cais.05344},url={https://doi.org/10.17705/1cais.05344},publisher={Association for Information Systems},}
2021
Abstraction in Computer Science Education: An Overview
Claudio Mirolo, Cruz Izu, Violetta Lonati, and 1 more author
@article{Mirolo+21,author={Mirolo, Claudio and Izu, Cruz and Lonati, Violetta and Scapin, Emanuele},journal={Informatics in Education},title={Abstraction in Computer Science Education: An Overview},year={2021},issn={2335-8971},month=dec,number={4},pages={615--639},volume={20},doi={10.15388/infedu.2021.27},publisher={Vilnius University Press},url={https://doi.org/10.15388/infedu.2021.27},}
2015
Understanding software through linguistic abstraction
Eelco Visser
Science of Computer Programming 97, 2015
Special Issue on New Ideas and Emerging Results in Understanding Software
In this essay, I argue that linguistic abstraction should be used systematically as a tool to capture our emerging understanding of domains of computation. Moreover, to enable that systematic application, we need to capture our understanding of the domain of linguistic abstraction itself in higher-level meta languages. The argument is illustrated with examples from the SDF, Stratego, Spoofax, and WebDSL projects in which I explore these ideas.
@article{Visser2015,author={Visser, Eelco},journal={Science of Computer Programming},title={Understanding software through linguistic abstraction},year={2015},issn={0167-6423},note={Special Issue on New Ideas and Emerging Results in Understanding Software},pages={11-16},volume={97},doi={10.1016/j.scico.2013.12.001},keywords={Linguistic abstraction, Programming languages, Domain-specific languages, Software understanding},url={https://doi.org/10.1016/j.scico.2013.12.001},}
@article{Kramer07,author={Kramer, Jeff},journal={Communications of the ACM},title={Is abstraction the key to computing?},year={2007},issn={1557-7317},month=apr,number={4},pages={36--42},volume={50},doi={10.1145/1232743.1232745},publisher={Association for Computing Machinery (ACM)},url={https://doi.org/10.1145/1232743.1232745},}
Conference and Workshop Papers
2008
Concrete Examples of Abstraction As Manifested in Students’ Transformative Experiences
Jan Erik Moström, Jonas Boustedt, Anna Eckerdal, and 4 more authors
In Proc. 4th Int’l Workshop on Computing Education Research, 2008
@inproceedings{Mostrom+08,author={Mostr\"{o}m, Jan Erik and Boustedt, Jonas and Eckerdal, Anna and McCartney, Robert and Sanders, Kate and Thomas, Lynda and Zander, Carol},booktitle={Proc. 4th Int'l Workshop on Computing Education Research},title={Concrete Examples of Abstraction As Manifested in Students' Transformative Experiences},year={2008},address={New York, NY, USA},pages={125--136},publisher={ACM},series={ICER '08},acmid={1404533},doi={10.1145/1404520.1404533},isbn={978-1-60558-216-0},keywords={abstraction, learning theory, threshold concepts, transformation},location={Sydney, Australia},numpages={12},url={https://doi.org/10.1145/1404520.1404533},}
The role of abstraction in software engineering
Orit Hazzan, and Jeff Kramer
In Companion of the 13th international conference on Software engineering - ICSE Companion ’08, 2008
@inproceedings{HazzanKramer08,author={Hazzan, Orit and Kramer, Jeff},booktitle={Companion of the 13th international conference on Software engineering - ICSE Companion ’08},title={The role of abstraction in software engineering},year={2008},pages={1045},publisher={ACM Press},series={ICSE Companion ’08},collection={ICSE Companion ’08},doi={10.1145/1370175.1370239},url={https://doi.org/10.1145/1370175.1370239},}
A hierarchical abstraction model for software engineering
Yingxu Wang
In Proceedings of the 2nd international workshop on The role of abstraction in software engineering, May 2008
@inproceedings{Wang08,author={Wang, Yingxu},booktitle={Proceedings of the 2nd international workshop on The role of abstraction in software engineering},title={A hierarchical abstraction model for software engineering},year={2008},month=may,pages={43--48},publisher={ACM},series={ICSE ’08},collection={ICSE ’08},doi={10.1145/1370164.1370174},url={https://doi.org/10.1145/1370164.1370174},}
1991
Towards a new model of abstraction in software engineering
G. Kiczales
In Proceedings 1991 International Workshop on Object Orientation in Operating Systems, 1991
@inproceedings{Kiczales1991,author={Kiczales, G.},booktitle={Proceedings 1991 International Workshop on Object Orientation in Operating Systems},title={Towards a new model of abstraction in software engineering},year={1991},pages={127--128},doi={10.1109/IWOOOS.1991.183036},keywords={Software engineering;Object oriented modeling;Object oriented programming;Programming profession},url={https://doi.org/10.1109/IWOOOS.1991.183036},}
Miscellaneous
2024
Abstraction Engineering
Nelly Bencomo, Jordi Cabot, Marsha Chechik, and 4 more authors
@misc{BencomoEtAl24,author={Bencomo, Nelly and Cabot, Jordi and Chechik, Marsha and Cheng, Betty H. C. and Combemale, Benoit and Wąsowski, Andrzej and Zschaler, Steffen},howpublished={arXiv preprint},title={Abstraction Engineering},year={2024},doi={10.48550/arXiv.2408.14074},url={https://doi.org/10.48550/arXiv.2408.14074},}