Fall Days on Sustainable Software in Society
De Eemhof, Zeewolde (see e.g. Google maps)
September 25 – 29, 2023
The IPA Fall Days are an annual multi-day event, dedicated to a specific theme of current interest to the research community of IPA. This year’s Fall Days are titled
Sustainable Software in Society
Software is pervasive in society, as evidenced by developments in AI, the Internet of Things, big data, and Industry 4.0 where production and product innovations have become almost fully dependent on software. This pervasiveness of software further strengthens societal responsibility of software engineers and the need for specific software qualities, including reliability, security, and fairness.
However, software and its development should also be sustainable: we should ensure that also in the future the software remains, e.g., correct, reliable, secure and fair under the ever-increasing demand of such scarce resources as electric energy to execute software or trained engineers to produce it.
In the IPA Fall Days 2023 we will focus on scientific methods and approaches to sustainable software and software development in society.
The programme of the Fall Days was composed by Bernard van Gastel (RU) and Marco Vassena (UU), assisted by Loek Cleophas (IPA), and the IPA PhD council.
Programme
The Fall Days start on Monday 25 September with registration (from 11:00) and lunch; and conclude by 12:00 noon on Friday 29 September (with lunch that day as take away). Most of the sessions are devoted to various themes and topics around Software in Society.
On Tuesday 26 September, we will have a special afternoon session around the IPA Dissertation Award for the best IPA dissertation from 2022.
Social Events
On Monday, there will be drinks on IPA after the dinner.
On Thursday evening, an edition of the by now famous IPA social events will once again be organised by the IPA PhD council.
Schedule
Monday September 25th
11:15–12:15 | Registration — Lobby of the Business Center (nr 5 on the map at https://photos.centerparcs.com/user/plan/NL/EH.pdf), |
12:30–13:30 | Lunch buffet at Evergreenz |
13:30–13:40 | Opening |
13:40–14:25 | Luis Cruz (TUD) Let’s make software Green!
The consensus within the tech industry underscores the paramount importance of crafting energy-efficient software. Given the critical role that software services play in our society, their continuous operation within vast data centers contributes significantly to the consumption of electricity. Developers are increasingly inclined to transition their software towards energy efficiency, but a pervasive challenge stands in their way: the question of where to begin. There is a noticeable scarcity of resources that offer comprehensive insights into the measurement, testing, and design of environmentally friendly code.In this presentation, we will delve into the most current guidelines and innovative approaches that address this pivotal issue. By the end of this talk, your code will not be the same again. Let’s make software Green! |
14:25–15:10 | Thomas van Binsbergen (UvA) Domain-specific languages, regulated systems and sustainability This presentation will reflect on matters of sustainability related to software, software systems and the programming languages in which these are developed. Topics such as legacy code, software evolution, language evolution, and languages’ energy (in)efficiency will be explored. The driver is a number of research projects related to (domain-specific) software languages, model-driven engineering, high-level specifications and formal semantics. As such, non-obvious connections between software languages and sustainability are encountered.
A common thread is the importance of high-level, formal specifications — of both languages and systems — from which implementations can be generated for evolving target languages and machines. This enables the sustained executability of software systems but depends on a detailed understanding of the semantics of the source language. To this end, an approach to formally defining language semantics is discussed which through its modularity improves the maintainability of language definitions, making it easier for languages to evolve. |
15:10–15:40 | Coffee break |
15:40–16:25 | Gemma Catolino (JADS) Enhancing Tomorrow's Software: The Power of Collaboration and Communication In the ever-evolving software development landscape, effective communication and collaboration stand as pillars of success and sustainability. This talk delves into the critical role of these factors in shaping the destiny of software projects. It addresses a pervasive issue known as “community smell,” which acts as a harbinger of suboptimal organizational structures within software teams, potentially leading to significant technical and social debts.
Through empirical research findings, the talk uncover the profound impact of community smell on software quality and long-term viability. This talk will explore real-world opinions from practitioners and empirical studies that illustrate the detrimental effects of poor collaboration and communication within development communities.
However, the journey doesn’t end here. The talk will also present innovative strategies and solutions derived from extensive research. These practical insights will offer a roadmap for managing community smell and mitigating its negative consequences.
|
16:30–17:00 | Check in for accommodation |
18:00–19:30 | Dinner at Nonna’s pizza e pasta |
19:30–21:00 | Welcome drinks at Business Center Bar + opportunity to interact, play board & card games etc. |
Tuesday September 26th
9:00–10:00 | Carianne Pretorius (Adyen) Human Factors in Software Design Decision Making: Lessons Learned from Academia and Practice
Good software design is challenging to do, and is becoming increasingly so as software becomes even more complex. This challenge is further complicated by the fact that the software design process involves many decisions taken by human software design practitioners, including which features to design in the first place. Furthermore, software design practitioners often bring in users and experts to help evaluate how desirable these features are, and to decide which of them to implement in the final software application. As all of these (human) stakeholders have unique characteristics, it should come as no surprise that these have a bearing on how they make decisions about software design. In my dissertation, I focused on how so-called cognitive styles, conceptualised as intuition and rationality, affect software design performance, from the viewpoint of these three stakeholder types (software design practitioners, users and experts). In this talk, I draw from the insights gained from my dissertation and from my work in Engineering Innovations at the fintech company Adyen, to discuss some of the human challenges in software design decision making. |
10:00–10:30 | Coffee break |
10:30–11:15 | 4x PhD candidate intro talks |
11:15–11:30 | Short break |
11:30–12:15 | Maryam Razavian (TU/e) Responsible software architecture decision making
Software systems need to account for societal and human values. Therefore, software architecture decision-making, to a large extent, is about weighting and combining technical objectives and human values – where possible with confluence, where impossible with compromise. Consider the case of health software innovated for the elderly at home to identify health issues and provide suggestions customized to each patient’s situation and needs. In this case, the responsible architectural decision-making approach must engage human values such as trust, transparency, and explainability. This necessitates responsible trade-offs between human values and technical (e.g., performance) or business objectives (e.g., costs). In this talk I will cover (i) understanding human values in a software project context and (ii) guiding responsible architecture design decision-making in eliciting stakeholder views and values and translating stakeholder values into technical design decisions. |
12:30–13:30 | Lunch buffet at Evergreenz |
13:30–13:40 | IPA PhD Award announcement |
13:40–14:40 | Petar Vukmirović (VU), winner of the Award for Best 2022 IPA Dissertation Implementation of Higher-Order Superpositions: Three step-journey I will give a small intro to automated theorem proving and then talk about the three milestones with special attention to what I think did wrong/right during my PhD. |
14:40–15:25 | Martin Suda (Czech Technical University), member of Petar’s PhD examination committee Powering Automatic Theorem Provers by Machine Learning
Automatic Theorem Provers (ATPs) are complex tools automating one of the most exciting and profound human activities, namely (deductive) mathematical reasoning. They find their applications in areas such as software and hardware verification, planning, natural language understanding, or common-sense reasoning. In this talk I would like to share my experiences from a recently finished project whose aim was to make ATPs more powerful through an integration of methods of machine learning. I will touch on the challenges, used methods and the lessons learned. |
15:25–15:55 | Coffee break |
15:55–16:40 | Wan Fokkink (VU), promotor of Petar’s PhD Supervisor Synthesis: Turning Automata into Control Software
Supervisory Control Theory, initiated by Ramadge and Wonham, automatically transforms a formal system model and its safety requirements into a (minimally) restricted system that satisfies all safety requirements. This approach turns out to be very suitable for designing and generating software for the control of large infrastructural systems like bridges, locks and tunnels. In this talk recent research results will be discussed that are pivotal in tackling such large applications, including multilevel synthesis, determining a control problem dependency graph, and several modeling guidelines. |
16:45–17:30 | 4x PhD candidate intro talks |
18:00–19:30 | Dinner buffet at Evergreenz |
Wednesday September 27th
9:00–10:00 | Ivano Malavolta (VU) Empirical Research on Energy-Efficient Mobile Web Apps, Robotics Software, and Microservices
In this talk, the audience will be walked through a series of experiments that the Software and Sustainability (S2) research group conducted at the Vrije Universiteit Amsterdam. The experiments target energy-efficient software across various domains and software stacks. The talk will also give an overview of the S2 open-source tools for automatically executing experiments on energy-efficient software and beyond. |
10:00–10:30 | Coffee break |
10:30–11:15 | 4x PhD candidate intro talks |
11:15–11:30 | Short break |
11:30–12:15 | Sven-Bodo Scholz (RU) Is Functional HPC the Key to Low Carbon Computing? Since the inception of computers, we started creating ever bigger compute systems in order to solve ever bigger problems. Yet, the utilisation of HPC systems for large applications typically is below 10%. The digitalisation of our society keeps fuelling these trends: systems grow further and hardware utilisation becomes even lower.
Currently, about 3% of our greenhouse gas emissions are attributable to computing. If we continue to build increasingly big compute systems and, at the same time, try to achieve our overall emission targets, the contribution of computing will rise to 14% of all emissions in 2040 already.
The only way to counteract this trend without limiting our compute ambitions is to increase the utilisation of our existing compute systems. This requires codes to be better adjusted to the executing hardware, both, at compile time and at runtime.
In this talk, we present the opportunities and challenges that we identified so far when trying to generate high-performance codes from functional array programs in the context of the SaC language project and its compiler eco system (http://www.sac-home.org). |
12:30–13:30 | Lunch buffet at Evergreenz |
13:30–14:15 | ** online keynote ** Mireille Hildebrandt (RU) Sustainable Software: Issues of bias, proxies and ground truth in machine learning Machine learning systems are a ‘matter’ of software, despite the crucial role of training/validation and test data. In this talk I will discuss three types of bias (productive, ethically problematic and unlawful bias) and the notions of proxification and ground truthing as key to the development of sustainable machine learning software. The point will be to highlight the choices made when deciding upon training data (unsupervised), the choice of variables (supervised) and the articulation of the goal (reinforcement), demonstrating that and how these choices are normative and directly related to sustainability in the broad sense of being robust, not wasteful and therefor necessary for the task they are expected to perform. Literature: Hildebrandt, Mireille. 2021. ‘The Issue of Bias. The Framing Powers of Machine Learning’. In Machines We Trust: Perspectives on Dependable AI, edited by Marcello Pelillo and Teresa Scantamburlo. Cambridge, Massachusetts: The MIT Press. ———. 2022. ‘The Issue of Proxies and Choice Architectures. Why EU Law Matters for Recommender Systems’. Frontiers in Artificial Intelligence 5. https://www.frontiersin.org/article/10.3389/frai.2022.789076 ———. 2023. ‘Ground-Truthing in the European Health Data Space’. In Proceedings of the 16th International Joint Conference on Biomedical Engineering Systems and Technologies – Volume 5 HEALTHINF: BIOSTEC, 15–22. Lisbon, Portugal: Scitepress. https://www.scitepress.org/Link.aspx?doi=10.5220/0011955900003414 |
14:15–15:15 | Paulus Meessen (RU) Scrutinizing the Sustainability of Software that shapes legal norms
We live in a world in which we are increasingly subjected to automated legal and administrative practices. Automation of legal norms can only exist because of compromises made when translating laws in natural languages to code (executables) in formal languages. In this presentation, I am going to take you into some of the details of modern systems of tax automation in France and the Netherlands. As we dive into the technical design choices made in these systems we are going to recognize that many of the components of these systems exist purely in a domain of computer engineering expertise. This includes domain-specific languages, modes of automated reasoning, compilers, and the methodologies used in the software engineering of the systems. These components have a significant effect on how the norms from the tax code get implemented. Moreover, often it can be the software’s developers who make the decisions that shape the legal norms instead of societal or legal experts. I will conclude with some recommendations for working on sustainable legal automation in order to safeguard important legal protections. Literature: |
15:15–15:45 | Coffee break |
15:45–16:45 | Robbert Krebbers (RU) Undefined Behavior: The Good, The Bad, and The Ugly Traditional systems programming languages such as C and C++ are
notorious for undefined behavior: if you perform an illegal action such
as dereferencing an invalid pointer, the program will not abort with an
exception, but it might do anything. This plagues C and C++ programs
with subtle bugs and security issues that are hard to detect (the bad).
While being a burden for programmers, undefined behavior is important to
allow compilers to generate very efficient code (the ugly). Fortunately,
modern systems programming languages such as Rust allow for the best of
both worlds: their static type system guarantees the absence of
undefined behavior, and their efficiency is similar to C or C++ (the good).
In this talk I will explain the good/bad/ugly of undefined behavior, how
it can be formalized in a mathematical specification (semantics) of a
program language, and how it is used in correctness proofs of compilers
and type systems mechanized in proof assistants such as Coq. |
16:45–17:00 | Slot for PhD council and organizer announcements, further interaction (including PhD skills supply & demand matching) |
18:00–20:00 | Barbecue at Hamiltons Bar |
Thursday September 28th
9:00–10:00 | Erik Poll (RU) Twenty years of secure software development
… |
10:00–10:30 | Coffee break |
10:30–11:30 | Rob van Nieuwpoort (UvA and eScience Center) Increasing the sustainability and impact of your software From climate change and sustainable cities to aging populations and more, research in almost any discipline is impossible without software. The Netherlands eScience Center is the national centre for innovative software solutions in academic research. We create the tools and digital methodologies that enable researchers across all disciplines to answer research questions, harnessing our unique blend of academic expertise and software development skills. We attach great importance to software quality and sustainability, and academic recognition of research software. We also teach these skills to researchers. In this talk, we will share the lessons we learned while developing software in the hundreds of research projects we collaborated in over the past decade. We will show how you can make your software FAIR (Findable, Accessible, Interoperable and Reusable), and which concrete steps you can take to increase software quality, achieve more impact, and get more recognition for your work. |
11:30–12:15 | Slinger Jansen (UU) A secure worldwide software ecosystem
The goal of the SecureSECO initiative is to secure and increase trust in the software ecosystem, through the use of distributed ledger technology and empirical software engineering research. The software ecosystem is a trust-rich part of the world. Collaboratively, software engineers put their trust in major hubs in the ecosystem, such as package managers, repository services, and programming language ecosystems. However, there are many parts of the chain in which this trust can be broken. We present a vision for a trust ensuring mechanism in the software ecosystem that mitigates the presented risks. If our community manages to implement this mechanism, we can create an urgently needed secure worldwide software ecosystem. |
12:30–13:30 | Lunch buffet at Evergreenz |
13:30–14:15 | Leonieke Mevius (City of Amsterdam) Sustainable IT in the real world |
14:15–14:45 | 3 x PhD candidate intro talks |
14:45–15:15 | Coffee break |
15:15–16:10 | ** online keynote ** Isabelle Reymen (TU/e) Developing responsible engineers for the future: Challenge-Based Learning and TU/e innovation Space
World-wide challenges demand innovations in the way new products, services and systems are developed. New knowledge and technology often forms the basis for innovative solutions to major challenges. (Software) Engineers play a key role in these innovation processes, by co-creating responsible solutions. In my talk I will show how we facilitate in TU/e innovation Space the development of engineers for the future that can contribute to a sustainable world. |
16:15–17:00 | Hans-Dieter Hiep (CWI) New Foundations for Separation Logic Separation logic is a powerful formalism for verifying the
correctness of pointer programs, and thus is useful in designing program
verification systems for widely-used programming languages such as C,
C++, and Java. We will see what separation logic (and Reynolds’ logic)
really is, and the need for new foundations to support it. The talk is
also accessible to people without a background in separation logic. |
18:00–19:30 | Dinner at Fuego Adventure Grill |
20:00–23:00 | Social event organized by the IPA PhD council at Hamiltons Bar |
Friday September 29th
9:00–10:00 | Katja Tuma (VU) Human Factors in Security Decision Making
In this talk I present how human factors play a role in security decision making. The first part of the talk will focus on the problem and challenges ahead for capturing the effects of human factors and building evidence, while in the second part I will present our work in progress. Namely, I will showcase the design and preliminary results of two experimental surveys investigating the impact of individual’s gender and background on their evaluation of security threats, their ethical implications, and assessment of phishing risks. |
10:00–10:30 | Coffee break |
10:30–11:30 | Minha Lee (TU/e) Collaborative Mind Perception
We denote other beings to have minds of their own when we perceive them to have cognitive and affective capacities, to different degrees. A chatbot can be perceived to have some level of cognition, but not emotions, for instance. But, this bias can be overturned through how the bot is designed. Hence, when envisioning cooperative human-machine dyads and teams, one question can be asked: To what extent should our perception of other minds be calibrated in a collaborative manner, and in what ways? The potential to shape our human perception of non-human “minds” has various ethical considerations to be discussed. |
11:30-12:00 | Closing and departure (with takeaway lunch) |
Registration
[Registration closed] Registration is open via this form and will close Monday September 11th 10:00. However, we encourage you to register ASAP, as this is helpful for organising, and as accommodation space is limited.Beware that if you register, but then do not participate for the period as indicated in your registration, while failing to either provide reasonable ground for this (e.g. illness, family emergency) or to cancel before the registration deadline, IPA will have to bill you for the costs incurred.
To make maximal use of the available capacity, we process applications on the following basis: Registrations are treated “first come, first served”. In principle, all PhD students (IPA and non-IPA) will share a room. Others may also be asked to share if we run out of rooms. As long as space is available and the registration deadline has not yet passed, we will accept participants.
New PhD students
PhD students new to IPA Fall Days are expected to give a brief talk in a slot of ca. 10 minutes. The purpose of such talks is to introduce your research and yourself to the IPA community. You can briefly introduce your research (research area, initial and future research directions), but also yourself (who you are, what your background is, but also e.g. you like or don’t like to do in your spare time). The Fall Days provide a friendly, open, and informal atmosphere to do this, and you will surely be welcomed into the IPA community and receive constructive feedback or get into follow-up discussions.
Travel
The venue is most easily reached by car.
It can be reached by public transport, but this requires using an *infrequent* bus connection for the last part, namely bus line 160 between train station Almere Centrum and the town of Zeewolde. This bus lines runs at best once per 2 hours, so plan ahead, and perhaps consider carpooling with fellow attendees instead. If you do need or want to use public transport:
The easiest option for this is to travel by train to train station Almere Centrum and then take bus line 160 towards Zeewolde, until reaching bus stop De Eemhof (ca. 30 minutes by bus). This stop is right besides the Centre Parcs parking and park entrance.
Alternatively, from train station Nijkerk, take bus 142 or 159, and transfer in Zeewolde onto line 160 towards Almere, getting off at bus stop De Eemhof as well (see above).
Please use e.g. Google Maps or 9292ov.nl to plan your travel.