Is Software Engineering Research Addressing Software Engineering Problems?
Gail Murphy
Abstract: Brian Randell described software engineering as “the multi-person development of multi-version programs”. David Parnas has expressed that this “pithy phrase implies everything that differentiates software engineering from other programming”. How does current software engineering research compare against this definition? Is there currently too much focus on research into problems and techniques more associated with programming than software engineering? Are there opportunities to use Randell’s description of software engineering to guide the community to new research directions? In this talk, I will explore these questions and discuss how a consideration of the development streams used by multiple individuals to produce multiple versions of software opens up new avenues for impactful software engineering research.
Biography: Gail C. Murphy is a Professor of Computer Science and Vice-President Research and Innovation at the University of British Columbia. She is also a co-founder at Tasktop Technologies Inc. Her research interests are in improving the productivity of software developers and knowledge workers by giving them tools to identify, manage and coordinate the information that really matters for their work. She is a Fellow of the ACM and a Fellow of the Royal Society of Canada. She is the recipient of the 2018 IEEE Computer Society Harlan D. Mills award and a previous recipient of an NSERC E.W.R. Steacie Award and the AITO Dahl-Nygaard Junior Prize.
Safety and Robustness for Deep Learning with Provable Guarantees
Marta Kwiatkowska
Abstract:Computing systems are becoming ever more complex, with decisions increasingly often based on deep learning components. A wide variety of applications are being developed, many of them safety-critical, such as self-driving cars and medical diagnosis. Since deep learning is unstable with respect to adversarial perturbations, there is a need for rigorous software development methodologies that encompass machine learning components. This lecture will describe progress with developing automated verification and testing techniques for deep neural networks to ensure safety and robustness of their decisions with respect to input perturbations. The techniques exploit Lipschitz continuity of the networks and aim to approximate, for a given set of inputs, the reachable set of network outputs in terms of lower and upper bounds, in anytime manner, with provable guarantees. We develop novel algorithms based on feature-guided search, games, global optimisation and Bayesian methods, and evaluate them on state-of-the-art networks. The lecture will conclude with an overview of the challenges in this field.
Biography:Marta Kwiatkowska is Professor of Computing Systems and Fellow of Trinity College, University of Oxford. She is known for fundamental contributions to the theory and practice of model checking for probabilistic systems, focusing on automated techniques for verification and synthesis from quantitative specifications. She led the development of the PRISM model checker www.prismmodelchecker.org, the leading software tool in the area and winner of the HVC Award 2016. Probabilistic model checking has been adopted in diverse fields, including distributed computing, wireless networks, security, robotics, healthcare, systems biology, DNA computing and nanotechnology, with genuine flaws found and corrected in real-world protocols. Kwiatkowska is the first female winner of the Royal Society Milner Award, winner of the BCS Lovelace Medal and was awarded an honorary doctorate from KTH Royal Institute of Technology in Stockholm. She won two ERC Advanced Grants, VERIWARE and FUN2MODEL, and is a coinvestigator of the EPSRC Programme Grant on Mobile Autonomy. Kwiatkowska is a Fellow of the Royal Society, Fellow of ACM, EATCS and BCS, and Member of Academia Europea.
Evolution in the automation of CI/CD
Mahesh Krishnan
Abstract:There was a time when developers wrote a document containing the steps needed to install new software and handed it over to the Operations folk to deploy. We've come a long way from those days as we've moved away from infrequent, manual deployment to frequent, high quality, automated deployments.
This talk covers the evolution of automation in Continuous Integration and Continuous Deployment, the problems we have solved and the new kind of challenges we face, as we move from on-prem installations to the cloud.
Biography: Mahesh Krishnan, who currently works at AGL Energy, has held a variety of jobs in the IT industry including that of Developer, Architect and Chief Technology Officer. He speaks regularly at industry conferences and has also written a couple of books. He has been awarded Most Valuable Professional (MVP) by Microsoft several times for his contribution in the space of Microsoft Azure.