hh.sePublications
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
A classification of product sampling for software product lines
Halmstad University, School of Information Technology, Halmstad Embedded and Intelligent Systems Research (EIS), Centre for Research on Embedded Systems (CERES).
Pure-Systems GmbH, Neustadt, Germany.
Technische Universität, Braunschweig, Braunschweig, Germany.
Technische Universität, Braunschweig, Braunschweig, Germany.
Show others and affiliations
2018 (English)In: SPLC '18 Proceedings of the 22nd International Systems and Software Product Line Conference - Volume 1 / [ed] Berger et al., New York, NY: Association for Computing Machinery (ACM), 2018, p. 1-13Conference paper, Published paper (Refereed)
Abstract [en]

The analysis of software product lines is challenging due to the potentially large number of products, which grow exponentially in terms of the number of features. Product sampling is a technique used to avoid exhaustive testing, which is often infeasible. In this paper, we propose a classification for product sampling techniques and classify the existing literature accordingly. We distinguish the important characteristics of such approaches based on the information used for sampling, the kind of algorithm, and the achieved coverage criteria. Furthermore, we give an overview on existing tools and evaluations of product sampling techniques. We share our insights on the state-of-the-art of product sampling and discuss potential future work. © 2018 Association for Computing Machinery.

Place, publisher, year, edition, pages
New York, NY: Association for Computing Machinery (ACM), 2018. p. 1-13
Series
ACM International Conference Proceeding Serie
Keywords [en]
Domain models, Feature interaction, Sampling algorithms, Software product lines, Testing, Software design, Software testing, Coverage criteria, Domain model, Exhaustive testing, Feature interactions, Product samplings, Sampling algorithm, Software Product Line, State of the art, Importance sampling
National Category
Production Engineering, Human Work Science and Ergonomics
Identifiers
URN: urn:nbn:se:hh:diva-38742DOI: 10.1145/3233027.3233035Scopus ID: 2-s2.0-85055486094ISBN: 9781450363716 (print)ISBN: 9781450364645 (print)OAI: oai:DiVA.org:hh-38742DiVA, id: diva2:1277572
Conference
22nd International Systems and Software Product Line Conference, SPLC 2018, Gothenburg, Sweden, 10-14 September, 2018
Note

Funding: partially supported by the European project ITEA 3 15010 REV aMP2 and by the German Research Foundation within the project IMoTEP (grant agreement LO 2198/2-1).

Available from: 2019-01-10 Created: 2019-01-10 Last updated: 2019-02-15Bibliographically approved
In thesis
1. Modeling and Model-Based Testing of Software Product Lines
Open this publication in new window or tab >>Modeling and Model-Based Testing of Software Product Lines
2019 (English)Doctoral thesis, comprehensive summary (Other academic)
Abstract [en]

Software product line (SPL) engineering has become common practice for mass production and customization of variability intensive systems. A software product line comprises a family of software systems which share a managed core set of artifacts and also have a set of well-defined variabilities. The main idea in SPL engineering is to enable systematic reuse in different phases of software development to reduce cost and time to release.

Model-Based Testing (MBT) is a technique that is widely used for quality assurance of software systems. In MBT, an abstract model, which captures the desired behavior of the system, is used to generate test cases. The test cases are executed against a real implementation of the system and the conformance between the implementation and the specification is checked by comparing the observed outputs with the ones prescribed by the model.

Software product lines have been applied in a number of domains with mission critical systems. MBT is one of the techniques that has been used for analysis of such systems. As the number of products can be potentially large in an SPL, using conventional approaches for MBT of the products of an SPL individually can be very costly and time consuming. To tackle this problem, several approaches have been proposed in order to enable systematic reuse in different phases of the MBT process.

An efficient modeling technique is the first step towards an efficient MBT technique for SPLs. So far, several formalisms have been proposed for modeling SPLs. In this thesis, we conduct a study on such modeling techniques, focusing on four fundamental formalisms, namely featured transition systems, modal transition systems, product line calculus of communicating systems, and 1- selecting modal transition systems. We compare the expressive power and the succinctness of these formalisms.

Furthermore, we investigate adapting existing MBT methods for efficient testing of SPLs. As a part of this line of our research, we adapt the test case generation algorithm of one of the well-known black-box testing approaches, namely, Harmonized State Identification (HSI) method by exploiting the idea of delta-oriented programming. We apply the adapted test case generation algorithm to a case study taken from industry and the results show up to 50 percent reduction of time in test case generation by using the delta-oriented HSI method.

In line with our research on investigating existing MBT techniques, we compare the relative efficiency and effectiveness of the test case generation algorithms of the well-known Input-Output Conformance (ioco) testing approach and the complete ioco which is another testing technique used for input output transition systems that guarantees fault coverage. The comparison is done using three case studies taken from the automotive and railway domains. The obtained results show that complete ioco is more efficient in detecting deep faults (i.e., the faults reached through longer traces) in large state spaces while ioco is more efficient in detecting shallow faults (i.e., the faults reached through shorter traces) in small state spaces.

Moreover, we conduct a survey on sampling techniques, which have been proposed as a solution for handling the large number of products in analysis. In general, in product sampling a subset of products that collectively cover the behavior of the product line are selected. Performing tests on well selected sample set can reveal most of the faults in all products. We provide a classification for a catalog of studies on product sampling for software product lines. Additionally, we present a number of insights on the studied work as well as gaps for the future research.

Place, publisher, year, edition, pages
Halmstad: Halmstad University Press, 2019
Series
Halmstad University Dissertations ; 54
National Category
Computer Systems
Identifiers
urn:nbn:se:hh:diva-38921 (URN)978-91-88749-16-1 (ISBN)978-91-88749-17-8 (ISBN)
Public defence
2019-02-27, HAV, H22, Kristian IV:s väg 3, Halmstad, 13:00 (English)
Opponent
Supervisors
Available from: 2019-02-18 Created: 2019-02-15 Last updated: 2019-04-25Bibliographically approved

Open Access in DiVA

No full text in DiVA

Other links

Publisher's full textScopus

Authority records BETA

Varshosaz, MahsaMousavi, Mohammad Reza

Search in DiVA

By author/editor
Varshosaz, MahsaMousavi, Mohammad Reza
By organisation
Centre for Research on Embedded Systems (CERES)
Production Engineering, Human Work Science and Ergonomics

Search outside of DiVA

GoogleGoogle Scholar

doi
isbn
urn-nbn

Altmetric score

doi
isbn
urn-nbn
Total: 17 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf