Facilitating Feature-Oriented Quality Assurance in Low-Maturity Variant-rich Systems

dc.citation.doiITF
dc.contributor.authorMukelabai, Mukelabai
dc.date.accessioned2022-09-08T09:55:27Z
dc.date.available2022-09-08T09:55:27Z
dc.date.issued2022-09-08
dc.description.abstractContext: 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
dc.gup.defencedate2022-09-29
dc.gup.defenceplaceTorsdag den 29 Sept. 2021, kl. 13.00, Jupiter 520, Hörselgången 5, Lindholmenen
dc.gup.departmentDepartment of Computer Science and Engineering ; Institutionen för data- och informationstekniken
dc.gup.mailmukemuke2008@gmail.comen
dc.gup.originUniversity of Gothenburg. IT Facultyen
dc.identifier.isbn978-91-8009-955-4 (PRINT)
dc.identifier.isbn978-91-8009-956-1 (PDF)
dc.identifier.urihttps://hdl.handle.net/2077/73449
dc.language.isoengen
dc.relation.haspartMukelabai, 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
dc.relation.haspartKrü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
dc.relation.haspartMartinson, 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
dc.relation.haspartMukelabai, 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
dc.relation.ispartofseries225Den
dc.subjectVariant-Rich Systemsen
dc.subjectCloned Projectsen
dc.subjectQuality Assuranceen
dc.subjectFeature Locationen
dc.subjectTest Case Reuseen
dc.subjectRecommender Systemen
dc.titleFacilitating Feature-Oriented Quality Assurance in Low-Maturity Variant-rich Systemsen
dc.typeText
dc.type.degreeDoctor of Philosophyen
dc.type.svepDoctoral thesis

Files

Original bundle

Now showing 1 - 3 of 3
No Thumbnail Available
Name:
MukelabaiMukelabai-phd-thesis-20220929-ePubPDF.pdf
Size:
1.78 MB
Format:
Adobe Portable Document Format
Description:
Thesis frame
No Thumbnail Available
Name:
disp-omslag-mukelabai-mukelabai.pdf
Size:
201.54 KB
Format:
Adobe Portable Document Format
Description:
Cover
No Thumbnail Available
Name:
Mukelaai-PhD-TitlePage-2022.pdf
Size:
125.13 KB
Format:
Adobe Portable Document Format
Description:
Abstract Sheet

License bundle

Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
4.68 KB
Format:
Item-specific license agreed upon to submission
Description: