Embracing iterations in Quantum software: a vision
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 the process fail. This means that developers must assume a different attitude towards programming, and aim at error-free software before its execution. This is com monly facilitated using simulators, which are commonplace for both HPC and QC. However the fashion developers advance from one tool to another is ad-hoc, with no established software e…
Node co-activations as a means of error detection : Towards fault-tolerant neural networks
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 in neural networks (NN). These could be used to detect concept drift and flagging untrustworthy predictions. Method: We trained four NNs. For each, we studied how often each pair of nodes activates together. In a separate test set, we counted how many rare co-activations occurred with each input, and grouped the inputs based on whether its class…
Energizing Collaborative Industry-Academia Learning: A Present Case and Future Visions
AbstractIn 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, N4S) from a learning perspective. It was one of the programs in the Finnish SHOK (Strategic Centres of Science, Technology, and Innovation) system. The theoretical bases are in innovation management, knowledge management, and higher education (university) pedagogy. In the future, IAC projects should be more and more commonplace sinc…
The Role of Explainable AI in the Research Field of AI Ethics
Ethics of Artiicial Intelligence (AI) is a growing research ield that has emerged in response to the challenges related to AI. Transparency poses a key challenge for implementing AI ethics in practice. One solution to transparency issues is AI systems that can explain their decisions. Explainable AI (XAI) refers to AI systems that are interpretable or understandable to humans. The research ields of AI ethics and XAI lack a common framework and conceptualization. There is no clarity of the ield’s depth and versatility. A systematic approach to understanding the corpus is needed. A systematic review ofers an opportunity to detect research gaps and focus points. This paper presents the results…
Continuous design control for machine learning in certified medical systems
AbstractContinuous software engineering has become commonplace in numerous fields. However, in regulating intensive sectors, where additional concerns need 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, and apply this approach to machine learning in certified medical systems leveraging model cards, a novel technique developed to add explainability to machine learning systems, as a regulatory audit trail. The approach is demonstrated with an industrial system that we have used previously to show how medical systems can be developed in a con…
Data-driven value creation in digitalizing public service
Data has become an important asset in value creation. Organizations are dealing with a huge amount of data generated on different platforms. In dynamic environments, public organizations have an opportunity to make innovations by applying innovative technologies, implementing big data, and enabling data analytics capabilities that can create value. Evidence from the literature shows that organizations need data analytics capabilities to achieve data-driven value creation. In this chapter, based on a literature review and case example, the aim is to present the factors enabling public innovations from the big data analytics perspective; a theoretical framework for data-driven value creation …
From Agile Software Development to Mercury Business
The rapid downfall of the Nokia software ecosystem has radically altered the landscape of software industry in Finland in recent years. There has been a shift from largely corporate driven way of working, which is often dominant in large companies, to more agile practices, and in general software organizations are seeking new, leaner ways of composing, delivering, and using software also inside already established companies. To accelerate this transformation in large scale, a collaborative research program has been created, called Need for Speed (N4S). In this paper, we give an insight to the joint goals and concrete actions of the program and discuss the motivations of individual companies…
Supporting Agile Development by Facilitating Natural User Interaction with Executable Formal Specifications
Agile development benefits from fast feedback from various stakeholders. If implemented in a suitable way, formal methods can enhance the agile development process. With an executable formal specification, it is possible to analyse and simulate the behaviour of the target system before it is being built. However, for the users' and developers' natural participation in the development process, it is necessary to use a real end-user interface and bind it to the execution environment being used in the simulations and animations. This requires, though, that the execution model used to simulate the specification is appropriately changed to facilitate the use of these user interfaces. The authors…
Introducing Traceability in GitHub for Medical Software Development
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 software engineering and DevOps, which encourage a steady stream of new features, committed by developers in a seemingly uncontrolled fashion in terms of former phasing, challenge this view. In this paper, we introduce our approach that adds traceability capabilities to GitHub, so that the developers can act like they normally do in GitHub context bu…
Towards Human-Bot Collaborative Software Architecting with ChatGPT
Architecting software-intensive systems can be a complex process. It deals with the daunting tasks of unifying stakeholders' perspectives, designers' intellect, tool-based automation, pattern-driven reuse, and so on, to sketch a blueprint that guides software implementation and evaluation. Despite its benefits, architecture-centric software engineering (ACSE) inherits a multitude of challenges. ACSE challenges could stem from a lack of standardized processes, socio-technical limitations, and scarcity of human expertise etc. that can impede the development of existing and emergent classes of software (e.g., IoTs, blockchain, quantum systems). Software Development Bots (DevBots) trained on la…
On Supervising Master’s Theses in Industry Context
In software engineering, students easily find internships in companies while still studying. To combine their studies and employment, many of them seek to compose their final theses in an industry context, for the benefit of the employer as well as to simplify their context switching between job and studies. This can put the student between a rock and a hard place, as on one hand the employer has certain expectations in terms of working for the company, whereas the supervising professor needs to follow the university guidelines. An additional aspect worth considering is the university as an administrative home for the thesis and owner of the thesis process. In this paper, we study how the d…
Practices and Infrastructures for Machine Learning Systems : An Interview Study in Finnish Organizations
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. Peer reviewed
Towards Process Centered Architecting for Quantum Software Systems
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, development, and maintenance etc. phases of quantum software systems using architectural components and connectors. QSA can enable quantum software designers and developers to map the operations of Qubits to architectural components and connectors for implementing quantum software. This research aims to explore the role of QSAs by investigating (…
Exploring Virtual Reality as an Integrated Development Environment for Cyber-Physical Systems
Cyber Physical Systems (CPS) development approaches tend to start from the physical (hardware) perspective, and the software is the final element in the process. However, this approach is unfit for the more software-intensive world that is increasingly iterative, connected, and constantly online. Many constraints prevent the application of iterative, incremental, and agile development methodologies, which now are the norm for many other fields of software. Time-consuming system validation can only start when both hardware and software components are ready, which implies that the software delivery and quality is almost always the final bottleneck in the CPS development and integration. Also …
Towards a Secure DevOps Approach for Cyber-Physical Systems
With the expansion of cyber-physical systems (CPSs) across critical and regulated industries, systems must be continuously updated to remain resilient. At the same time, they should be extremely secure and safe to operate and use. The DevOps approach caters to business demands of more speed and smartness in production, but it is extremely challenging to implement DevOps due to the complexity of critical CPSs and requirements from regulatory authorities. In this study, expert opinions from 33 European companies expose the gap in the current state of practice on DevOps-oriented continuous development and maintenance. The study contributes to research and practice by identifying a set of needs…
Amidst Uncertainty–or Not? : Decision-Making in Early-Stage Software Startups
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 of empirical studies into this supposed uncertainty. In this paper, we study decision-making in early-stage software startups by means of a single, in-depth case study. Based on our data, we argue that software startups do not work in a chaotic environment, nor are they characterized by unique uncertainty unlike that experienced by other firms. pe…
Towards Seamless IoT Device-Edge-Cloud Continuum:
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 architecture and topology of IoT systems, e.g., in determining how much computation can be performed on the edge of the network. We study the implications of the IoT device architecture choices in light of the new observations, as well as make some new predictions about future directions. Additionally, we make a case for isomorphic IoT systems in whic…
Towards multi-concern software development with Everything-as-Code
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 approach that we call Everything-as-Code (EaC) beyond software engineers and operators. peerReviewed
ScrumBut as an Indicator of Process Debt
Technical debt analysis is used to detect problems in a codebase. Most technical debt indicators rely on measuring the quality of the code, as developers tend to induce recurring technical debt that emerges along with evolution cycles. This debt can emerge when project pressure leads to process deviations, for instance. In agile methods like Scrum, such deviations are commonly known as ScrumButs (like Scrum but …), which can be considered as a form of process debt. In this paper, we investigate two recurring signs of process debt (i.e. code smells and anti-patterns) caused by Scrumbuts. Our contribution investigates typical ScrumBut practices found in agile projects in one company and we re…
Quaternary Reversible Circuit Optimization for Scalable Multiplexer and Demultiplexer
Information loss is generally related to power consumption. Therefore, reducing information loss is an interesting challenge in designing digital systems. Quaternary reversible circuits have received significant attention due to their low-power design applications and attractive advantages over binary reversible logic. Multiplexer and demultiplexer circuits are crucial parts of computing circuits in ALU, and their efficient design can significantly affect the processors’ performance. A new scalable realization of quaternary reversible 4×1 multiplexer and 1×4 demultiplexer, based on quaternary 1-qudit Shift, 2-qudit Controlled Feynman, and 2-qudit Muthukrishnan-Stroud gates, is presented in …
Cargo-Cult Containerization : A Critical View of Containers in Modern Software Development
Software is increasingly developed and deployed using containers. While the concept of a container is conceptually straightforward, there are various issues to be considered while using them, ranging from technical details inside containers to the orchestration of containers that jointly form a meaningful application. In recent years, the use of containers has become so prevalent that developers have a tendency to resort to cargo-cult containerization - ritual adherence to the use of containers just because so many others are doing the same thing. In this paper, we study advantages and downsides of containers in modern-day software development. We foresee the use of containers to spread int…
Containers in Software Development: A Systematic Mapping Study
Over the past decade, continuous software development has become a common place in the field of software engineering. Containers like Docker are a lightweight solution that developers can use to deploy and manage applications. Containers are used to build both component-based architectures and microservice architectures. Still, practitioners often view containers only as way to lower resource requirements compared to virtual machines. In this paper, we conducted a systematic mapping study to find information on what is known of how containers are used in software development. 56 primary studies were selected into this paper and they were categorized and mapped to identify the gaps in the cu…
Migrating from a Centralized Data Warehouse to a Decentralized Data Platform Architecture
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 data lakes, exist to integrate data into one system, but they do not always scale well. Therefore, robust and decentralized ways to manage data can provide the companies with better value give companies a competitive edge over a single central repository. In this paper, we address why and when a monolithic data storage should be decentralized for imp…
Medical Software Needs Calm Compliance
The promise of calm computing, 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 an always-on Internet connection. peerReviewed
Elements of Sustainability for Public Sector Software : Mosaic Enterprise Architecture, Macroservices, and Low-Code
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 every one of them makes their purchase based on their own needs. In this paper, we argue that to maintain software sustainability in this context, there is a need for three key elements. Firstly, there is a need for an enterprise architecture where independent services from various vendors are can be easily deployed and integrated. Secondly, these se…
Agile Enterprise Transformations : Surveying the Many Facets of Agility for the Hybrid Era
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 are measured in various ways. In this paper, based on a recent industrial survey study, we scrutinize holistically why companies want to transform, what types of agility they are aiming at, and how they gauge transformations. The survey data was collected during the COVID-19 pandemic in 2020. Most of the respondents were in large or very large co…
Time for AI (Ethics) maturity model is now
Publisher Copyright: Copyright © 2021 for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0). 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 be considered when AI based systems are designed and used. We have learned, however, that high-level principles do not turn easily into actionable advice for practitioners. Hence, also companie…