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
Modeling and Model-Based Testing of Software Product Lines
Halmstad University, School of Information Technology, Halmstad Embedded and Intelligent Systems Research (EIS), Centre for Research on Embedded Systems (CERES).
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: urn:nbn:se:hh:diva-38921ISBN: 978-91-88749-16-1 (print)ISBN: 978-91-88749-17-8 (electronic)OAI: oai:DiVA.org:hh-38921DiVA, id: diva2:1289043
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
List of papers
1. Delta-Oriented FSM-Based Testing
Open this publication in new window or tab >>Delta-Oriented FSM-Based Testing
2015 (English)In: Formal Methods and Software Engineering: 17th International Conference on Formal Engineering Methods, ICFEM 2015, Paris, France, November 3-5, 2015, Proceedings / [ed] Michael Butler, Sylvain Conchon & Fatiha Zaïdi, Cham: Springer, 2015, Vol. 9407, p. 366-381Conference paper, Published paper (Refereed)
Abstract [en]

We use the concept of delta-oriented programming to organize FSM-based test models in an incremental structure. We then exploit incremental FSM-based testing to make efficient use of this high-level structure in generating test cases. We show how our approach can lead to more efficient test-case generation, both by analyzing the complexity of the test-case generation algorithm and by applying the technique to a case study. © Springer International Publishing Switzerland 2015

Place, publisher, year, edition, pages
Cham: Springer, 2015
Series
Lecture Notes in Computer Science, ISSN 0302-9743 ; 9407
Keywords
Model-Based Testing, FSM-based Testing, HSI Method, Software Product Lines, Delta-Oriented Programming, DeltaJava
National Category
Computer and Information Sciences
Identifiers
urn:nbn:se:hh:diva-29999 (URN)10.1007/978-3-319-25423-4_24 (DOI)2-s2.0-84949239517 (Scopus ID)978-3-319-25422-7 (ISBN)978-3-319-25423-4 (ISBN)
Conference
17th International Conference on Formal Engineering Methods (ICFEM 2015), Paris, France, November 3-5, 2015
Projects
EFFEMBACAUTO-CAAS
Funder
ELLIIT - The Linköping‐Lund Initiative on IT and Mobile CommunicationsSwedish Research Council, 621-2014-5057Knowledge Foundation
Note

M.R. Mousavi—The work has been partially supported by the Swedish Research Council award number: 621-2014-5057 and the Swedish Knowledge Foundation in the context of the AUTO-CAAS HöG project.

Available from: 2015-12-09 Created: 2015-12-09 Last updated: 2019-02-15Bibliographically approved
2. Basic behavioral models for software product lines: Expressiveness and testing pre-orders
Open this publication in new window or tab >>Basic behavioral models for software product lines: Expressiveness and testing pre-orders
2016 (English)In: Science of Computer Programming, ISSN 0167-6423, E-ISSN 1872-7964, Vol. 123, p. 42-60Article in journal (Refereed) Published
Abstract [en]

In order to provide a rigorous foundation for Software Product Lines (SPLs), several fundamental approaches have been proposed to their formal behavioral modeling. In this paper, we provide a structured overview of those formalisms based on labeled transition systems and compare their expressiveness in terms of the set of products they can specify. Moreover, we define the notion of tests for each of these formalisms and show that our notions of testing precisely capture product derivation, i.e., all valid products will pass the set of test cases of the product line and each invalid product fails at least one test case of the product line. © 2015 The Authors.

Place, publisher, year, edition, pages
Amsterdam: Elsevier, 2016
Keywords
Software product lines, Formal specification, Behavioral specification, Labeled transition systems, Featured transition systems, Modal transition systems, Calculus of communicating systems (CCS), Product line CCS (PL-CCS)
National Category
Computer Sciences
Identifiers
urn:nbn:se:hh:diva-29104 (URN)10.1016/j.scico.2015.06.005 (DOI)000374367600003 ()2-s2.0-84937604468 (Scopus ID)
Conference
29th Symposium On Applied Computing, Gyeongju, South Korea, March 24-28, 2014
Projects
EFFEMBAC
Funder
Swedish Research Council, 621-2014-5057Knowledge Foundation, 20140312
Note

Issue with selected and extended papers from ACM SVT 2014.

Available from: 2015-08-10 Created: 2015-08-10 Last updated: 2019-02-15Bibliographically approved
3. Complete IOCO Test Cases: A Case Study
Open this publication in new window or tab >>Complete IOCO Test Cases: A Case Study
2016 (English)In: A-TEST 2016 - Proceedings of the 7th International Workshop on Automating Test Case Design, Selection, and Evaluation, co-located with FSE 2016, New York, NY: ACM Press, 2016, p. 38-44Conference paper, Published paper (Refereed)
Abstract [en]

Input/Output Transition Systems (IOTSs) have been widely used as test models in model-based testing. Traditionally, input output conformance testing (IOCO) has been used to generate random test cases from IOTSs. A recent test case generation method for IOTSs, called Complete IOCO, applies fault models to obtain complete test suites with guaranteed fault coverage for IOTSs. This paper measures the efficiency of Complete IOCO in comparison with the traditional IOCO test case generation implemented in the JTorX tool. To this end, we use a case study involving five specification models from the automotive and the railway domains. Faulty mutations of the specifications were produced in order to compare the efficiency of both test generation methods in killing them. The results indicate that Complete IOCO is more efficient in detecting deep faults in large state spaces while IOCO is more efficient in detecting shallow faults in small state spaces. © 2016 ACM.

Place, publisher, year, edition, pages
New York, NY: ACM Press, 2016
Keywords
Conformance testing, Input output conformance (IOCO), Complete input output conformance, Mealy input output transition systems, fault models
National Category
Computer and Information Sciences
Identifiers
urn:nbn:se:hh:diva-33212 (URN)10.1145/2994291.2994297 (DOI)2-s2.0-85007035449 (Scopus ID)978-1-4503-4401-2 (ISBN)
Conference
7th International Workshop on Automating Test Case Design, Selection, and Evaluation (A-TEST 2016), Seattle, WA, USA, November 18, 2016
Projects
VR Project EFFEMBACKKS Project AUTO-CAAS
Funder
ELLIIT - The Linköping‐Lund Initiative on IT and Mobile CommunicationsSwedish Research Council, 621-2014-5057Knowledge Foundation, 20140312
Note

The research of S. C. Paiva and A. Simao have been supported by Sao Paulo Research Foundation (Grants 2012/09650-5 and 2012/02232-3), Coordination for the Improvement of Higher Education Personnel and National Counsel of Technological and Scientic Development.

Available from: 2017-02-06 Created: 2017-02-06 Last updated: 2019-02-15Bibliographically approved
4. Basic Behavioral Models For Software Product Lines: Revisited
Open this publication in new window or tab >>Basic Behavioral Models For Software Product Lines: Revisited
2018 (English)In: Science of Computer Programming, ISSN 0167-6423, E-ISSN 1872-7964, Vol. 168, p. 171-185Article in journal (Other academic) Published
Abstract [en]

In Beohar et al. (2016) [9], we established an expressiveness hierarchy and studied the notions of refinement and testing for three fundamental behavioral models for software product lines. These models were featured transition systems, product line labeled transition systems, and modal transition systems. It turns out that our definition of product line labeled transition systems is more restrictive than the one introduced by Gruler, Leucker, and Scheidemann. Adopting the original and more liberal notion changes the expressiveness results, as we demonstrate in this paper. Namely, we show that the original notion of product line labeled transition systems and featured transition systems are equally expressive. As an additional result, we show that there are featured transition systems for which the size of the corresponding product line labeled transition system, resulting from any sound encoding, is exponentially larger than the size of the original model. Furthermore, we show that each product line labeled transition system can be encoded into a featured transition system, such that the size of featured transition system is linear in terms of the size of the corresponding model. To summarize, featured transition systems are equally expressive as, but exponentially more succinct than, product line labeled transition systems. © 2018 Elsevier B.V.

Place, publisher, year, edition, pages
Amsterdam: Elsevier, 2018
Keywords
Software product lines, Behavioral model, Featured transition systems, Calculus of communicating systems, Product line labeled transition systems
National Category
Embedded Systems
Identifiers
urn:nbn:se:hh:diva-33892 (URN)10.1016/j.scico.2018.09.001 (DOI)2-s2.0-85054040481 (Scopus ID)
Projects
AUTO-CAAS HoG
Funder
Knowledge Foundation, 20140312Swedish Research Council, 621-2014-5057ELLIIT - The Linköping‐Lund Initiative on IT and Mobile Communications
Available from: 2017-05-26 Created: 2017-05-26 Last updated: 2019-02-15Bibliographically approved
5. A classification of product sampling for software product lines
Open this publication in new window or tab >>A classification of product sampling for software product lines
Show others...
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
Series
ACM International Conference Proceeding Serie
Keywords
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:nbn:se:hh:diva-38742 (URN)10.1145/3233027.3233035 (DOI)2-s2.0-85055486094 (Scopus ID)9781450363716 (ISBN)9781450364645 (ISBN)
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
6. Comparative Expressiveness of Product Line Calculus of Communicating Systems and 1-Selecting Modal Transition Systems
Open this publication in new window or tab >>Comparative Expressiveness of Product Line Calculus of Communicating Systems and 1-Selecting Modal Transition Systems
2019 (English)In: SOFSEM 2019: Theory and Practice of Computer Science / [ed] Barbara Catania, Rastislav Královič, Jerzy Nawrocki & Giovanni Pighizzini, Cham: Springer, 2019, p. 490-503Conference paper, Published paper (Refereed)
Abstract [en]

Product line calculus of communicating systems (PL-CCSs) is a process calculus proposed to model the behavior of software product lines. Modal transition systems (MTSs) are also used to model variability in behavioral models. MTSs are known to be strictly less expressive than PL-CCS. In this paper, we show that the extension of MTSs with hyper transitions by Fecher and Schmidt, called 1-selecting modal transition systems (1MTSs), closes this expressiveness gap. To this end, we propose a novel notion of refinement for 1MTSs that makes them more suitable for specifying variability for software product lines and prove its various essential properties. © Springer Nature Switzerland AG 2019

Place, publisher, year, edition, pages
Cham: Springer, 2019
Series
Lecture Notes in Computer Science, ISSN 0302-9743, E-ISSN 1611-3349 ; 11376
Keywords
Product line calculus of communicating systems (PL-CCS), Modal transition system (MTSs), 1-selecting modal transition system (1MTS), Comparative expressiveness
National Category
Computer Systems
Identifiers
urn:nbn:se:hh:diva-38920 (URN)10.1007/978-3-030-10801-4_38 (DOI)978-3-030-10800-7 (ISBN)978-3-030-10801-4 (ISBN)
Conference
45th International Conference on Current Trends in Theory and Practice of Computer Science (SOFSEM 2019), Nový Smokovec, Slovakia, January 27-30, 2019
Available from: 2019-02-15 Created: 2019-02-15 Last updated: 2019-02-18Bibliographically approved
7. Modal Transition System Encoding of Featured Transition Systems
Open this publication in new window or tab >>Modal Transition System Encoding of Featured Transition Systems
Show others...
2019 (English)In: The Journal of logical and algebraic methods in programming, ISSN 2352-2208, E-ISSN 2352-2216, Vol. 106, p. 1-28Article in journal (Refereed) Published
Abstract [en]

Featured transition systems (FTSs) and modal transition systems (MTSs) are two of the most prominent and well-studied formalisms for modeling and analyzing behavioral variability as apparent in software product line engineering. On one hand, it is well-known that for finite behavior FTSs are strictly more expressive than MTSs, essentially due to the inability of MTSs to express logically constrained behavioral variability such as persistently exclusive behaviors. On the other hand, MTSs enjoy many desirable formal properties such as compositionality of semantic refinement and parallel composition. In order to finally consolidate the two formalisms for variability modeling, we establish a rigorous connection between FTSs and MTSs by means of an encoding of one FTS into an equivalent set of multiple MTSs. To this end, we split the structure of an FTS into several MTSs whenever it is necessary to denote exclusive choices that are not expressible in a single MTS. Moreover, extra care is taken when dealing with infinite behaviour: loops may have to be unrolled to accumulate FTS path constraints when encoding them into MTSs. We prove our encoding to be semanticpreserving (i.e., the resulting set of MTSs induces, up to bisimulation, the same set of derivable variants as their FTS counterpart) and to commute with modal refinement. We further give an algorithm to calculate a concise representation of a given FTS as a minimal set of MTSs. Finally, we present experimental results gained from applying a tool implementation of our approach to a collection of case studies.

Place, publisher, year, edition, pages
Amsterdam: Elsevier, 2019
Keywords
Featured Transition Systems, Modal Transition Systems, Expressiveness Power, Product Lines, Modeling
National Category
Computer Systems
Identifiers
urn:nbn:se:hh:diva-38941 (URN)10.1016/j.jlamp.2019.03.003 (DOI)
Projects
AUTO-CAAS
Funder
Knowledge Foundation, 20140312Swedish Research Council, 621-2014-5057ELLIIT - The Linköping‐Lund Initiative on IT and Mobile Communications
Note

Funding: The work of Mahsa Varshosaz and Mohammad Reza Mousavi has been partially supported by grants from the Swedish Knowledge Foundation (Stiftelsen för Kunskaps- och Kompetensutveckling) in the context of the AUTO-CAAS HoGproject (number: 20140312), Swedish Research Council (Vetenskapsrådet) award number: 621-2014-5057 (Effective Model-Based Testing of Concurrent Systems), and the ELLIIT Strategic Research Environment. The work of Lars Luthmann, Paul Mohr and Malte Lochau has been supported by the German Research Foundation (DFG) in the Priority Programme SPP 1593: Design For Future – Managed Software Evolution (LO 2198/2-1).

Available from: 2019-02-18 Created: 2019-02-18 Last updated: 2019-06-12Bibliographically approved

Open Access in DiVA

fulltext(7445 kB)102 downloads
File information
File name FULLTEXT01.pdfFile size 7445 kBChecksum SHA-512
515b38a60f109e1c8ce0a8b8dc7bc42e2451ecb9e05e1d0504a0b003682ab62566c533a6137cc4fcd05acc6e5fe52d0ae60ad6728668fafc2dea2b23f2272d94
Type fulltextMimetype application/pdf

Authority records BETA

Varshosaz, Mahsa

Search in DiVA

By author/editor
Varshosaz, Mahsa
By organisation
Centre for Research on Embedded Systems (CERES)
Computer Systems

Search outside of DiVA

GoogleGoogle Scholar
Total: 102 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

isbn
urn-nbn

Altmetric score

isbn
urn-nbn
Total: 422 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