The Royal Irish Academy/Acadamh Ríoga na hÉireann champions research. We identify and recognise Ireland’s world class researchers. We support scholarship and promote awareness of how science and the humanities enrich our lives and benefit society. We believe that good research needs to be promoted, sustained and communicated. The Academy is run by a Council of its members. Membership is by election and considered the highest academic honour in Ireland.

Read more about the RIA

Bashar Nuseibeh MRIA: Software Engineer

01 October 2021

Professor Nuseibeh calls for a radical re-thinking of the discipline of software engineering, suggesting a perspective of ‘software without boundaries’, such that the essence of being human, being social and being responsible can have a place in the software programs that we write and the software systems that we assemble.

Bashar Nuseibeh MRIA is professor of Software Engineering and Chief Scientist at Lero—the Irish Software Research Centre. He is also a professor of computing with The Open University, an honorary professor at University College London, and a visiting professor at the National Institute of Informatics, Japan

There is a common misconception that software engineering is a discipline for managing the production of programs that run on computers. It is true that a significant artefact that software engineers produce is code: descriptive instructions to machines that enable them to perform what we humans require. The ubiquity of software in society, however, means that we cannot, and should not, think of software purely as a way of mediating between humans and machines. Rather, it is also a reflector, enabler and disrupter of the very way we live our lives. It then follows that software engineering is about representing and extending the lived experience, supported by software but not bounded by it.

Such a framing means that the scope of the discipline—reflected in its various research agendas, its educational offerings and its industrial practice—must continue to extend beyond its traditional technical boundaries, to reflect the inherent socio-technical nature of its processes and outcomes. That is not to say that the foundations of software engineering such as mathematics, logic and analytical methods are less important, but simply to reflect what we have always known: that the human and social context in which people experience life must also be accounted for in the development of software-intensive systems. Such a context requires an engagement with societal concerns in ways that typical software engineering methods neither reflect nor facilitate.

This is not simply a call for inter-disciplinarity—talking to and engaging with social scientists, economists, and ‘end users’ of software is not enough. It is about radically re-thinking the discipline of software engineering itself so that the artefacts it produces are not only a precise set of technical specifications and instructions to a technological machine, but the very embodiment of the psycho-social experience. Representations of the essence of being human and being social, such as our how we see ourselves, our emotions and our values, must have a place in the software programs that we write and the software systems that we assemble.

This is not necessarily a view that is accepted by all in the software engineering community, but it is one that I believe is needed to elevate the discipline to its rightful place as a hub of innovation, debate and influence in the post-digital world—a world in which it is difficult, even foolish, to determine where human activity stops and where technology starts. I don’t have a catchy name for such a world—‘cyber-physical-social’ is a mouthful—but I do have an aspiration that my discipline of software engineering lies at the heart of building it.

If we software engineers are to expand our role to include being leading actors on the societal stage, then we also need to play our part responsibly: we must be responsible in the way we conduct our research, responsible in the way we engineer our software, and responsible in the way we consider the impact of our software deployments. Responsible also means accountable. It is no longer acceptable simply to reflect on accidental or malicious software-related incidents after they occur. Security breaches, discriminatory algorithms and unusable, disruptive, or invasive systems are neither software failures nor social failures; they are failures to consider software issues as being socio-technical, requiring a deep engagement with the inevitable intertwining of technology and society and requiring a new discipline of responsible software engineering.

Read other Member Research Series articles.

Stay up to date with the Royal Irish Academy newsletter

Sign up now