IML4E and VesselAI project meetings

Last week we had project meetings on two of our European machine learning engineering projects IML4E and VesselAI. It was amazingly useful to meet the partners face to face after all the video conferences we have had during covid times. Lots of new ideas, clarity of collaboration, and fun being together. Now there is even more potential for useful work on bringing AI into real use. 


Green ICT is not a new concept. However, for many reasons it has recently started attracting increasingly both software researchers, industrial software companies and public sector IT organizations. In particular, since many organizations and industrial sectors have announced their targets to become carbon neutral by 2030 or even sooner, there are clear motives and interests to develop and utilize green ICT. In general, sustainability goals call for green ICT.

So what is actually “green ICT” — and, conversely, what is then perhaps not so “green”? There are many aspects of “green” and, consequently, different definitions emphasizing different features of sustainability. In general, resource consumption (especially energy efficiency) is addressed. In current software systems environments, dependencies on various platforms and infrastructures (networks, data centers) make it complicated to realize the actual net effects. An apparently short piece of source code may actually require a lot more — thus being less “green”.

Nowadays ICT and software are increasingly utilized in most every industrial sector in many different ways. It has even been said that all companies are becoming “software companies”. In many cases, ICT is an enabling technology for “greening”. For example various equipment manufactures can embed software systems into their products to optimize energy consumption. Product development companies can use software tools to analyze the products under development to design-for-green.

Ultimately, a combination of utilizing green ICT for greening could be ideal. In such constellations, the ICT solution itself would not be a “problem” and it would provide solution possibilities to sustainability problems.

For us as software engineering researchers, the aforementioned developments introduce many intriguing research problems and aims:

  • How to specify “green” software products and systems?
  • How to design and develop them?
  • How to measure the products and their development with respect to “green”?


  • How to identify ICT opportunities for greening in different (non-ICT) industry sectors and application domains?

New MOOC on AI in Society

Yesterday we launched a MOOC on AI in Society. It is a result of interdisciplinary work involving computer scientists, social scientists, philosophers, law researchers, and cognitive scientists from three universities: the University of Helsinki, Edinburgh, and Paris 1.

The MOOC aims to be an introduction to AI and its impact with a strong emphasis on the intersection between AI and other fields, such as ethics, healthcare, politics, and law. There is a need to understand how AI is changing the landscape of different sectors and the effects it has across societies. With this knowledge, it is possible to understand the potential that AI has.

The MOOC has a modular structure and additional modules e.g. on AI and democracy, robotics, and health are planned to be released later this year.

Students can study at their own pace and schedule, as well as select the optional modules based on their interests. The MOOC is available at

ESEM in Helsinki, September 19–23, 2022

The 16th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM2022)
19-23 September 2022
Helsinki, Finland

The ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM) is the premier conference for presenting research results related to empirical software engineering. ESEM provides a stimulating forum where researchers and practitioners can present and discuss recent research results on a wide range of topics, in addition to exchanging ideas, experiences and challenging problems.
The theme for this year’s ESEM is “A new normal in Software Engineering!?”, which refers to the times we have after the pandemic. The theme essentially asks how the research, education or practice of Software Engineering may have changed for good. However, there is also the question of how much is new, or is it all just normal Software Engineering, perhaps something being applied more extensively? In addition to regular submissions, we encourage all kinds of contributions addressing the theme, be it vision papers, case reports, industrial experience reports, surveys, and so on.
Details on the topics of interest, the submission procedures, as well as all co-located events, are available at the conference website:

Important Dates

(All dates are end of the day, anywhere on earth)

Technical Papers and Emerging Results and Vision Papers

Abstract submission: April 25, 2022
Paper submission: May 2, 2022
Notification: June 17, 2022

Journal-First Track

Submission: July 7, 2022
Notification: August 15, 2022

Industry Forum

Submission: August 13, 2022
Notification: September 1, 2022

Registered Reports Track

Submission: June 30, 2022
Initial Reviews: July 26, 2022
Notification of Stage 1: August 25, 2022

Doctoral Symposium

Submission: June 22, 2022
Notifications: July 22, 2022

Conference Organization

General Chair

Casper Lassenius, Aalto University, Finland

Program Co-Chairs

Tayana Conte, Universidade Federal do Amazonas, Brazil
Tomi Männistö, University of Helsinki, Finland

Emerging Results and Vision Papers Co-Chairs

Paris Avgeriou, University of Groningen (RuG), Netherlands
Marco Kuhrmann, University of Passau, Germany

Journal First Chair

Dietmar Pfahl, University of Tartu, Estonia

Industry Talks Co-Chairs

Tommi Mikkonen, University of Jyväskylä
Niko Mäkitalo, University of Helsinki, Finland

Registered Reports Co-Chairs

Maria Teresa Baldassarre, University of Bari, Italy
Neil Ernst, University of Victoria, Canada

Doctoral Symposium Chair

Maria Paasivaara, LUT University, Finland & Aalto University, Finland

Proceedings Chair

Fernanda Madeiral, KTH Royal Institute of Technology (Sweden)l

Social Media and Publicity Co-Chairs

Adolfo Neto –  Universidade Tecnológica Federal do Paraná (UTFPR), Brazil
Nelly Condori Fernandez – University of A Coruña/ Vrije Universiteit Amsterdam, The Netherlands

Local Organizing Chair

Fabian Fagerholm, Aalto University, Finland

Conference Organizer

Mary-Ann Alfthan, Aalto University, Finland

Web Chair

Bettina Lehtelä, Aalto University, Finland

Nordic Agile Survey: Pandemic Agility

As posted earlier, we conducted a survey round in October–November 2020 including question items about the impacts of the pandemic and its potential relations to agility. We have now analyzed those results and published a new research paper in the XP 2021 workshop:

Impacts of COVID-19 Pandemic for Software Development in Nordic Companies – Agility Helps to Respond

The key findings showed that although the impacts have mostly been negative, it has not been all so. The pandemic has impacted different companies differently both in negative and positive ways. The majority of the responses indicated that agility has helped to respond to the situation.

We are currently preparing another survey round to be conducted by the end of 2021. In fact, perhaps unevenly, the pandemic is (still) affecting many companies, so a longitudinal study is warranted.

For more information about the Nordic Agile Survey, see here.


The Department of Computer Science at the Faculty of Science of the University of Helsinki invites applications for a


aiming to strengthen research areas in computer science at the university.

Position description
We are looking for a new professor or assistant/associate professor to carry out research into the field of software engineering.

The person to be chosen must have a strong scientific track record in the field of software engineering evidenced by publications in top tier forums of the field. The University of Helsinki and the Department of Computer Science offer excellent potential collaborators in the relevant areas, such as data science and other disciplines of different faculties of the university.

The appointee is expected to conduct research on an internationally high level. We expect a strong network of international and interdisciplinary cooperation and collaboration. In addition, strong record in empirical software engineering and particularly in close industrial collaboration is considered a significant advantage. The teaching area of the position is software engineering. The person chosen for the position is expected to teach and develop teaching particularly in the Master’s Programme in Computer Science and potentially also in the Bachelor Programme in Computer Science and the Bachelor’s Programme in Science. In addition, the appointee will participate in doctoral education at the Department of Computer Science, collaborate with other groups in the department, acquire research funding for their research group, and participate in the interaction between science and society at large.

More information:

MLOps research and thesis positions

Machine learning (ML) is becoming an increasingly common technology that is used in software-based systems. While software and software engineering practices are still a quintessential part of the design of such systems, the design space has data and ML and respective data scientist stakeholders as new concerns. Hence, MLOps — as a derivative of DevOps — is currently emerging to better integrate data and ML into the software engineering way of working, as well as integrate ML better in the software-based systems. MLOps is about both practices and tools for ML-based systems that technically enable iterative software engineering practice.

The ESE research group is strengthening its research focus in the area of MLOps. In particular, we are participating in projects that study MLOps, such as AIGA and recently started IMLE4

We have funded thesis positions in the area of MLOps in these research projects that can be tailored to the interest of the applicant. For details, contact Mikko Raatikainen (

Misbehaviour and fault tolerance in machine learning systems

Our interview paper on misbehaviour and fault tolerance in machine learning systems was recently published in Journal of Systems and Software. Machine learning (ML) provides us with numerous opportunities, allowing ML systems to adapt to new situations and contexts. At the same time, this adaptability raises uncertainties concerning the run-time product quality or dependability, such as reliability and security, of these systems. Systems can be tested and monitored, but this does not provide protection against faults and failures in adapted ML systems themselves.

We studied software designs that aim at introducing fault tolerance in ML systems so that possible problems in ML components of the systems can be avoided. The research was conducted as a case study, and its data was collected through five semi-structured interviews with experienced software architects.

We present a conceptualisation of the misbehaviour of ML systems, the perceived role of fault tolerance, and the designs used. The problems in the systems rise from problems in inputs, concept drift, bugs and inaccuracies in the models, their faulty deployment, and not really understanding what the utilised model does. Common patterns to incorporating ML components in design in a fault tolerant fashion have started to emerge. ML models are, for example, guarded by monitoring the inputs and their distribution, and enforcing business rules on acceptable outputs. Multiple, specialised ML models are used to adapt to the variations and changes in the surrounding world, and simpler fall-over techniques like default outputs are put in place to have systems up and running in the face of problems.

However, the general role of these patterns is not widely acknowledged. This is mainly due to the relative immaturity of using ML as part of a complete software system: the field still lacks established frameworks and practices beyond training to implement, operate, and maintain the software that utilises ML. ML software engineering needs further analysis and development on all fronts.

The full paper can be read here (open access):

Validation Methods For AI Systems

Our systematic literature review on validation methods for AI systems was recently published in Journal of Systems and Software. Artificial intelligence (AI) – especially in the form of machine learning (ML) – has steadily, yet firmly, made its way to our lives. Suggestions on what to buy, what too see, what to listen – all works of AI. Easily available tools make these strong techniques implementable even to those with little to no knowledge or experience on the implications the intelligent components can have on the built systems. This begs the question: how to trust these systems?

The paper studies the methods to validate practical AI systems reported in the research literature. In other words, we classified and described the methods used to ensure that AI systems with potential and or actual use work as intended and designed. The review was based on 90 relevant papers, narrowed down from an initial set of more than 1100 papers. The systems presented in the papers were analysed based on their domain, task, complexity, and applied validation methods. The systems performed 18 different kinds of tasks in 14 different application domains.

The validation methods were synthesized into a taxonomy consisting of different forms of trials and simulations, model-centred approaches, and expert opinions. Trials were further divided into trials in real and mock environment, and simulations could be conducted fully virtually, or having hardware or even the entire system in the validation loop. With the provided descriptions and examples, the taxonomy should be easily used as a basis for further attempts to synthesize the validation of AI systems or even to propose general ideas on how to validate systems.

To ensure the dependability of the systems beyond the initial validation – which we gave an umbrella term “continuous validation” -, the papers implemented failure monitors, safety channels, redundancy, voting, and input and output restrictions. These were, however, described to a lesser degree in the papers.

The full paper can be read here (open access):

Digital world needs architecting more than ever

The slogan of our Computer Science department is “Architects of the digital world” ( The meaning of this slogan can be understood and approached from different perspectives. In this blog post, we aim to do our part by addressing what architecting the digital world means from the viewpoint of software, and in particular, that of software engineering research, where the word (software) architecture has been partially reserved for technical interpretation.

The digital word – and software in it – is already around us. Many of the devices, such as cars, are almost mobile computers carrying massive amounts of software onboard for controlling their behavior; our surroundings, such as homes, are packed with devices that run software, for example, to enable connectivity to our mobile devices for telling how they are doing; many if not most services are being digitalized – or have a digital component; and even many of our social interactions takes place in the digital world. The increasing digitalization just keeps expanding all that. 

So where’s the architecture and architecting in all of the above? Briefly, in the blueprint that defines the DNA of the system as a whole. In the small scale, software is code created by software developers, with the assistance of software-based tools, frameworks, cloud environments, and so on. However, when things get big, complex, integrated, interoperable, or critical, conscious architecting is needed to give the whole a reasonable shape and to ensure the whole has desired properties. Often referred to as architecturally significant, such properties may include the protection of privacy, availability of services, modifiability of software to different uses, fault tolerance, energy efficiency, and so on, to mention some. Furthermore, as the modern systems and their software evolve throughout their lifespans, only future-proof architectural designs will keep the software systems sustainable. In software engineering research and practice, these are the kinds of concerns architects and architecture design methods aim at addressing. 

To elaborate, architecting means, first of all, understanding what is expected of the digital world. Designing and maintaining complex and large, often interconnected software systems of the digital world demand robust architecting. Architecting is then about making the important design decisions that give the digital world its shape and answers “how to position the load-bearing structures”. Architecting is also about risk management of those parts of the digital world that have not yet been realised. When planning something not yet existing, an architect needs to envision the technical solutions with the acceptably low risk of feasibility for meeting the expectations over the entire life cycle.

It seems inevitable that the future digital world will start shaping itself with little overall control or planning, when more and more systems are constructed that depend on each other in their operations. In this new context, the role of software engineering research is to try to understand where things may start cracking and crumbling – and then see what architectural solutions would be needed to solidify the digital world. This naturally requires understanding the expectation the society sets for the digital world. In addition to the expected needs, the digital world sets constraints on software systems. For example, as more and more regulated software systems become connected, the need for architecture work becomes more stringent. Architecture becomes the essential communication tool that enables risk managers and regulatory affairs professionals to effectively perform their duties in the area of safety, cybersecurity or privacy.

To summarize: The expectations that are architecturally significant, i.e., fundamental in the design and thus hard to change if wrong and that enable or prohibit the expected properties of the digital world, include for example:

  • When and how should the software protect the privacy of personal data, particularly when pieces of data are combined from distinct sources?
  • How to make the public sector software systems interoperable, open and cost efficient – with some open and crowd sourced architecting?
  • How to control the risks related to systems critical to society or individual human life, taking into account their various intertwined dependencies (e.g., banking systems currently used also for general-purpose user identification purposes)?
  • How to take into account the sustainability goals of the future digital world (e.g., electricity consumption)?
  • How to design software systems in which artificial intelligence, including machine learning, can be embedded in an understandable, trustworthy, transparent, and testable manner? 

This is where the architects of the digital world are needed – to help make the architectural decisions regarding the software that runs the world. This is not only about technical issues and possibilities but also about understanding the contexts of use, decisions about policies that constrain technical solutions, incentives for collaboration for common benefit, or ensuring that the voice of minorities is also heard. It is therefore in the interest of the society that the architectural decisions of important services and systems of the digital world and their justifications are transparent and open to scrutiny. 

As a research group in software engineering and architectural topics in particular, these are issues we envision to encounter on our journey when living up to the slogan of the department: “Architects of the digital world”. 

– the ESE Team