Analysis Strategies for Software Product Lines

Analysis Strategies for Software Product Lines
复制标题

软件产品线分析策略

DOI:
--
复制
发表时间:
2012
期刊:
--
影响因子:
--
通讯作者:
Arbeitsgruppe Datenbanken
Arbeitsgruppe Datenbanken
中科院分区:
--
文献类型:
--
作者:
Thomas Thüm;S. Apel;Christian Kästner;Martin Kuhlemann;Ina Schaefer;G. Saake;Arbeitsgruppe Datenbanken

文献摘要

被引文献

相似文献

近年来,软件产品线工程在工业界和学术界都取得了巨大的发展势头。软件产品线是一组共享一组通用功能的软件产品。软件产品线对传统的分析技术(例如类型检查、测试和形式验证)提出了挑战,以确保软件的正确性和可靠性。由于有效功能组合的数量可能呈指数级增长,因此简单地创建和分析产品线的所有产品通常是不可行的。最近,研究人员开始开发分析技术,将软件产品线的独特属性考虑在内,例如,通过单独检查与功能相关的代码或在分析过程中利用可变性信息。产品线分析技术的新兴领域既广泛又多样化,使得研究人员和从业者很难理解它们的异同(例如,关于可变性意识或可扩展性),这阻碍了系统研究和应用。我们对这一领域现有和正在进行的工作的语料库进行分类,根据分类比较技术,并推断出研究议程。我们努力的一个短期好处是,我们的分类可以指导产品线分析的研究,并使其更加系统和高效。长期目标是使开发人员能够从具有不同优点和缺点的技术库中选择适合他们需求的正确分析技术。
Software-product-line engineering has gained considerable momentum in recent years, both in industry and in academia. A software product line is a set of software products that share a common set of features. Software product lines challenge traditional analysis techniques, such as type checking, testing, and formal verification, in their quest of ensuring correctness and reliability of software. Simply creating and analyzing all products of a product line is usually not feasible, due to the potentially exponential number of valid feature combinations. Recently, researchers began to develop analysis techniques that take the distinguishing properties of software product lines into account, for example, by checking feature-related code in isolation or by exploiting variability information during analysis. The emerging field of product-line analysis techniques is both broad and diverse such that it is difficult for researchers and practitioners to understand their similarities and differences (e.g., with regard to variability awareness or scalability), which hinders systematic research and application. We classify the corpus of existing and ongoing work in this field, we compare techniques based on our classification, and we infer a research agenda. A short-term benefit of our endeavor is that our classification can guide research in product-line analysis and, to this end, make it more systematic and efficient. A long-term goal is to empower developers to choose the right analysis technique for their needs out of a pool of techniques with different strengths and weaknesses.