"Software" Responsibility
Modern software systems pose new challenges to responsible software engineering. While the main mission of more traditional software has been to provide the user with the right functionalities, nowadays engineers are called to realise software able to tackle the growing demand for reducing resource consumptions, improving fairness and increasing safety, among other non-functional requirements.
In the traditional model of a software system, all users are essentially the same. Software engineering technologies inherit this implicit assumption. We test the system to find bugs, assuming that a bug that affects one user will affect all others equally. Likewise, we seek software improvements under the assumption that a feature that is good for one user will also be good for all others. This traditional view of software breaks down as systems become more like platforms for facilitating and mediating decision making and human social interactions. For these platforms, all users are not alike. Testing, repair and optimisation techniques need to consider different user constituencies and their intentions.
In this keynote I will discuss the way in which search-based methods can be used to fundamentally shift the software engineering paradigm recognising different user constituencies and automating software adaptation to each of them, in order to auto-improve software.
Federica Sarro is a Full Professor of Software engineering at the Department of Computer Science, University College London.
She leads the SOLAR (Software Optimisation, Learning and Analytics Research) research group https://solar.cs.ucl.ac.uk.