1. |
- Ampatzoglou, Areti, et al.
(author)
-
The Perception of Technical Debt in the Embedded Systems Domain: An Industrial Case Study
- 2016
-
In: 8th IEEE International Workshop on Managing Technical Debt (MTD). - 2377-8571. - 9781509038541 ; , s. 9-16
-
Conference paper (peer-reviewed)abstract
- Technical Debt Management (TDM) has drawn the attention of software industries during the last years, including embedded systems. However, we currently lack an overview of how practitioners from this application domain perceive technical debt. To this end, we conducted a multiple case study in the embedded systems industry, to investigate: (a) the expected lifetime of components that have TD, (b) the most frequently occurring types of TD in them, and (c) the significance of TD against run-time quality attributes. The case study was performed on seven embedded systems industries (telecommunications, printing, smart manufacturing, sensors, etc.) from five countries (Greece, Netherlands, Sweden, Austria, and Finland). The results of the case study suggest that: (a) maintainability is more seriously considered when the expected lifetime of components is larger than ten years; (b) the most frequent types of debt are test, architectural, and code debt; and (c) in embedded systems the run-time qualities are prioritized compared to design-time qualities that are usually associated with TD. The obtained results can be useful for both researchers and practitioners: the former can focus their research on the most industrially-relevant aspects of TD, whereas the latter can be informed about the most common types of TD and how to focus their TDM processes.
|
|
2. |
- Ampatzoglou, Apostolos, et al.
(author)
-
Design pattern alternatives: What to do when a GoF pattern fails
- 2013
-
In: ACM International Conference Proceeding Series. - New York, NY, USA : ACM. ; , s. 122-127
-
Conference paper (peer-reviewed)abstract
- Design patterns have been introduced in the field of software engineering in the middle of 90s as common solutions to common design problems. Until now, the effect of design patterns on software quality attributes has been studied by many researchers. However, the results are not the expected ones, in the sense that several studies suggest that there are cases when a design pattern is not the optimum way of designing a system. In this paper, we present the findings of a systematic literature review that aims at cataloging published design solutions, referenced as alternative design solutions, which are equivalent to design patterns and can be used when a design pattern instance is not the optimum design solution for a specific design problem. Copyright © 2013 ACM.
|
|
3. |
- Avgeriou, Paris C, et al.
(author)
-
An Overview and Comparison of Technical Debt Measurement Tools
- 2021
-
In: IEEE Software. - 1937-4194 .- 0740-7459. ; 38:3, s. 61-71
-
Journal article (peer-reviewed)abstract
- There are numerous commercial tools and research prototypes that offer support for measuring technical debt. However, different tools adopt different terms, metrics, and ways to identify and measure technical debt. These tools offer diverse features, and their popularity / community support varies significantly. Therefore, (a) practitioners face difficulties when trying to select a tool matching their needs; and (b) the concept of technical debt and its role in software development is blurred. We attempt to clarify the situation by comparing the features and popularity of technical debt measurement tools, and analyzing the existing empirical evidence on their validity. Our findings can help practitioners to find the most suitable tool for their purposes, and researchers by highlighting the current tool shortcomings.
|
|
4. |
- Feitosa, Daniel, et al.
(author)
-
Design approaches for critical embedded systems: A systematic mapping study
- 2018
-
In: Communications in Computer and Information Science. - Cham : Springer International Publishing. - 1865-0937 .- 1865-0929. ; 866, s. 243-274
-
Conference paper (peer-reviewed)abstract
- Critical Embedded Systems (CES) are systems in which failures are potentially catastrophic and, therefore, hard constraints are imposed on them. In the last years the amount of software accommodated within CES has considerably changed. For example, in smart cars the amount of software has grown about 100 times compared to previous years. This change means that software design for these systems is also bounded to hard constraints (e.g., high security and performance). Along the evolution of CES, the approaches for designing them are also changing rapidly, so as to fit the specialized needs of CES. Thus, a broad understanding of such approaches is missing. Therefore, this study aims to establish a fair overview on CESs design approaches. For that, we conducted a Systematic Mapping Study (SMS), in which we collected 1,673 papers from five digital libraries, filtered 269 primary studies, and analyzed five facets: design approaches, applications domains, critical quality attributes, tools, and type of evidence. Our findings show that the body of knowledge is vast and overlaps with other types of systems (e.g., real-time or cyber-physical systems). In addition, we have observed that some critical quality attributes are common among various application domains, as well as approaches and tools are oftentimes generic to CES.
|
|
5. |
- Soudris, Dimitrios, et al.
(author)
-
EXA2PRO programming environment: Architecture and Applications
- 2018
-
In: 2018 INTERNATIONAL CONFERENCE ON EMBEDDED COMPUTER SYSTEMS: ARCHITECTURES, MODELING, AND SIMULATION (SAMOS XVIII). - New York, NY, USA : ASSOC COMPUTING MACHINERY. - 9781450364942 ; , s. 202-209
-
Conference paper (peer-reviewed)abstract
- The EXA2PRO programming environment will integrate a set of tools and methodologies that will allow to systematically address many exascale computing challenges, including performance, performance portability, programmability, abstraction and reusability, fault tolerance and technical debt. The EXA2PRO tool-chain will enable the efficient deployment of applications in exascale computing systems, by integrating high-level software abstractions that offer performance portability and efficient exploitation of exascale systems heterogeneity, tools for efficient memory management, optimizations based on trade-offs between various metrics and fault-tolerance support. Hence, by addressing various aspects of productivity challenges, EXA2PRO is expected to have significant impact in the transition to exascale computing, as well as impact from the perspective of applications. The evaluation will be based on 4 applications from 4 different domains that will be deployed in JUELICH supercomputing center. The EXA2PRO will generate exploitable results in the form of a tool-chain that support diverse exascale heterogeneous supercomputing centers and concrete improvements in various exascale computing challenges.
|
|
6. |
- Zabardast, Ehsan, 1990-
(author)
-
Understanding Asset Degradation in Software Engineering
- 2023
-
Doctoral thesis (other academic/artistic)abstract
- Background: As software is everywhere, and almost every company has nowadays a dependency on software, designing and developing software-intensive products or services has become significantly challenging and time-consuming. The challenges are due to the continuous growth of the size and complexity of software and the fast pace of change. It is important that software-developing organisations’ engineering practices adapt to the rising challenges by adopting well-engineered development activities. Organisations deal with many software artefacts, some of which are more relevant for the organisation. We define Software Assets as artefacts intended to be used more than once. Given softwared evelopment’s continuous and evolutionary aspect, the assets involved degrade over time. Organisations need to understand what assets are relevant and how they degrade to exercise quality control over software assets. Asset degradation is inevitable, and it may manifest in different ways. Objective: The main objective of this thesis is: (i) to contribute to the software engineering body of knowledge by providing an understanding of what assets are and how they degrade; and (ii) to gather empirical evidence regarding asset degradation and different factors that might impact it on industrial settings. Method: To achieve the thesis goals, several studies have been conducted. The collected data is from peer-reviewed literature and collaboration with five companies that included extracting archival data from over 20 million LOC and archival data from open-source repositories. Results: The first contribution of this thesis is defining the concept of assets and asset degradation in a position paper. We aim to provide an understanding of software assets and asset degradation and its impact on software development. Additionally, a taxonomy of assets is created using academic and industrial input. The taxonomy includes 57 assets and their categories. To further investigate the concept of asset degradation, we have conducted in-depth analyses of multiple industrial case studies on selected assets. This thesis presents results to provide evidence on the impact of different factors on asset degradation, including: (I) how the accumulation of technical debt is affected by different development activities; (ii) how degradation ‘survives’; and (iii) how working from home or the misalignment between ownership and contribution impacts the faster accumulation of asset degradation. Additionally, we created a model to calculate the degree of the alignment between ownership and contribution to code. Conclusion: The results can help organisations identify and understand the relevant software assets and characterize their quality degradation. Understanding how assets degrade and which factors might impact their faster accumulation is the first step to conducting sufficient and practical asset management activities. For example, by engaging (i) proactively in preventing uncontrolled growth of degradation (e.g., aligning ownership and contribution); and (ii) reactively in prioritizing mitigation strategies and activities (focusing on recently introducing TD items).
|
|