What has mathematics to do with software engineering?
When I first entered software engineering from mathematics, there was a lot of talk about "the software crisis". That today's students typically don't recognise the phrase is testament to the progress that has been made in software engineering since then. Nevertheless, I'll argue that software engineering has a worse problem today than it did then. At first sight, the relation between software engineering and mathematics is part of the problem; I will explain why it's actually part of the solution. I'll present a vision of what the engineering of software might look like by the time today's undergraduates retire, and I'll discuss some of the research challenges that need to be met to make that happen. I'll touch on model-driven development, agile methodologies, bidirectional transformations, and the Principle of Least Surprise. The talk will be aimed at a general audience, and students are especially welcome.
Perdita Stevens studied mathematics at King's College, Cambridge, and then at the University of Warwick, writing a PhD in algebra. She then switched to professional software engineering, working at BT's Glasgow Software and Systems Engineering Centre. Here she became interested in modelling of object oriented design, and in the relationship between mathematics and software engineering. Since she returned to academia, her research interests have spanned model checking, legacy systems reengineering and games for software design. Currently, she works on mathematical aspects of software modelling and model-driven development, including foundations of bidirectionality. In her teaching, she is particularly interested in helping students to be intrinsically motivated life-long learners.