ICSE 2019 Plenary sessions were recorded and can be found on our YouTube channel.
Videos and/or slides of Keynote Plenary sessions can be accessed directly:
|Keynotes Plenary sessions|
|Harlan Mills / SIGSOFT Outstanding Research Award Talk (Slides)|
|Most Influential Paper ICSE N-10 (Video/Slides)|
Claire Le Goues
|Software Engineering in Society Keynote|
Managing Variation: An Industrial Perspective on Product Line Engineering
If nothing endures but change, then to make the products of our labor enduring, we must build them to accommodate change. If they cannot, they will be cast aside. Change can be thought of as occupying a time window: A solution needs to do something different a year from now, and then something different from that six months later, and so forth. An extremely interesting special case is when that time window shrinks to zero: Our solution needs to do and be a dozen different things right now. In many sectors, that special case turns out to be, in fact, the most common case. The so-called general case, where a single solution evolves over time, turns out to be a less interesting special case.
This talk will explore the foundations for the field of product line engineering, which is the engineering of a family of systems that are similar but vary from each other. We will explore various techniques for handling this need, from the earliest to the most up to date, and show how the approaches transcend just software but apply across all engineering disciplines and all levels of an enterprise. Finally, we relate how this concept is being applied in industry today, and show where it is saving companies tens to hundreds of millions of dollars annually.
Dr. Paul Clements is the Vice President of Customer Success at BigLever Software, Inc., where he works to spread the industrial adoption of systems and product line engineering. Prior to this, he was a senior member of the technical staff at Carnegie Mellon University's Software Engineering Institute, where for 17 years he worked leading or co-leading projects in product line engineering and software architecture documentation and analysis. Prior to the SEI, he was a computer scientist with the U.S. Naval Research Laboratory in Washington, D. C.
Clements is the co-author of three practitioner-oriented books about software architecture: "Software Architecture in Practice” (three editions), "Evaluating Software Architectures: Methods and Case Studies," and "Documenting Software Architectures: View and Beyond” (two editions). He also co-wrote "Software Product Lines: Practices and Patterns,” and was co-author and editor of "Constructing Superior Software" (1999). He has also authored dozens of papers in software and systems engineering reflecting his long-standing interest in the design and specification of challenging system solutions. He was a founding member of the IFIP WG2.10 Working Group on Software Architecture.
Publish or Perish: Questioning the Impact of Our Research on the Software Developer
How often do we pause to consider how we, as a community, decide which developer problems we address, or how well we are doing at evaluating our solutions within real development contexts? Many of our research contributions in software engineering can be considered as purely technical. Yet somewhere, at some time, a software developer may be impacted by our research. In this talk, I invite the community to question the impact of our research on software developer productivity. To guide the discussion, I first paint a picture of the modern-day developer and the challenges they experience. I then present 4+1 views of software engineering research --- views that concern research context, method choice, research paradigms, theoretical knowledge and real-world impact. I demonstrate how these views can be used to design, communicate and distinguish individual studies, but also how they can be used to compose a critical perspective of our research at a community level. To conclude, I propose structural changes to our collective research and publishing activities --- changes to provoke a more expeditious consideration of the many challenges facing today's software developer.
Dr. Margaret-Anne Storey is a Professor of Computer Science and the Co-Director of the Matrix Institute for Applied Data Science at the University of Victoria. She holds a Canada Research Chair in Human and Social Aspects of Software Engineering and is a member of the Royal Society of Canada’s College of New Scholars, Artists and Scientists. She held the Lise Meitner Guest Professorship at Lund University in Sweden from 2016 to 2018, a professorship that promotes gender diversity in science. Together with her students and collaborators, she seeks to understand how software tools, communication media, data visualizations, and social theories can be leveraged to improve how software engineers and knowledge workers explore, understand, analyze and share complex information and knowledge. She has published widely on these topics and collaborates extensively with high-tech companies and non-profit organizations to ensure real-world applicability of her research contributions and tools. Over the past several years, she has collaborated with product teams and researchers at Microsoft to understand developer satisfaction and developer productivity, with the goal of improving their engineering systems and processes.
Building Reproducible, Reusable, and Robust Machine Learning Software
We have seen significant achievements with machine learning in recent years. Yet reproducing results for state-of-the-art deep learning methods is seldom straightforward. High variance of some methods can make learning particularly difficult. Furthermore, results can be brittle to even minor perturbations in the domain or experimental procedure. In this talk, I will review challenges that arise in experimental techniques and reporting procedures in deep learning, with a particular focus on reinforcement learning. I will also describe several recent results and guidelines designed to make future results more reproducible, reusable and robust.
Dr. Joelle Pineau is an Associate Professor and William Dawson Scholar at McGill University where she co-directs the Reasoning and Learning Lab. She also leads the Facebook AI Research lab in Montreal, Canada. She holds a BASc in Engineering from the University of Waterloo, and an MSc and PhD in Robotics from Carnegie Mellon University. Dr. Pineau's research focuses on developing new models and algorithms for planning and learning in complex partially-observable domains. She also works on applying these algorithms to complex problems in robotics, health care, games and conversational agents. She serves on the editorial board of the Journal of Artificial Intelligence Research and the Journal of Machine Learning Research and is currently President of the International Machine Learning Society. She is a recipient of NSERC's E.W.R. Steacie Memorial Fellowship (2018), a Fellow of the Association for the Advancement of Artificial Intelligence (AAAI), a Senior Fellow of the Canadian Institute for Advanced Research (CIFAR) and in 2016 was named a member of the College of New Scholars, Artists and Scientists by the Royal Society of Canada.
The joys and frustrations of software engineering
In this talk I will talk about research and deployment work on source code analysis, testing and SBSE, which I have undertaken with the many wonderful collaborators, colleagues and friends; my personal view on the joys of scientific research and the excitement of deployment, but also the frustrations of both. I think frustration is important and needs to be acknowledged, because often leads to further insights and development and is, thereby, the root cause of future joys. I will allow plenty of time for questions and discussion.
Mark Harman works full time at Facebook London and also holds a part-time professorship at UCL. At Facebook he works with the Sapienz team. Sapienz has been deployed to test mobile apps, leading to thousands of bugs being automatically found and in multimillion line communications and social media apps in delay use by over 1.4Bn people worldwide. He is known for his scientific work on Search Based Software Engineering (SBSE), source code analysis, software testing, app store analysis and empirical software engineering. He co-founded the field SBSE, a research area with authors spread over more than 40 countries. In addition to Facebook itself, Mark’s scientific work is also supported by an ERC advanced fellowship grant and by the UK EPSRC funding council.
It Does What You Say, Not What You Mean: Lessons From A Decade of
In this talk we present lessons learned, good ideas, and thoughts on the future, with an eye toward informing junior researchers about the realities and opportunities of a long-running project. We highlight some notions from the original paper that stood the test of time, some that were not as prescient, and some that became more relevant as industrial practice advanced. We place the work in context, highlighting perceptions from software engineering and evolutionary computing, then and now, of how program repair could possibly work. We discuss the importance of measurable benchmarks and reproducible research in bringing scientists together and advancing the area. We give our thoughts on the role of quality requirements and properties in program repair. From testing to metrics to scalability to human factors to technology transfer, software repair touches many aspects of software engineering, and we hope a behind-the-scenes exploration of some of our struggles and successes may benefit researchers pursuing new projects.
Dr. Wes Weimer is a professor at the University of Michigan. His main research interests include static, dynamic, and medical imaging-based techniques to improve program quality, fix defects, and understand how humans engineer software. He received a BA degree in computer science and mathematics from Cornell and MS and PhD degrees from Berkeley. He is an ACM Senior Member and his work at ICSE, POPL and ASPLOS has received ten-year impact awards.
Dr. ThanhVu Nguyen is an assistant professor in computer science at the University of Nebraska-Lincoln. His research focuses on using dynamic and symbolic techniques to analyze programs. He received his BS and MS degrees from Penn State University, and Ph.D. degree from the University of New Mexico.
Dr. Claire Le Goues is an Assistant Professor of Computer Science at Carnegie Mellon University, where her primary departmental affiliation is with the Institute for Software Research. Her research lies at the intersection of software engineering and programming languages, focussing especially on how to automatically debug and improve real-world software systems. She received a BA from Harvard College and MS and PhD degrees from the University of Virginia, all in Computer Science.
Dr. Stephanie Forrest is a computer science professor at Arizona State University, where she also directs the Biodesign Center for Biocomputation, Security and Society. Her research focuses on the intersection of biology and computation, including cybersecurity, software engineering, and biological modeling. She received the BA degree from St. John's College and M.S and Ph.D. degrees from the University of Michigan. Some of her awards include: the SFI Stanislaw Ulam Memorial Lectures, the ACM/AAAI Allen Newell Award, and the Presidential Young Investigator Award (1991). She is a Fellow of the IEEE.
Terraforming Earth: Will software experiments guide us out of the climate crisis?
The history of climate science is closely tied to the history of computing. From the first computational weather forecasts developed by von Neumann and Charney to run on ENIAC, to the earth system models used to produce projections of future climate change for the most recent IPCC reports, climate scientists have always pushed the limits of computational modelling. Along the way, climate scientists have developed a sophisticated set of software development practices tailored to the needs of a science in which virtual experiments are essential for understanding the relationships between human activity and the global climate system. In this talk, I will first explain what climate models do, via a quick tour of the history of climate modelling. I will then show how a core set of software development practices are used to support a culture of scientific experimentation which provides robust answers to societally important questions. I will end the talk with an overview of the current generation of climate model experiments. These address critically important questions such as whether there are still viable pathways to deliver the UN’s commitment to constrain global warming to no more than +2°C, and whether geo-engineering can buy us more time to address the underlying causes of climate change.
Dr. Steve Easterbrook is the Director of the School of the Environment and a Professor of Computer Science at the University of Toronto. He received his Ph.D. (1991) in Computing from Imperial College in London (UK), and joined the faculty at the School of Cognitive and Computing Science, University of Sussex. From 1995-99, he was lead scientist at NASA´s Independent Verification and Validation (IV&V) Facility in West Virginia, where he investigated software verification on the Space Shuttle Flight Software, the International Space Station, and the Earth Observation System. He moved to the University of Toronto in 1999. His research interests range from modelling and analysis of complex adaptive systems to the socio-cognitive aspects of team interaction. His current research is in sustainability informatics, where he studies how climate scientists develop computational models to improve their understanding of earth systems and climate change, the broader question of how that knowledge is shared with other communities, and the role of digital technologies in the transition to a post-carbon world. He has been a visiting scientist at the UK Met Office Hadley Centre, in Exeter, the National Centre for Atmospheric Research in Boulder, Colorado; the Max-Planck Institute for Meteorology, in Hamburg, and the Institute Pierre Simon Laplace in Paris.