Change search
Link to record
Permanent link

Direct link
BETA
Publications (10 of 45) Show all publications
Chatzipetrou, P., Papatheocharous, E., Wnuk, K., Borg, M., Alegroth, E. & Gorschek, T. (2019). Component attributes and their importance in decisions and component selection. Software quality journal, 1-27
Open this publication in new window or tab >>Component attributes and their importance in decisions and component selection
Show others...
2019 (English)In: Software quality journal, ISSN 0963-9314, E-ISSN 1573-1367, p. 1-27Article in journal (Refereed) Published
Abstract [en]

Component-based software engineering is a common approach in the development and evolution of contemporary software systems. Different component sourcing options are available, such as: (1) Software developed internally (in-house), (2) Software developed outsourced, (3) Commercial off-the-shelf software, and (4) Open-Source Software. However, there is little available research on what attributes of a component are the most important ones when selecting new components. The objective of this study is to investigate what matters the most to industry practitioners when they decide to select a component. We conducted a cross-domain anonymous survey with industry practitioners involved in component selection. First, the practitioners selected the most important attributes from a list. Next, they prioritized their selection using the Hundred-Dollar ($100) test. We analyzed the results using compositional data analysis. The results of this exploratory analysis showed that cost was clearly considered to be the most important attribute for component selection. Other important attributes for the practitioners were: support of the componentlongevity prediction, and level of off-the-shelf fit to product. Moreover, several practitioners still consider in-house software development to be the sole option when adding or replacing a component. On the other hand, there is a trend to complement it with other component sourcing options and, apart from cost, different attributes factor into their decision. Furthermore, in our analysis, nonparametric tests and biplots were used to further investigate the practitioners’ inherent characteristics. It seems that smaller and larger organizations have different views on what attributes are the most important, and the most surprising finding is their contrasting views on the cost attribute: larger organizations with mature products are considerably more cost aware.

Keywords
Component-based software engineering, Component sourcing options, Decision making, Compositional data analysis, Cumulative voting
National Category
Engineering and Technology
Identifiers
urn:nbn:se:ri:diva-39897 (URN)10.1007/s11219-019-09465-2 (DOI)
Available from: 2019-09-11 Created: 2019-09-11 Last updated: 2019-09-11
Cito, J., Wettinger, J., Lwakatare, L., Borg, M. & Li, F. (2019). Feedback from operations to software development—a devops perspective on runtime metrics and logs. In: Lect. Notes Comput. Sci.: . Paper presented at DEVOPS 2018: Software Engineering Aspects of Continuous Development and New Paradigms of Software Production and Deployment (pp. 184-195).
Open this publication in new window or tab >>Feedback from operations to software development—a devops perspective on runtime metrics and logs
Show others...
2019 (English)In: Lect. Notes Comput. Sci., 2019, p. 184-195Conference paper, Published paper (Refereed)
Abstract [en]

DevOps achieve synergy between software development and operations engineers. This synergy can only happen if the right culture is in place to foster communication between these roles. We investigate the relationship between runtime data generated during production and how this data can be used as feedback in the software development process. For that, we want to discuss case study organizations that have different needs on their operations-to-development feedback pipeline, from which we abstract and propose a more general, higher-level feedback process. Given such a process, we discuss a technical environment required to support this process. We sketch out different scenarios in which feedback is useful in different phases of the software development life-cycle.

Keywords
DevOps, Feedback, Software engineering, Computer software, Life cycle, Development and operations, Feedback process, Run-time data, Runtimes, Software development life cycle, Software development process, Technical environments, Software design
National Category
Natural Sciences
Identifiers
urn:nbn:se:ri:diva-37755 (URN)10.1007/978-3-030-06019-0_14 (DOI)2-s2.0-85061095685 (Scopus ID)9783030060183 (ISBN)
Conference
DEVOPS 2018: Software Engineering Aspects of Continuous Development and New Paradigms of Software Production and Deployment
Available from: 2019-02-13 Created: 2019-02-13 Last updated: 2019-02-13Bibliographically approved
Helali Moghadam, M., Saadatmand, M., Borg, M., Bohlin, M. & Lisper, B. (2019). Machine Learning to Guide Performance Testing: An Autonomous Test Framework. In: ICST Workshop on Testing Extra-Functional Properties and Quality Characteristics of Software Systems ITEQS'19, 2019: . Paper presented at ICST Workshop on Testing Extra-Functional Properties and Quality Characteristics of Software Systems ITEQS'19, 22 Apr 2019, Xi’an, China.
Open this publication in new window or tab >>Machine Learning to Guide Performance Testing: An Autonomous Test Framework
Show others...
2019 (English)In: ICST Workshop on Testing Extra-Functional Properties and Quality Characteristics of Software Systems ITEQS'19, 2019, 2019Conference paper, Published paper (Refereed)
Abstract [en]

Satisfying performance requirements is of great importance for performance-critical software systems. Performance analysis to provide an estimation of performance indices and ascertain whether the requirements are met is essential for achieving this target. Model-based analysis as a common approach might provide useful information but inferring a precise performance model is challenging, especially for complex systems. Performance testing is considered as a dynamic approach for doing performance analysis. In this work-in-progress paper, we propose a self-adaptive learning-based test framework which learns how to apply stress testing as one aspect of performance testing on various software systems to find the performance breaking point. It learns the optimal policy of generating stress test cases for different types of software systems, then replays the learned policy to generate the test cases with less required effort. Our study indicates that the proposed learning-based framework could be applied to different types of software systems and guides towards autonomous performance testing.

Keywords
performance requirements, performance testing, test case generation, reinforcement learning, autonomous testing, Engineering and Technology, Teknik och teknologier, Computer Systems, Datorsystem
National Category
Natural Sciences
Identifiers
urn:nbn:se:ri:diva-39327 (URN)10.1109/ICSTW.2019.00046 (DOI)2-s2.0-85068406208 (Scopus ID)
Conference
ICST Workshop on Testing Extra-Functional Properties and Quality Characteristics of Software Systems ITEQS'19, 22 Apr 2019, Xi’an, China
Available from: 2019-07-04 Created: 2019-07-04 Last updated: 2019-08-08Bibliographically approved
Modeus, G., Sandgren, P., Borg, M., Andersson, F., Wiel-Berggren, G. & Rosendahl, M. (2019). Mjukvara är Sveriges nya infrastruktur: här är nästa steg.
Open this publication in new window or tab >>Mjukvara är Sveriges nya infrastruktur: här är nästa steg
Show others...
2019 (Swedish)Report (Other academic)
Abstract [en]

I Sverige bedriver hela 35 procent av företagen egen mjukvaruutveckling.1 Data och mjukvarahar kommit att genomsyra i stort sett hela näringslivet och den offentliga sektorn – både iden operativa driften, men även i utvecklings- och innovationsarbetet.Det här är en utveckling som har gått mycket snabbt, vilket illustreras väl av att utgifter förmjukvara hos företag i Sverige har fördubblats från 25 miljarder kr år 2014 till 50 miljarder kr år2019.2 Men samtidigt som digitaliseringen accelererar och efterfrågan på mjukvaruutvecklingoch nya datatjänster blir allt större så kräver en fortsatt hög innovationstakt att lagstiftningenoch utbildningsväsendet anpassar sig efter det fält där en allt större del av svensk tillväxt skapas

Publisher
p. 20
Series
Teknikföretagen Swedsoft
National Category
Natural Sciences
Identifiers
urn:nbn:se:ri:diva-39333 (URN)
Available from: 2019-07-05 Created: 2019-07-05 Last updated: 2019-07-05Bibliographically approved
Henriksson, J., Berger, C., Borg, M., Tornberg, L., Sathyamoorthy, S. R. & Englund, C. (2019). Performance Analysis of Out-of-Distribution Detection on Various Trained Neural Networks. In: 2019 45th Euromicro Conference on Software Engineering and Advanced Applications (SEAA): . Paper presented at 2019 45th Euromicro Conference on Software Engineering and Advanced Applications (SEAA) (pp. 113-120).
Open this publication in new window or tab >>Performance Analysis of Out-of-Distribution Detection on Various Trained Neural Networks
Show others...
2019 (English)In: 2019 45th Euromicro Conference on Software Engineering and Advanced Applications (SEAA), 2019, p. 113-120Conference paper, Published paper (Refereed)
Abstract [en]

Several areas have been improved with Deep Learning during the past years. For non-safety related products adoption of AI and ML is not an issue, whereas in safety critical applications, robustness of such approaches is still an issue. A common challenge for Deep Neural Networks (DNN) occur when exposed to out-of-distribution samples that are previously unseen, where DNNs can yield high confidence predictions despite no prior knowledge of the input. In this paper we analyse two supervisors on two well-known DNNs with varied setups of training and find that the outlier detection performance improves with the quality of the training procedure. We analyse the performance of the supervisor after each epoch during the training cycle, to investigate supervisor performance as the accuracy converges. Understanding the relationship between training results and supervisor performance is valuable to improve robustness of the model and indicates where more work has to be done to create generalized models for safety critical applications.

Keywords
deep-neural-networks, -robustness, -out-of-distribution, -automotive-perception
National Category
Natural Sciences
Identifiers
urn:nbn:se:ri:diva-42595 (URN)10.1109/SEAA.2019.00026 (DOI)
Conference
2019 45th Euromicro Conference on Software Engineering and Advanced Applications (SEAA)
Available from: 2020-01-10 Created: 2020-01-10 Last updated: 2020-01-10
Trubiani, C., Jamshidi, P., Cito, J., Shang, W., Jiang, Z. M. & Borg, M. (2019). Performance Issues?: Hey DevOps, Mind the Uncertainty!. IEEE Software, 36(2), 110-117, Article ID 8501933.
Open this publication in new window or tab >>Performance Issues?: Hey DevOps, Mind the Uncertainty!
Show others...
2019 (English)In: IEEE Software, ISSN 0740-7459, E-ISSN 1937-4194, Vol. 36, no 2, p. 110-117, article id 8501933Article in journal (Refereed) Published
Abstract [en]

DevOps is a novel trend that aims to bridge the gap between software development and operation teams. When applied to the performance evaluation process, it brings new challenges since developers need to be aware of the deployment settings and application runtime characteristics. At the operational stage, several uncertainties, e.g., workload fluctuations and resource availability, may affect the performance analysis. The goal of this paper is to identify the uncertain parameters and quantify their propagation to performance analysis results, in order to bring upfront the main system criticisms. To this end, we make use of a popular big data system showing that the sources of uncertainty may span on different characteristics and the performance analysis results can be heavily affected by these uncertainties. The paper contributes as an experience report aiming to better identify performance uncertainties through a case study. It provides a step-by-step guide to practitioners for controlling system uncertainties.

Keywords
DevOps, Performance Analysis, Software Development, Uncertainty, Big data, Software design, Software engineering, Development and operations, Performance evaluations, Resource availability, Sources of uncertainty, Uncertain parameters, Uncertainty analysis
National Category
Natural Sciences
Identifiers
urn:nbn:se:ri:diva-36541 (URN)10.1109/MS.2018.2875989 (DOI)2-s2.0-85055138945 (Scopus ID)
Available from: 2018-11-27 Created: 2018-11-27 Last updated: 2019-07-01Bibliographically approved
Vogelsang, A. & Borg, M. (2019). Requirements Engineering for Machine Learning: Perspectives from Data Scientists.
Open this publication in new window or tab >>Requirements Engineering for Machine Learning: Perspectives from Data Scientists
2019 (English)In: Article in journal (Refereed) In press
Abstract [en]

Machine learning (ML) is used increasingly in real-world applications. In this paper, we describe our ongoing endeavor to define characteristics and challenges unique to Requirements Engineering (RE) for ML-based systems. As a first step, we interviewed four data scientists to understand how ML experts approach elicitation, specification, and assurance of requirements and expectations. The results show that changes in the development paradigm, i.e., from coding to training, also demands changes in RE. We conclude that development of ML systems demands requirements engineers to: (1) understand ML performance measures to state good functional requirements, (2) be aware of new quality requirements such as explainability, freedom from discrimination, or specific legal requirements, and (3) integrate ML specifics in the RE process. Our study provides a first contribution towards an RE methodology for ML systems.

National Category
Engineering and Technology
Identifiers
urn:nbn:se:ri:diva-40582 (URN)
Available from: 2019-10-22 Created: 2019-10-22 Last updated: 2019-12-04Bibliographically approved
Borg, M., Englund, C., Wnuk, K., Duran, B., Levandowski, C., Gao, S., . . . Törnqvist, J. (2019). Safely Entering the Deep: A Review of Verification and Validation for Machine Learning and a Challenge Elicitation in the Automotive Industry. Journal of Automotive Software Engineering, 1(1), 1-13
Open this publication in new window or tab >>Safely Entering the Deep: A Review of Verification and Validation for Machine Learning and a Challenge Elicitation in the Automotive Industry
Show others...
2019 (English)In: Journal of Automotive Software Engineering, Vol. 1, no 1, p. 1-13Article in journal (Refereed) Published
Abstract [en]

Deep neural networks (DNNs) will emerge as a cornerstone in automotive software engineering. However, developing systems with DNNs introduces novel challenges for safety assessments. This paper reviews the state-of-the-art in verification and validation of safety-critical systems that rely on machine learning. Furthermore, we report from a workshop series on DNNs for perception with automotive experts in Sweden, confirming that ISO 26262 largely contravenes the nature of DNNs. We recommend aerospace-to-automotive knowledge transfer and systems-based safety approaches, for example, safety cage architectures and simulated system test cases.

Keywords
Deep learning, Safety-critical systems, Machine learning, Verification and validation, ISO 26262
National Category
Natural Sciences
Identifiers
urn:nbn:se:ri:diva-39335 (URN)10.2991/jase.d.190131.001 (DOI)
Available from: 2019-07-05 Created: 2019-07-05 Last updated: 2019-07-05Bibliographically approved
Borg, M., Chatzipetrou, P., Wnuk, K., Alégroth, E., Gorschek, T., Papatheocharous, E., . . . Axelsson, J. (2019). Selecting component sourcing options: A survey of software engineering's broader make-or-buy decisions. Information and Software Technology, 112, 18-34
Open this publication in new window or tab >>Selecting component sourcing options: A survey of software engineering's broader make-or-buy decisions
Show others...
2019 (English)In: Information and Software Technology, ISSN 0950-5849, E-ISSN 1873-6025, Vol. 112, p. 18-34Article in journal (Refereed) Published
Abstract [en]

Context: Component-based software engineering (CBSE) is a common approach to develop and evolve contemporary software systems. When evolving a system based on components, make-or-buy decisions are frequent, i.e., whether to develop components internally or to acquire them from external sources. In CBSE, several different sourcing options are available: (1) developing software in-house, (2) outsourcing development, (3) buying commercial-off-the-shelf software, and (4) integrating open source software components. Objective: Unfortunately, there is little available research on how organizations select component sourcing options (CSO) in industry practice. In this work, we seek to contribute empirical evidence to CSO selection. Method: We conduct a cross-domain survey on CSO selection in industry, implemented as an online questionnaire. Results: Based on 188 responses, we find that most organizations consider multiple CSOs during software evolution, and that the CSO decisions in industry are dominated by expert judgment. When choosing between candidate components, functional suitability acts as an initial filter, then reliability is the most important quality. Conclusion: We stress that future solution-oriented work on decision support has to account for the dominance of expert judgment in industry. Moreover, we identify considerable variation in CSO decision processes in industry. Finally, we encourage software development organizations to reflect on their decision processes when choosing whether to make or buy components, and we recommend using our survey for a first benchmarking.

Place, publisher, year, edition, pages
Elsevier B.V., 2019
Keywords
Component-based software engineering, Decision making, Software architecture, Sourcing, Survey, Decision support systems, Open systems, Software design, Surveying, Surveys, Commercial off-the-shelf softwares, Industry practices, Make-or-buy decisions, Online questionnaire, Software development organizations, Software Evolution, Open source software
National Category
Natural Sciences
Identifiers
urn:nbn:se:ri:diva-38474 (URN)10.1016/j.infsof.2019.03.015 (DOI)2-s2.0-85064013176 (Scopus ID)
Note

 Funding details: Stiftelsen för Kunskaps- och Kompetensutveckling; Funding text 1: The work is partially supported by a research grant for the ORION project (reference number 20140218 ) from The Stiftelsen för Kunskaps- och Kompetensutveckling in Sweden. The authors have no competing interests to declare.

Available from: 2019-05-03 Created: 2019-05-03 Last updated: 2019-07-01Bibliographically approved
Olsson, T., Hell, M., Höst, M., Franke, U. & Borg, M. (2019). Sharing of vulnerability information amongcompanies: a survey of Swedish companies. In: : . Paper presented at Euromicro Conference on Software Engineering and Advanced Applications 2019, August 28-30, 2019 Kallithea, Chalkidiki, Greece.
Open this publication in new window or tab >>Sharing of vulnerability information amongcompanies: a survey of Swedish companies
Show others...
2019 (English)Conference paper, Published paper (Refereed)
Abstract [en]

Software products are rarely developed from scratch and vulnerabilities in such products might reside in parts that are either open source software or provided by another organization. Hence, the total cybersecurity of a product often depends on cooperation, explicit or implicit, between several organizations. We study the attitudes and practices of companies in software ecosystems towards sharing vulnerability information. Furthermore, we compare these practices to contemporary cybersecurity recommendations. This is performed through a questionnaire-based qualitative survey. The questionnaire is divided into two parts: the providers' perspective and the acquirers' perspective. The results show that companies are willing to share information with each other regarding vulnerabilities. Sharing is not considered to be harmful neither to the cybersecurity nor their business, even though a majority of the respondents consider vulnerability information sensitive. However, the companies, despite being open to sharing, are less inclined to proactively sharing vulnerability information. Furthermore, the providers do not perceive that there is a large interest in vulnerability information from their customers. Hence, the companies' overall attitude to sharing vulnerability information is passive but open. In contrast, contemporary cybersecurity guidelines recommend active disclosure and sharing among actors in an ecosystem.

National Category
Engineering and Technology
Identifiers
urn:nbn:se:ri:diva-40577 (URN)
Conference
Euromicro Conference on Software Engineering and Advanced Applications 2019, August 28-30, 2019 Kallithea, Chalkidiki, Greece
Available from: 2019-10-22 Created: 2019-10-22 Last updated: 2019-12-04Bibliographically approved
Identifiers
ORCID iD: ORCID iD iconorcid.org/0000-0001-7879-4371

Search in DiVA

Show all publications
v. 2.35.9