Open Source Software Framework for Data Fault Injection to Test Machine Learning Systems

dpEmu is our Python library for emulating data problems in the use and training of machine learning systems. It provides tools for injecting errors into data, running machine learning models with different error parameters and visualizing the results.
Data-intensive systems are sensitive to the quality of data. Data often has problems due to faulty sensors or network problems, for instance. dpEmu framework can emulate faults in data and use it to study how machine learning (ML) systems work when the data has problems. The Python framework aims for flexibility: users can use predefined or their own dedicated fault models. Likewise, different kinds of data (e.g. text, time series, video) can be used and the system under test can vary from a single ML model to a complicated software system.
The software and a set of Jupyter notebooks illustrating different use cases are available at https://github.com/dpEmu/dpEmu
We just presented the work at ISSRE conference: Jukka K. Nurminen, Tuomas Halvari, Juha Harviainen, Juha Mylläri, Antti Röyskö, Juuso Silvennoinen, and Tommi Mikkonen. “Software Framework for Data Fault Injection to Test Machine Learning Systems”. 4th IEEE International Workshop on Reliability and Security Data Analysis (RSDA 2019) at 30th Annual IEEE International Symposium on Software Reliability Engineering (ISSRE 2019), Berlin, Germany, October 2019.

Doctoral defence on Continuous Experimentation in Software Engineering

Sezin Yaman from ESE research group will have a public examination of her Phd thesis titled: “Initiating the Transition towards Continuous Experimentation : Empirical Studies with Software Development Teams and Practitioners”. The opponent will be Professor Brian Fitzgerald, University of Limerick. The public event will take place in Room 302, Athena Building, University of Helsinki, on the 25th of October, 2019 at 12 o’clock noon.

See:
https://hy.etapahtuma.fi/flamma-2019/fi?id=56765#.XadD_sRS9hE

https://helda.helsinki.fi/handle/10138/305855

Agile Now in Finland

Agile software development is nowadays perceived to be mainstream practice in industrial companies and software development organizations. However, since the publication of the Agile Manifesto in 2001 a lot of progressive evolution and developments have taken place both in industrial practice and academic agile research. One of the significant current drivers is the ongoing digitalization which has affected most industry sectors even radically.

Therefore, we have been interested in investigating the actual current state of agile software development in industrial organizations. Moreover, we want to understand Agile in practice more broadly and deeply considering even enterprise-level agility. We are interested in different industrial sectors beyond ICT since agile methods are possibly increasingly applied also in non-ICT companies when they become more software-intensive.

For those research interests we have been collaborating with Nitor (see here) in conducting an industrial survey in Finland in late 2018. The first results have just been presented at XP 2019 7th International Workshop on Large-Scale Agile Development (LargeScaleAgile).

 

Software Futures in Future Energy Systems

Energy systems are in global transition. They are becoming “smarter” by incorporating more and more software and digital data. This is in particular the case with electricity power systems which are currently developed to so-called Smart Grids. In essence they are power systems coupled with ICT systems.

The nature of the future electricity Smart Grid system is fundamentally different from the traditional power systems. Traditional bulk power generation is shifting towards distributed energy resources (e.g., wind turbines). Furthermore, the power flows can now be two-way so that even individual citizens can produce and sell electricity based on for example their private solar panels. In Finland, households are now equipped with smart metering devices making it possible to manage such power flows with information flows.

Such developments bring up many new needs of software systems engineering for current and future energy system houses to be able to design, build and operate the increasingly complex systems-of-systems comprising hardware, software and human elements (cyber-physical systems, CPS). Moreover, the systems must run 24/7/365 being parts of critical national infrastructure under regulations.

We have recently addressed this empirical software research field in a presentation in the Futures Conference 2018: ENERGIZING FUTURES – Sustainable Development and Energy in Transition with the title

Future smart energy software houses

 

For further information, see:

https://futuresconference2018.wordpress.com/
https://futuresconference2018.files.wordpress.com/2018/06/energizing-boa-web.pdf

 

Safe and Secure Executions at the Network Edge: A Framework for Coordinating Cloud, Fog, and Edge.

Take a look at our new paper, published at a recent issue of IEEE Software (Issue No. 01 – January/February; 2018 vol. 35), on how to coordinate cloud, fog, and edge computing. The paper was authored together with our colleagues at Electronics and Communications Engineering & Pervasive Computing, Tampere University of Technology, Tampere, Finland. The paper was It was a pleasure to work with our colleagues from Tampere, as always 🙂

The core message of the paper is that as we approach novel techniques such as 5G, peer-to-peer radio technologies, and multi-access communication channels, we need new technologies that help us program the devices and their interactions in a simpler fashion. While we can work under the terms of different ‘islands’ of technology chosen for a particular application under normal condition, the ability to reach over the boundaries what was originally foreseen is an essential character at corner cases, in particular those that are of critical importance and whose failure or hijacking could lead to disasters.

Considered application scenarios of Cloud, Fog, and Edge computing for the AcOP model. H2H = human-to-human, M2M = machine-to-machine, PPDR = public protection and disaster relief, QoE = quality of experience, V2I = vehicle-to-infrastructure, and V2V = vehicle-to-vehicle.

Author’s post-print version (pdf), which in is content equal to the fully formatted, published version available from IEEE

 

Continuous and collaborative technology transfer: Software engineering research with real-time industry impact

We have co-authored a top tier paper on research collaboration and experiences between academia and industry in Finland. The paper: Continuous and collaborative technology transfer: Software engineering research with real-time industry impact is available online (freely until March 31, 2018) from the web site of Information and Software Technology.

Summary:

Traditional technology transfer models rely on the assumption that innovations are created in academia, after which they are transferred to industry using a sequential flow of activities. This model is outdated in contemporary software engineering research that is done in close collaboration between academia and industry and in large consortia rather than on a one-on-one basis. In the new setup, research can be viewed as continuous co-experimentation, where industry and academia closely collaborate and iteratively and jointly discover problems and develop, test, and improve solutions.

Research questions:

  • How can high-quality, ambitious software engineering research in a collaborative setup be conducted quickly and on a large scale?
  • How can real-time business feedback to continuously improve candidate solutions be gained?

The proposed model has been created, refined, and evaluated in two large, national Finnish software research programs. For this paper, we conducted thematic interviews with representatives of four companies who participated in these programs.

 

The fundamental change is in the mindset of the participants from technology push by academia to technology pull by companies, resulting in co-creation. Furthermore, continuous cooperation between participants enables solutions to evolve in rapid cycles and forms a scalable model of interaction between research institutes and companies.

The multifaceted nature of software engineering research calls for numerous approaches. In particular, when working with human-related topics such as company culture and development methods, many discoveries result from seamless collaboration between companies and research institutes.