Keynotes
Roberto Di Cosmo
Software Heritage: collecting, preserving and sharing all our source code

Software Heritage is a non profit initiative whose ambitious goal is to collect, preserve and share the source code of all software ever written, with its full development history, building a universal source code software knowledge base.
Software Heritage addresses a variety of needs: preserving our scientific and technological knowledge, enabling better software development and reuse for society and industry, fostering better science, and building an essential infrastructure for large scale, reproducible software studies.
We have already collected over 4 billions unique source files from over 80 millions repositories, and organised them into a giant Merkle graph, with full deduplication across all repositories.
This allows us to cope with the growth of collaborative software development, and provides a unique vantage point for observing its evolution.
In this talk, we will highlight the new challenges and opportunities that Software Heritage brings up.

After obtaining a PhD in Computer Science at the University of Pisa, Roberto Di Cosmo was associate professor for almost a decade at Ecole Normale Supérieure in Paris, and became a Computer Science full professor at University Paris Diderot in 1999. He is currently on leave at Inria. He has been actively involved in research in theoretical computing, specifically in functional programming, parallel and distributed programming, the semantics of programming languages, type systems, rewriting and linear logic. His main focus is now on the new scientific problems posed by the general adoption of Free Software, with a particular focus on static analysis of large software collections, that were at the core of the european reseach project Mancoosi. Following the evolution of our society under the impact of IT with great interest, he is a long term Free Software advocate, contributing to its adoption since 1998 with the best-seller Hijacking the world, seminars, articles and software. He created the Free Software thematic group of Systematic in October 2007, and since 2010 he is director of IRILL, a research structure dedicated to Free and Open Source Software quality. In 2016, he co-founded and directs Software Heritage, an initiative to build the universal archive of all the source code publicly available.


Shannon Vallor
Coding for Human Flourishing: Ethical Wisdom in Software Engineering Education

Software today is more than a mere tool; it is becoming the primary medium of civilization itself. Through software flow the goods, services, ideas, currencies, facts, votes, opinions, relationships, agreements and aspirations that embody human values and fulfill our deepest needs. Moreover, these flows are increasingly automated, rather than steered by human judgment. This creates a profound ethical responsibility for software engineers and educators. Where do the skills of building good code meet the skills of building a good society through code? What can educators do to help the next generation of software engineers cultivate and integrate these diverse talents? We can start by giving our students the tools to relate machine values commonly pursued in software design (such as classification and optimization) to fundamental humane values (such as justice, liberty, compassion, and creativity) that are central to a good life. Using concrete examples drawn from AI, social media, decision support software, and IoT design, this talk will demonstrate how machine and humane values can be brought into greater harmony by cultivating more explicit ethical wisdom in software engineering education and practice.

Shannon Vallor is the William J. Rewak, S.J. Professor in the Department of Philosophy at Santa Clara University in Silicon Valley, where her research addresses the ethical implications of emerging science and technology, especially AI, robotics and new media. Professor Vallor received the 2015 World Technology Award in Ethics from the World Technology Network. She has served as President of the Society for Philosophy and Technology, serves on the Executive Board of the Foundation for Responsible Robotics, and is a member of the IEEE Standards Association's Global Initiative on Ethics of Autonomous and Intelligent Systems. Through the Markkula Center for Applied Ethics at SCU, on whose Steering Committee she serves, Professor Vallor published a free downloadable teaching module that since 2013 has provided instructors and students at over 100 universities on 5 continents with an introduction to software engineering ethics. Two more free teaching modules have recently been added: an Introduction to Data Ethics and an Introduction to Cybersecurity Ethics. In addition to these materials and her many articles on the ethics of social media, robotics, and artificial intelligence, she is the recent author of the book Technology and the Virtues: A Philosophical Guide to a Future Worth Wanting (Oxford University Press, 2016).


Jane Cleland-Huang
Automated Requirements Engineering

Dr. Jane Cleland-Huang is Full Professor of Software Engineering at the University of Notre Dame. She holds a PhD in Computer Science from the University of Illinois at Chicago. Prior to her involvement in academia, Dr. Cleland-Huang worked in industry as a developer. She is currently director of the Software and Requirements Engineering Research Lab and serves as North American Director of the Center of Excellence for Software Traceability. She has served as PI on grants worth over $7 Million. Dr. Cleland-Huang currently serves as Associate Editor-in-Chief of IEEE Transactions on Software Engineering, and serves on the Editorial Board of Springer-Verlag's Requirements Engineering Journal. She is on the Steering Committee of the International Requirements Engineering Conference, has served as Program Chair for RE'2010 held in Sydney, Australia and was Program co-Chair of the SIGSOFT Conference on 2016 Foundations of Software Engineering (FSE). Dr. Cleland-Huang currently teaches undergraduate level courses in Software Engineering. Contact her at (JaneClelandHuang at nd dot edu.)


Gail C. Murphy
The Need for Context in Software Engineering

The development of a software system requires the orchestration of many different people using many different tools. Despite the need for a developer who is performing a task to understand the context in which that task is undertaken, the tools we imagine, build and provide to support software developers are typically isolated. Instead of the tools helping a developer work within the appropriate context, it is the developer who must bring the context to the tools.
In this talk, I will argue that the lack of context in the software engineering tools we build limits the effectiveness of developers and of our software development practices.

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.