ICSE Main Conference Keynotes
Open Collaboration, the Eclipse Way
Software is eating the world, and open source is eating the software world. In almost every facet of human endeavour, organizations are learning that they must master software development if they are going to continue to succeed. At the same time, it is becoming apparent that open source is the most successful model for developing and delivering software. Open source is supporting new business models, open innovation, and far greater levels of productive collaboration, giving rise to new ways of organizing the development of technology.
The Eclipse community started 15 years ago as a single project, and the Eclipse IDE has been a huge part of our past and currect success. More recently we have been bringing the Eclipse Way to entirely new technology areas ranging from the internet of things to language runtimes, from simulation engines to geospatial. In doing so, we have evolved mature processes to enable academia, research organizations, industry, and hobbyists succeed with open innovation.
Mike Milinkovich has been involved in the software industry for over thirty years, doing everything from software engineering, to product management to IP licensing. He has been the Executive Director of the Eclipse Foundation since 2004. In that role he is responsible for supporting both the Eclipse open source community and its commercial ecosystem. Prior to joining Eclipse, Mike was a vice president in Oracle’s development group. Other stops along the way include WebGain, The Object People, IBM, Object Technology International (OTI) and Nortel.
Mike sits on the Board of the Open Source Initiative (OSI), on the Executive Committee of the Java Community Process (JCP), and is an observer and past member of the Board of OpenJDK.
Moshe Y. Vardi
The Automated-Reasoning Revolution: From Theory to Practice and Back
For the past 40 years computer scientists generally believed that NP-complete problems are intractable. In particular, Boolean satisfiability (SAT), as a paradigmatic automated-reasoning problem, has been considered to be intractable. Over the past 20 years, however, there has been a quiet, but dramatic, revolution, and very large SAT instances are now being solved routinely as part of software and hardware design. In this talk I will review this amazing development and show how automated reasoning is now an industrial reality.
I will then show describe how we can leverage SAT solving to accomplish other automated-reasoning tasks. Counting the the number of satisfying truth assignments of a given Boolean formula or sampling such assignments uniformly at random are fundamental computational problems in computer science with applications in software testing, software synthesis, machine learning, personalized learning, and more. While the theory of these problems has been thoroughly investigated since the 1980s, approximation algorithms developed by theoreticians do not scale up to industrial-sized instances. Algorithms used by the industry offer better scalability, but give up certain correctness guarantees to achieve scalability. We describe a novel approach, based on universal hashing and Satisfiability Modulo Theory, that scales to formulas with hundreds of thousands of variable without giving up correctness guarantees.
Moshe Y. Vardi is the George Distinguished Service Professor in Computational Engineering and Director of the Ken Kennedy Institute for Information Technology at Rice University. He is the recipient of three IBM Outstanding Innovation Awards, the ACM SIGACT Goedel Prize, the ACM Kanellakis Award, the ACM SIGMOD Codd Award, the Blaise Pascal Medal, the IEEE Computer Society Goode Award, the EATCS Distinguished Achievements Award, and the Southeastern Universities Research Association's Distinguished Scientist Award.
He is the author and co-author of over 500 papers, as well as two books: "Reasoning about Knowledge" and "Finite Model Theory and Its Applications". He is a Fellow of the Association for Computing Machinery, the American Association for Artificial Intelligence, the American Association for the Advancement of Science, the European Association for Theoretical Computer Science, the Institute for Electrical and Electronic Engineers, and the Society for Industrial and Applied Mathematics. He is a member of the US National Academy of Engineering and National Academy of Science, the American Academy of Arts and Science, the European Academy of Science, and Academia Europaea. He holds honorary doctorates from the Saarland University in Germany, Orleans University in France, and UFRGS in Brazil. He is the Editor-in-Chief of the Communications of the ACM.
Plenary IEEE CS Harlan D. Mills Award
Using Software Engineering to Teach Networking
Pamela Zave received the A.B. degree in English from Cornell University and the Ph.D. degree in computer sciences from the University of Wisconsin--Madison. She has held positions at the University of Maryland and Bell Laboratories, and is now with AT&T Laboratories--Research and Princeton University.
Dr. Zave has been an ACM Fellow since 2002 and an AT&T Fellow since 2009. Her work on the foundations of requirements engineering was the basis of the REVEAL method taught by Praxis Systems Ltd., and has been recognized with three Ten-Year Most Influential Paper awards. She led a group that developed the service software for two successful large-scale IP-based telecommunication systems based on her Distributed Feature Composition (DFC) architecture. DFC has been incorporated into the Java Community Process standard for SIP Servlet Containers, and into an open-source tool suite for building SIP-based services. Her work on telecommunications also led to 28 patents, an AT&T Strategic Patent Award, and three Best Paper awards. In her work on protocol verification, she produced the first formal models of two important protocols, SIP and Chord, applying formal methods to debug, improve, and verify them. Her current research interests focus on the architecture and composition of networks and distributed systems.
Dr. Zave has been chair of IFIP Working Group 2.3 on Programming Methodology, vice-chair of ACM SIGSOFT, and secretary-treasurer of ACM SIGSOFT. She has served as an associate editor of IEEE Transactions on Software Engineering, ACM Transactions on Software Engineering and Methodology, Requirements Engineering, and ACM Computing Surveys. She co-organized two Dagstuhl seminars and was the program-committee chair or co-chair of four conferences, including the Second IEEE International Symposium on Requirements Engineering and the Tenth International Formal Methods Europe Symposium. She has also given invited lectures at over 40 conferences and summer schools.
Plenary MIP 2007
Carlos Pacheco, Shuvendu K. Lahiri, Michael D. Ernst, and Thomas Ball will give a plenary talk as the recipients of the Most Influential Paper from ICSE 2007, that is “Feedback-Directed Random Test Generation”.
Physical Computing for Everyone
Thanks to Moore’s Law, embeddable microcontroller-based devices continue to get cheaper, faster, and include more integrated sensors and networking options. In 2016, the BBC and a host of technical partners, including Microsoft, delivered such a physical computing device, the micro:bit, to every 5th grader in the UK. Microsoft Research helped to make the micro:bit easy to program for novices. The non-profit Micro:bit Education Foundation (microbit.org), of which Microsoft is a founding partner, was recently created to take the micro:bit global. Over the last year, Microsoft has invested in a new web-based programming platform for physical computing in education, called Microsoft MakeCode (www.makecode.com). In this talk, I’ll describe the design principles behind the platform and our experience with it to date.
Thomas (Tom) Ball is a principal researcher and manager at Microsoft Research. Tom initiated the influential SLAM software model-checking project with Sriram Rajamani, which led to the creation of the Static Driver Verifier tool for finding defects in Windows device drivers. Tom is a 2011 ACM Fellow for “contributions to software analysis and defect detection.” As a manager, he has nurtured research areas such as automated theorem proving, program testing/verification, and empirical software engineering. His current focus is CS education and the Microsoft MakeCode platform for programming with physical computers (www.makecode.com)