Logan Murphy, Mahmood Saifi, Alessio Di Sandro, Marsha Chechik
{"title":"A structural taxonomy for lifted software product line analyses","authors":"Logan Murphy, Mahmood Saifi, Alessio Di Sandro, Marsha Chechik","doi":"10.1016/j.jss.2024.112280","DOIUrl":null,"url":null,"abstract":"<div><div>A software product line (SPL) is a structured collection of distinct software products developed from a common set of artifacts. SPLs can encompass millions of products, so analysing each product in a brute-force manner is infeasible. To analyse SPLs directly, analyses must be <em>lifted</em>, i.e., redefined to accommodate the semantics of SPLs. Over the past two decades, many kinds of analyses have been lifted from products to SPLs. Looking at the landscape of lifted analyses, we observe various <em>techniques</em> for lifting which vary across numerous dimensions. To help engineers and research navigate this landscape, we propose a classification scheme for lifted analyses based on a set of features lifted analyses can exhibit. We then conduct a systematic literature review (SLR) analysing the landscape of lifted analyses produced over the last 20 years. We analyse 140 research papers which discuss the design and implementation of lifted analyses. We provide quantitative analysis of the types of analyses which have been lifted, and apply our taxonomy to clarify <em>how</em> lifting was accomplished. We discuss examples of how each of the lifting methods have been applied, and identify gaps in the research literature which may provide directions for future work.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"222 ","pages":"Article 112280"},"PeriodicalIF":3.7000,"publicationDate":"2024-12-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Journal of Systems and Software","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0164121224003248","RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 0
Abstract
A software product line (SPL) is a structured collection of distinct software products developed from a common set of artifacts. SPLs can encompass millions of products, so analysing each product in a brute-force manner is infeasible. To analyse SPLs directly, analyses must be lifted, i.e., redefined to accommodate the semantics of SPLs. Over the past two decades, many kinds of analyses have been lifted from products to SPLs. Looking at the landscape of lifted analyses, we observe various techniques for lifting which vary across numerous dimensions. To help engineers and research navigate this landscape, we propose a classification scheme for lifted analyses based on a set of features lifted analyses can exhibit. We then conduct a systematic literature review (SLR) analysing the landscape of lifted analyses produced over the last 20 years. We analyse 140 research papers which discuss the design and implementation of lifted analyses. We provide quantitative analysis of the types of analyses which have been lifted, and apply our taxonomy to clarify how lifting was accomplished. We discuss examples of how each of the lifting methods have been applied, and identify gaps in the research literature which may provide directions for future work.
期刊介绍:
The Journal of Systems and Software publishes papers covering all aspects of software engineering and related hardware-software-systems issues. All articles should include a validation of the idea presented, e.g. through case studies, experiments, or systematic comparisons with other approaches already in practice. Topics of interest include, but are not limited to:
•Methods and tools for, and empirical studies on, software requirements, design, architecture, verification and validation, maintenance and evolution
•Agile, model-driven, service-oriented, open source and global software development
•Approaches for mobile, multiprocessing, real-time, distributed, cloud-based, dependable and virtualized systems
•Human factors and management concerns of software development
•Data management and big data issues of software systems
•Metrics and evaluation, data mining of software development resources
•Business and economic aspects of software development processes
The journal welcomes state-of-the-art surveys and reports of practical experience for all of these topics.