Tommi Mikkonen

Tommi Mikkonen
University of Jyväskylä | JYU · Faculty of Information Technology

About

410
Publications
157,916
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
3,955
Citations
Citations since 2016
202 Research Items
2567 Citations
20162017201820192020202120220100200300400500
20162017201820192020202120220100200300400500
20162017201820192020202120220100200300400500
20162017201820192020202120220100200300400500

Publications

Publications (410)
Article
Full-text available
In Industry-Academia Collaborations (IAC) both academic, scientific research results and industrial practitioner findings and experiences are produced. Both types of knowledge should be gathered, codified, and disseminated efficiently and effectively. This paper investigates a recent (2014–2017) large-scale IAC R&D&I program case (Need for Speed, N...
Preprint
Full-text available
Public sector is a large consumer of ICT systems and services, used for various public services. Tendering for such systems is governed by laws aimed at eliminating unfair advantages and offering all possible parties equal opportunities to participate in the tendering process. In this article, we study in-house rpocurement, where the acquiring orga...
Preprint
Full-text available
Quantum software systems are emerging software engineering (SE) genre that exploit principles of quantum bits (Qubit) and quantum gates (Qgates) to solve complex computing problems that today's classic computers can not effectively do in a reasonable time. According to its proponents, agile software development practices have the potential to addre...
Article
Full-text available
Continuous software engineering has become commonplace in numerous fields. However, in regulating intensive sectors, where additional concerns needs to be taken into account, it is often considered difficult to apply continuous development approaches, such as devops. In this paper, we present an approach for using pull requests as design controls,...
Conference Paper
Full-text available
In today's software engineering, iterations, affordable en masse, form an important part of just about any system. However, not all computing resources are cheap to consume. In High-Performance (HPC) and Quantum Computing (QC), executions can consume considerable amounts of energy and time, which is reserved and used even if the very first steps in...
Conference Paper
Agile companies are not uniform. Consequently, agile transformations are conceived broadly, ranging from adopting agile methods and practices in software development teams or functions to building all-encompassing enterprise agility. Moreover, the targeted effects of agility may vary, and the success of transformations and the attainment of agility...
Article
The exponentially growing amount of digital information and data analysis increase the ability to perceive the holistic situation of people. This article applies the digital twin paradigm to strengthen a person’s ability to utilize information about themselves by creating a digital representation of their situation to support their well-being. More...
Chapter
Full-text available
Command-line commands form a special kind of semi-natural language. Analyzing their structure and classifying them is a useful approach in the field of cyber security to detect anomalous commands used by malicious actors. Without any contextual knowledge, commands’ analysis is a difficult task as similar-looking commands might be performing differe...
Article
Full-text available
As software is becoming a central element in our lives, more and more stakeholders have concerns. Unlike today, when developers stop their coding activities to satisfy these stakeholder concerns, we propose dealing with them as part of the coding workflow, the central element of programmers' daily duties. This can be achieved by extending the appro...
Article
Context Machine learning has proved an efficient tool, but the systems need tools to mitigate risks during runtime. One approach is fault tolerance: detecting and handling errors before they cause harm. Objective This paper investigates whether rare co-activations – pairs of usually segregated nodes activating together – are indicative of problems...
Article
Full-text available
Using interviews, we investigated the practices and toolchains for machine learning (ML)-enabled systems from 16 organizations across various domains in Finland. We observed some well-established artificial intelligence engineering approaches, but practices and tools are still needed for the testing and monitoring of ML-enabled systems.
Conference Paper
Full-text available
Quantum Software Engineering (QSE) is a recent trend-focused on unifying the principles of quantum mechanics and practices of software engineering-to design, develop, validate , and evolve quantum age software systems and applications. Software architecture for quantum computing (a.k.a. quantum software architectures (QSA)) supports the design, dev...
Preprint
p> Using interviews, we investigated the practices and toolchains for machine learning (ML)-enabled systems from 16 organizations across various domains in Finland. We observed some well- established artificial intelligence engineering approaches, but practices and tools are still needed for the testing and monitoring of ML-enabled systems. </p
Conference Paper
Full-text available
In this study we explore the incorporation of artificial intelligence (AI) governance to system development life cycle (SDLC) models. We conducted expert interviews among AI and SDLC professionals and analyzed the interview data using qualitative coding and clustering to extract AI governance concepts. Subsequently, we mapped these concepts onto th...
Article
Full-text available
Pelkkä rahan kaataminen kuntiin ja hyvinvointialueille ei riitä. Tarvitaan strategia, millä tehdään softakokonaisuudesta kustannustehokas yhteisin ohjelmistoin, prosessein ja perinteiset rajat ylittävien yhteistyömallien avulla. https://www.maaseuduntulevaisuus.fi/mielipide/b4979117-9304-4de6-b503-2473f3ad9763
Article
Recent years have seen the rise of a new generation of UI frameworks for web application development. These frameworks differ from previous generations of JavaScript frameworks in that they define a declarative application development model, where transitions in the state of the UI are managed by the framework. This potentially greatly simplifies a...
Preprint
div> The best practices and infrastructures for developing and maintaining machine learning (ML) enabled software systems are often reported by large and experienced data-driven organizations. However, little is known about the state of practice across other organizations. Using interviews, we investigated practices and tool-chains for ML-enabled...
Preprint
Full-text available
Quantum computing systems rely on the principles of quantum mechanics to perform a multitude of computationally challenging tasks more efficiently than their classical counterparts. The architecture of software-intensive systems can empower architects who can leverage architecture-centric processes, practices, description languages, etc., to model,...
Preprint
Full-text available
Quantum computing systems rely on the principles of quantum mechanics to perform a multitude of computationally challenging tasks more efficiently than their classical counterparts. The architecture of software-intensive systems can empower architects who can leverage architecture-centric processes, practices, description languages, etc., to model,...
Preprint
Full-text available
[Context] The COVID-19 pandemic has had a disruptive impact on how people work and collaborate across all global economic sectors, including the software business. While remote working is not new for software engineers, forced Work-from-home situations to come with both constraints, limitations, and opportunities for individuals, software teams and...
Article
Full-text available
Software (ISSN: 2674-113X) [...]
Chapter
In this paper we revisit a taxonomy of client-side IoT software architectures that we presented a few years ago. We note that the emergence of inexpensive AI/ML hardware and new communication technologies are broadening the architectural options for IoT devices even further. These options can have a significant impact on the overall end-to-end arch...
Article
The promise of calm computing,1 a concept introduced by Mark Weiser more than 20 years ago, has been mostly realized today. For instance, as an end user, you expect to interact during your daily routine with a multitude of sophisticated services and applications without being aware of their technical implementation. All you need is a smartphone and...
Article
Full-text available
italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">Edge Intelligence (EI) is an emerging computing and communication paradigm that enables Artificial Intelligence (AI) functionality at the network edge. In this article, we highlight EI as an emerging and important field of research, discuss the state o...
Conference Paper
Assuring traceability from requirements to implementation is a key element when developing safety critical software systems. Traditionally, this traceability is ensured by a waterfall-like process, where phases follow each other, and tracing between different phases can be managed. However, new software development paradigms, such as continuous sof...
Preprint
div> The best practices and infrastructures for developing and maintaining machine learning (ML) enabled software systems are often reported by large and experienced data-driven organizations. However, little is known about the state of practice across other organizations. Using interviews, we investigated practices and tool-chains for ML-enabled...
Preprint
Full-text available
div> The best practices and infrastructures for developing and maintaining machine learning (ML) enabled software systems are often reported by large and experienced data-driven organizations. However, little is known about the state of practice across other organizations. Using interviews, we investigated practices and tool-chains for ML-enabled...
Conference Paper
Ethical concerns related to Artificial Intelligence (AI) equipped systems are prompting demands for ethical AI from all directions. As a response, in recent years public bodies, governments, and companies have rushed to provide guidelines and principles for how AI-based systems are designed and used ethically. We have learned, however, that high-le...
Chapter
Public sector is a large consumer for software. In countries such as Finland, many of the systems are made to order by consultancy companies that participate in public tenders. These tenders initiated by the state, cities, and other public sector organizations. Furthermore, as public sector tasks are often decomposed to various actors, each and eve...
Preprint
Full-text available
Assuring traceability from requirements to implementation is a key element when developing safety critical software systems. Traditionally, this traceability is ensured by a waterfall-like process, where phases follow each other, and tracing between different phases can be managed. However, new software development paradigms, such as continuous sof...
Article
It is widely accepted that personal responses to soundscapes are more dependent on listeners’ emotions and attitudes, than on sounds or their physical features alone. Fast-growing cities have catalyzed the importance of designing urban spaces that citizens find pleasant and homely and that support a communal style of living. Unfortunately, there ar...
Chapter
Full-text available
In 2020, the global COVID-19 pandemic affected almost every company in some way also in the Nordic countries. Depending on the different industry sectors of the companies, the impacts have varied from minor risks to severe disruptions but also even booming businesses. In all, agility and resilience have been required to continue and even to survive...
Preprint
Full-text available
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 prov...
Article
Product-centric techniques to analyze mobile applications leverage traditional source code analysis, size, market success, complexity, and others. Many of these techniques converge in the strategy of evaluating metrics taken from the source code that delivers the functionality of the software product. However, when following the Model-View-Controll...
Article
Full-text available
Agile software development embraces change and manifests working software over comprehensive documentation and responding to change over following a plan. The ability to continuously release software has enabled a development approach where experimental features are put to use, and, if they stand the test of real use, they remain in production. Exa...
Article
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 prov...
Chapter
Application Programming Interfaces (APIs) have become prevalent in today’s software systems and services. APIs are basically a technical means to realize the co-operation between software systems or services. While there are several guidelines for API development, the actually applied practices and challenges are less clear. To better understand th...
Conference Paper
Full-text available
Process invocations happen with almost every activity on a computer. To distinguish user input and potentially malicious activities, we need to better understand program invocations caused by commands. To achieve this, one must understand commands' objectives, possible parameters, and valid syntax. In this work, we collected commands' data by scrap...
Preprint
Full-text available
Context: Artificial intelligence (AI) has made its way into everyday activities, particularly through new techniques such as machine learning (ML). These techniques are implementable with little domain knowledge. This, combined with the difficulty of testing AI systems with traditional methods, has made system trustworthiness a pressing issue. Obje...
Article
Internet of Things development needs isomorphic software architectures, in which every kind of device can be programmed with a consistent set of implementation technologies, allowing applications and their components to be statically deployed or dynamically migrated without having to change their shape.
Article
Context Artificial intelligence (AI) has made its way into everyday activities, particularly through new techniques such as machine learning (ML). These techniques are implementable with little domain knowledge. This, combined with the difficulty of testing AI systems with traditional methods, has made system trustworthiness a pressing issue. Obje...
Chapter
The traditional definition of full stack development refers to a skill set that is required for writing software both for the frontend and backend of a web application or site. In recent years, the scope of full stack development has expanded significantly, though. Today, a full stack software developer is assumed to master various additional areas...
Chapter
Going all the way to IoT with web technologies opens up the door to isomorphic IoT system architectures, which deliver flexible deployment and live migration of code between any device in the overall system. In this vision paper, we propose using WebAssembly to implement lightweight containers and deliver the required portability. Our long-term vis...
Chapter
Nowadays, the number of devices connected to the Internet is growing at an unstoppable rate. This, added to the amount of information these devices produce, makes new techniques necessary to take advantage of their potential. New devices are continually being introduced in the daily life of people, and they are already producing an unprecedented am...
Chapter
Sonic environments of fast-growing urban areas are an integral part of the quality of our everyday living in cities. Due to the individual nature of the sonic experience, collecting and analyzing such experiences needs methods for gathering accurate and useful data about them. This paper describes how to incorporate the concept of soundscape into c...
Chapter
Today, smart environments require attention from the network level for connecting devices to the application level for adapting their behavior to continuously changing environmental conditions. Just as a smartphone can choose between using mobile internet or a WLAN connection, IoT applications that manage smart environments must know how to establi...
Preprint
Full-text available
We live in an era in which the most valued services are not paid for in money, but in personal data. Every day, service providers collect the personal information of billions of individuals, information that sustain their infrastructure by marketing profiles labeled with this information to personal data consumers, such as advertisers. Not all uses...
Preprint
Technical debt has become a common metaphor for the accumulation of software design and implementation choices that seek fast initial gains but that are under par and counterproductive in the long run. However, as a metaphor, technical debt does not offer actionable advice on how to get rid of it. To get to a practical level in solving problems, mo...
Preprint
Full-text available
Software of Unknown Provenance, SOUP, refers to a software component that is already developed and widely available from a 3rd party, and that has not been developed, to be integrated into a medical device. From regulatory perspective, SOUP software requires special considerations, as the developers' obligations related to design and implementation...
Preprint
Full-text available
The emerging age of connected, digital world means that there are tons of data, distributed to various organizations and their databases. Since this data can be confidential in nature, it cannot always be openly shared in seek of artificial intelligence (AI) and machine learning (ML) solutions. Instead, we need integration mechanisms, analogous to...
Preprint
Following continuous software engineering practices, there has been an increasing interest in rapid deployment of machine learning (ML) features, called MLOps. In this paper, we study the importance of MLOps in the context of data scientists' daily activities, based on a survey where we collected responses from 331 professionals from 63 different c...
Preprint
Full-text available
Increasingly common open data and open application programming interfaces (APIs) together with the progress of data science -- such as artificial intelligence (AI) and especially machine learning (ML) -- create opportunities to build novel services by combining data from different sources. In this experience report, we describe our firsthand experi...
Preprint
Full-text available
The medical device products at the European Union market must be safe and effective. To ensure this, medical device manufacturers must comply to the new regulatory requirements brought by the Medical Device Regulation (MDR) and the In Vitro Diagnostic Medical Device Regulation (IVDR). In general, the new regulations increase regulatory requirements...
Preprint
It is commonly claimed that the initial stages of any startup business are dominated by continuous, extended uncertainty, in an environment that has even been described as chaotic. Consequently, decisions are made in uncertain circumstances, so making the right decision is crucial to successful business. However, little currently exists in the way...
Preprint
Full-text available
There appears to be a common agreement that ethical concerns are of high importance when it comes to systems equipped with some sort of Artificial Intelligence (AI). Demands for ethical AI are declared from all directions. As a response, in recent years, public bodies, governments, and universities have rushed in to provide a set of principles to b...
Chapter
In agile transformations, agile principles and practices are applied across the organization – ultimately for an agile enterprise. Such company-wide changes are not straightforward and there are research needs to understand how they are successfully conducted and sustained. We have recently done an industrial agile survey in Finland (2018) and in S...
Chapter
Artificial intelligence (AI) and machine learning (ML) is becoming commonplace in numerous fields. As they are often embedded in the context of larger software systems, issues that are faced with software systems in general are also applicable to AI/ML. In this paper, we address ML systems and their characteristics in the light of software maintena...
Chapter
Assuring traceability from requirements to implementation is a key element when developing safety critical software systems. Traditionally, this traceability is ensured by a waterfall-like process, where phases follow each other, and tracing between different phases can be managed. However, new software development paradigms, such as continuous sof...
Chapter
To an increasing degree, data is a driving force for digitization, and hence also a key asset for numerous companies. In many businesses, various sources of data exist, which are isolated from one another in different domains, across a heterogeneous application landscape. Well-known centralized solution technologies, such as data warehouses and dat...