Quantum software development is growing

Quantum computing is a hot topic. The big question is how do we map real-life problems to quantum computers. A new kind of thinking is needed for the creation of quantum software. A successful approach by one of our doctoral researchers Valter Uotila
https://www.helsinki.fi/en/news/quantum-technology/new-applications-quantum-computing-sought-hackathons.

We would be welcome new industrial use cases or challenges. 

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 FOR GREENING

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”?

and

  • 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 https://ai-in-society.mooc.fi/

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: https://conf.researchr.org/home/esem-2022

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.

PROFESSOR OR ASSISTANT/ASSOCIATE PROFESSOR IN SOFTWARE ENGINEERING

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

PROFESSOR OR ASSISTANT/ASSOCIATE PROFESSOR IN SOFTWARE ENGINEERING

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: https://www2.helsinki.fi/en/open-positions/professor-or-assistantassociate-professor-in-software-engineering

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 https://ai-governance.eu/ and recently started IMLE4 https://itea4.org/project/iml4e.html.

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 (first.last@helsinki.fi).

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): https://doi.org/10.1016/j.jss.2021.111096

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): https://doi.org/10.1016/j.jss.2021.111050