dc.contributor.author | Mukelabai, Mukelabai | |
dc.date.accessioned | 2022-09-08T09:55:27Z | |
dc.date.available | 2022-09-08T09:55:27Z | |
dc.date.issued | 2022-09-08 | |
dc.identifier.isbn | 978-91-8009-955-4 (PRINT) | |
dc.identifier.isbn | 978-91-8009-956-1 (PDF) | |
dc.identifier.uri | https://hdl.handle.net/2077/73449 | |
dc.description.abstract | Context: Many software systems exist in several variants customized for specific stakeholder requirements, such as different market segments or hardware constraints. This customization introduces a high level of complexity that renders traditional single-system quality assurance techniques inapplicable, since they need to consider variations and constraints between a system’s features—a.k.a feature-oriented or variability-aware analysis. While several analysis techniques have been conceived in the last two decades for this purpose, they mostly target a branch of variant-rich systems called software product lines, and are less applicable to systems that still rely on cloning strategies to engineer variants—a.k.a low-maturity variant-rich systems. Among other reasons, this is because such systems exhibit: immature architectures that do not systematically account for variability, redundancy that is not exploited to reduce analysis effort, and missing essential meta-information such as feature constraints and locations of features in source code.
Objective: This research aims to facilitate quality assurance in low-maturity variant-rich systems. Through analysis of the state-of-practice, we propose techniques that can improve maturity and help developers of such systems mitigate some challenges posed by redundancy.
Method: First, we conducted a survey and interviews with practitioners to identify industrial needs and practices for analyzing variant-rich systems, followed by a case study of some open source systems to understand where developers record information necessary for feature-oriented analysis. Then, we designed and systematically evaluated a technique and a tool that can improve the maturity of variant rich systems by supporting feature recording, and two techniques that can reduce analysis effort.
Results: Our results stem from two main contributions: our analysis of the state-of-practice and techniques we propose for improving maturity to facilitate feature-oriented analysis in low-maturity variant-rich systems. For the former, we present results of a survey and interviews targeting 27 practitioners from 18 companies in 8 countries to understand industrial practices and needs for analyzing variant-rich systems. Then, we present our empirical understanding of features and their characteristics (facets) based on a case study of two industrial open-source systems. For the latter, we present design decisions and an evaluation of a tool and technique that help developers proactively and continuously record features. Then, we present empirical data on the potential of two techniques for reducing QA effort: one for predicting software defects at the level of features (evaluated on 13 open-source systems), and another for propagating test cases across forked projects, i.e., projects with similar but cloned features (evaluated on over 426,000 test cases from 2,153 projects).
Conclusion: This thesis identifies the lack of adoption of feature-oriented quality assurance techniques in industry, and addresses the problem through tools and techniques for feature recording and quality assurance effort reduction. | en_US |
dc.language.iso | eng | en_US |
dc.relation.ispartofseries | 225D | en_US |
dc.relation.haspart | Mukelabai, M., Nešić, D., Maro, S., Berger, T., & Steghöfer, J. P. (2018, September). Tackling combinatorial explosion: a study of industrial needs and practices for analyzing highly configurable systems. In Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering (pp. 155-166). | en_US |
dc.relation.haspart | Krüger, J., Mukelabai, M., Gu, W., Shen, H., Hebig, R., & Berger, T. (2019). Where is my feature and what is it about? a case study on recovering feature facets. Journal of Systems and Software, 152, 239-253. | en_US |
dc.relation.haspart | Martinson, J., Jansson, H., Mukelabai, M., Berger, T., Bergel, A., & Ho-Quang, T. (2021, September). HAnS: IDE-based editing support for embedded feature annotations. In Proceedings of the 25th ACM International Systems and Software Product Line Conference-Volume B (pp. 28-31). | en_US |
dc.relation.haspart | Mukelabai, M., Berger, T., & Borba, P. (2021, May). Semi-automated test-case propagation in fork ecosystems. In 2021 IEEE/ACM 43rd International Conference on Software Engineering: New Ideas and Emerging Results (ICSE-NIER) (pp. 46-50). IEEE. | en_US |
dc.subject | Variant-Rich Systems | en_US |
dc.subject | Cloned Projects | en_US |
dc.subject | Quality Assurance | en_US |
dc.subject | Feature Location | en_US |
dc.subject | Test Case Reuse | en_US |
dc.subject | Recommender System | en_US |
dc.title | Facilitating Feature-Oriented Quality Assurance in Low-Maturity Variant-rich Systems | en_US |
dc.type | Text | |
dc.type.svep | Doctoral thesis | |
dc.gup.mail | mukemuke2008@gmail.com | en_US |
dc.type.degree | Doctor of Philosophy | en_US |
dc.gup.origin | University of Gothenburg. IT Faculty | en_US |
dc.gup.department | Department of Computer Science and Engineering ; Institutionen för data- och informationsteknik | en_US |
dc.citation.doi | ITF | |
dc.gup.defenceplace | Torsdag den 29 Sept. 2021, kl. 13.00, Jupiter 520, Hörselgången 5, Lindholmen | en_US |
dc.gup.defencedate | 2022-09-29 | |