首页 > 最新文献

Proceedings of the 7th International Workshop on Feature-Oriented Software Development最新文献

英文 中文
FeatureCoPP: compositional annotations FeatureCoPP:组合注解
J. Krüger, Ivonne Schröter, Andy Kenner, Christopher Kruczek, Thomas Leich
Software product lines can be implemented with different techniques. Those techniques can be grouped into annotation-based and composition-based approaches, with complementary strengths and weaknesses. A combination seems useful to utilize benefits of both groups but using two techniques in parallel may cause new problems. To our knowledge, there is no approach that integrates composition into an annotation-based approach or vice versa. We propose the use of an extended preprocessor to introduce physical separation of concerns similar to feature-oriented programming. In this paper, we i) present a preliminary implementation that integrates composition into annotation, ii) analyse its benefits and shortcomings, and iii) discuss implementation and tooling. Overall, we enable developers to keep on using familiar preprocessors but also to benefit from composition. Finally, we show the potential of our approach.
软件产品线可以用不同的技术来实现。这些技术可以分为基于注释的方法和基于组合的方法,它们的优缺点互补。结合使用两种技术似乎很有用,但同时使用两种技术可能会产生新的问题。据我们所知,没有一种方法可以将组合集成到基于注释的方法中,反之亦然。我们建议使用扩展预处理器来引入类似于面向功能的编程的物理关注点分离。在本文中,我们i)提出了一个将组合集成到注释中的初步实现,ii)分析了它的优点和缺点,iii)讨论了实现和工具。总的来说,我们使开发人员能够继续使用熟悉的预处理器,但也受益于组合。最后,我们展示了我们的方法的潜力。
{"title":"FeatureCoPP: compositional annotations","authors":"J. Krüger, Ivonne Schröter, Andy Kenner, Christopher Kruczek, Thomas Leich","doi":"10.1145/3001867.3001876","DOIUrl":"https://doi.org/10.1145/3001867.3001876","url":null,"abstract":"Software product lines can be implemented with different techniques. Those techniques can be grouped into annotation-based and composition-based approaches, with complementary strengths and weaknesses. A combination seems useful to utilize benefits of both groups but using two techniques in parallel may cause new problems. To our knowledge, there is no approach that integrates composition into an annotation-based approach or vice versa. We propose the use of an extended preprocessor to introduce physical separation of concerns similar to feature-oriented programming. In this paper, we i) present a preliminary implementation that integrates composition into annotation, ii) analyse its benefits and shortcomings, and iii) discuss implementation and tooling. Overall, we enable developers to keep on using familiar preprocessors but also to benefit from composition. Finally, we show the potential of our approach.","PeriodicalId":153261,"journal":{"name":"Proceedings of the 7th International Workshop on Feature-Oriented Software Development","volume":"113 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133412047","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 16
Implicit constraints in partial feature models 部分特征模型中的隐式约束
Sofia Ananieva, M. Kowal, Thomas Thüm, Ina Schaefer
Developing and maintaining a feature model is a tedious process and gets increasingly difficult with regard to large product lines consisting of thousands of features and constraints. In addition, these large-scale feature models typically involve several stakeholders from different domains during development and maintenance. We aim at supporting such stakeholders by deriving and explaining implicit constraints for partial feature models. A partial feature model can either be a submodel of a feature model representing the full product line or a specific feature model in a set of interrelated models. For every implicit constraint, we generate an explanation exposing which other model parts and constraints interfere with the partial model of interest. Thus, stakeholders are only confronted with a small part of the feature model reducing the complexity while preserving the necessary information about dependencies. Our approach is implemented in the open-source framework FeatureIDE.
开发和维护功能模型是一个乏味的过程,并且对于由数千个功能和约束组成的大型产品线来说变得越来越困难。此外,在开发和维护期间,这些大规模的特征模型通常涉及来自不同领域的几个涉众。我们的目标是通过推导和解释部分特征模型的隐式约束来支持这些利益相关者。部分特征模型可以是表示完整产品线的特征模型的子模型,也可以是一组相关模型中的特定特征模型。对于每个隐式约束,我们生成一个解释,揭示哪些其他模型部分和约束干扰感兴趣的部分模型。因此,涉众只面对特征模型的一小部分,在保留有关依赖关系的必要信息的同时降低了复杂性。我们的方法是在开源框架FeatureIDE中实现的。
{"title":"Implicit constraints in partial feature models","authors":"Sofia Ananieva, M. Kowal, Thomas Thüm, Ina Schaefer","doi":"10.1145/3001867.3001870","DOIUrl":"https://doi.org/10.1145/3001867.3001870","url":null,"abstract":"Developing and maintaining a feature model is a tedious process and gets increasingly difficult with regard to large product lines consisting of thousands of features and constraints. In addition, these large-scale feature models typically involve several stakeholders from different domains during development and maintenance. We aim at supporting such stakeholders by deriving and explaining implicit constraints for partial feature models. A partial feature model can either be a submodel of a feature model representing the full product line or a specific feature model in a set of interrelated models. For every implicit constraint, we generate an explanation exposing which other model parts and constraints interfere with the partial model of interest. Thus, stakeholders are only confronted with a small part of the feature model reducing the complexity while preserving the necessary information about dependencies. Our approach is implemented in the open-source framework FeatureIDE.","PeriodicalId":153261,"journal":{"name":"Proceedings of the 7th International Workshop on Feature-Oriented Software Development","volume":"25 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129019213","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 34
Higher-order delta modeling for software product line evolution 软件产品线演化的高阶增量建模
Sascha Lity, M. Kowal, Ina Schaefer
In software product lines (SPL), i.e., a family of similar software systems sharing common and variable artifacts, modeling evolution and reasoning about it is challenging, as not only a single system, but rather a set of system variants as well as their interdependencies change. An integrated modeling formalism for variability and evolution is required to allow the capturing of evolution operations that are applied to SPL artifacts, and to facilitate the impact analysis of evolution on the artifact level. Delta modeling is a flexible transformational variability modeling approach, where the variability and commonality between variants are explicitly documented and analyzable by means of transformations modeled as deltas. In this paper, we lift the notion of delta modeling to capture both, variability and evolution, by deltas. We evolve a delta model specifying a set of variants by applying higher-order deltas. A higher-order delta encapsulates evolution operations, i.e., additions, removals, or modifications of deltas, and transforms a delta model in its new version. In this way, we capture the complete evolution history of delta-oriented SPLs by higher-order delta models. By analyzing each higher-order delta application, we are further able to reason about the impact and, thus, the changes to the specified set of variants. We prototypically implement our formalism and show its applicability using a system from the automation engineering domain.
在软件产品线(SPL)中,例如,一组共享公共和可变工件的类似软件系统,对其进行建模和推理是具有挑战性的,因为不仅是单个系统,而且是一组系统变体及其相互依赖关系的变化。需要为可变性和进化提供一个集成的建模形式,以允许捕获应用于SPL工件的进化操作,并促进对工件级别上的进化的影响分析。增量建模是一种灵活的转换可变性建模方法,其中变量之间的可变性和通用性被明确地记录下来,并且可以通过建模为增量的转换进行分析。在本文中,我们提出了增量建模的概念,通过增量来捕获变异性和进化。我们发展了一个delta模型,通过应用高阶delta来指定一组变体。高阶增量封装了演化操作,即增量的添加、删除或修改,并在其新版本中转换增量模型。通过这种方式,我们通过高阶三角洲模型捕获了面向三角洲的SPLs的完整演化历史。通过分析每个高阶增量应用程序,我们能够进一步推断影响,从而推断对指定变量集的更改。我们以原型实现了我们的形式化,并使用自动化工程领域的一个系统展示了它的适用性。
{"title":"Higher-order delta modeling for software product line evolution","authors":"Sascha Lity, M. Kowal, Ina Schaefer","doi":"10.1145/3001867.3001872","DOIUrl":"https://doi.org/10.1145/3001867.3001872","url":null,"abstract":"In software product lines (SPL), i.e., a family of similar software systems sharing common and variable artifacts, modeling evolution and reasoning about it is challenging, as not only a single system, but rather a set of system variants as well as their interdependencies change. An integrated modeling formalism for variability and evolution is required to allow the capturing of evolution operations that are applied to SPL artifacts, and to facilitate the impact analysis of evolution on the artifact level. Delta modeling is a flexible transformational variability modeling approach, where the variability and commonality between variants are explicitly documented and analyzable by means of transformations modeled as deltas. In this paper, we lift the notion of delta modeling to capture both, variability and evolution, by deltas. We evolve a delta model specifying a set of variants by applying higher-order deltas. A higher-order delta encapsulates evolution operations, i.e., additions, removals, or modifications of deltas, and transforms a delta model in its new version. In this way, we capture the complete evolution history of delta-oriented SPLs by higher-order delta models. By analyzing each higher-order delta application, we are further able to reason about the impact and, thus, the changes to the specified set of variants. We prototypically implement our formalism and show its applicability using a system from the automation engineering domain.","PeriodicalId":153261,"journal":{"name":"Proceedings of the 7th International Workshop on Feature-Oriented Software Development","volume":"282 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132564794","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 20
Towards predicting feature defects in software product lines 预测软件产品线中的特性缺陷
Rodrigo Queiroz, T. Berger, K. Czarnecki
Defect-prediction techniques can enhance the quality assurance activities for software systems. For instance, they can be used to predict bugs in source files or functions. In the context of a software product line, such techniques could ideally be used for predicting defects in features or combinations of features, which would allow developers to focus quality assurance on the error-prone ones. In this preliminary case study, we investigate how defect prediction models can be used to identify defective features using machine-learning techniques. We adapt process metrics and evaluate and compare three classifiers using an open-source product line. Our results show that the technique can be effective. Our best scenario achieves an accuracy of 73 % for accurately predicting features as defective or clean using a Naive Bayes classifier. Based on the results we discuss directions for future work.
缺陷预测技术可以增强软件系统的质量保证活动。例如,它们可以用来预测源文件或函数中的错误。在软件产品线的上下文中,这种技术可以理想地用于预测功能或功能组合中的缺陷,这将允许开发人员将质量保证集中在容易出错的地方。在这个初步的案例研究中,我们研究了缺陷预测模型如何使用机器学习技术来识别缺陷特征。我们采用流程度量,并使用开源产品线评估和比较三个分类器。结果表明,该方法是有效的。我们的最佳场景在使用朴素贝叶斯分类器准确预测缺陷或清洁特征方面达到了73%的准确率。在此基础上,讨论了今后的工作方向。
{"title":"Towards predicting feature defects in software product lines","authors":"Rodrigo Queiroz, T. Berger, K. Czarnecki","doi":"10.1145/3001867.3001874","DOIUrl":"https://doi.org/10.1145/3001867.3001874","url":null,"abstract":"Defect-prediction techniques can enhance the quality assurance activities for software systems. For instance, they can be used to predict bugs in source files or functions. In the context of a software product line, such techniques could ideally be used for predicting defects in features or combinations of features, which would allow developers to focus quality assurance on the error-prone ones. In this preliminary case study, we investigate how defect prediction models can be used to identify defective features using machine-learning techniques. We adapt process metrics and evaluate and compare three classifiers using an open-source product line. Our results show that the technique can be effective. Our best scenario achieves an accuracy of 73 % for accurately predicting features as defective or clean using a Naive Bayes classifier. Based on the results we discuss directions for future work.","PeriodicalId":153261,"journal":{"name":"Proceedings of the 7th International Workshop on Feature-Oriented Software Development","volume":"25 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121940058","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 16
Implementing delta-oriented SPLs using PEoPL: an example scenario and case study 使用peoplel实现面向delta的spc:一个示例场景和案例研究
B. Behringer, M. Fey
Software product line implementation techniques are complementary. Thus, moving fluidly between them would be beneficial. Our tool PEoPL, a novel instantiation of the MPS language workbench, supports projecting a common variational AST into user-editable projections, each of which represents a different product line implementation technique. PEoPL supports FOP-like, annotative and product projections and allows developers to move fluidly between them. In this paper, we lay the foundation for future delta-oriented projectional editors. We use an example scenario to discuss a mapping of DeltaJ language concepts to the variational AST and operations employed in PEoPL. In a case study, we show that PEoPL is expressive enough to represent DeltaJ product lines, and at the same time supports all delta manipulations.
软件产品线实现技术是互补的。因此,在它们之间流畅地移动是有益的。我们的工具peoplel是MPS语言工作台的一个新实例,它支持将通用的可变AST投影到用户可编辑的投影中,每个投影代表不同的产品线实现技术。peoplel支持类似于fop的注释式投影和产品投影,并允许开发人员在它们之间流畅地移动。在本文中,我们为未来面向delta的投影编辑奠定了基础。我们使用一个示例场景来讨论DeltaJ语言概念到peopll中使用的变分AST和操作的映射。在一个案例研究中,我们展示了peoplel具有足够的表达能力来表示DeltaJ产品线,同时支持所有的delta操作。
{"title":"Implementing delta-oriented SPLs using PEoPL: an example scenario and case study","authors":"B. Behringer, M. Fey","doi":"10.1145/3001867.3001871","DOIUrl":"https://doi.org/10.1145/3001867.3001871","url":null,"abstract":"Software product line implementation techniques are complementary. Thus, moving fluidly between them would be beneficial. Our tool PEoPL, a novel instantiation of the MPS language workbench, supports projecting a common variational AST into user-editable projections, each of which represents a different product line implementation technique. PEoPL supports FOP-like, annotative and product projections and allows developers to move fluidly between them. In this paper, we lay the foundation for future delta-oriented projectional editors. We use an example scenario to discuss a mapping of DeltaJ language concepts to the variational AST and operations employed in PEoPL. In a case study, we show that PEoPL is expressive enough to represent DeltaJ product lines, and at the same time supports all delta manipulations.","PeriodicalId":153261,"journal":{"name":"Proceedings of the 7th International Workshop on Feature-Oriented Software Development","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122334695","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 3
Formula choice calculus 公式选择微积分
Spencer Hubbard, Eric Walkingshaw
The choice calculus is a simple metalanguage and associated theory that has been successfully applied to several problems of interest to the feature-oriented software development community. The formal presentation of the choice calculus essentially restricts variation points, called choices, to vary based on the inclusion or not of a single feature, while in practice variation points may depend on several features. Therefore, in both theoretical applications of the choice calculus, and in tools inspired by the choice calculus, the syntax of choices has often been generalized to depend on an arbitrary propositional formula of features. The purpose of this paper is to put this syntactic generalization on more solid footing by also generalizing the associated theory. Specifically, after defining the syntax and denotational semantics of the formula choice calculus (FCC), we define and prove the soundness of a syntactic equivalence relation on FCC expressions. This effort validates previous work which has implicitly assumed the soundness of rules in the equivalence relation, and also reveals several rules that are specific to FCC. Finally, we describe some further generalizations to FCC and their limits.
选择演算是一种简单的元语言和相关理论,已经成功地应用于面向功能的软件开发社区感兴趣的几个问题。选择演算的形式化表示本质上限制变异点(称为选择)根据包含或不包含单个特征而变化,而在实践中,变异点可能依赖于几个特征。因此,在选择演算的理论应用中,以及在受选择演算启发的工具中,选择的语法通常被推广为依赖于任意的特征命题公式。本文的目的是通过对相关理论的概括,将这种句法概括建立在更坚实的基础上。具体来说,在定义了公式选择演算(FCC)的语法和指称语义之后,我们定义并证明了FCC表达式上的句法等价关系的正确性。这项工作验证了先前的工作,这些工作隐含地假设了等效关系中规则的合理性,并揭示了FCC特有的几个规则。最后,我们描述了FCC的一些进一步的概括及其局限性。
{"title":"Formula choice calculus","authors":"Spencer Hubbard, Eric Walkingshaw","doi":"10.1145/3001867.3001873","DOIUrl":"https://doi.org/10.1145/3001867.3001873","url":null,"abstract":"The choice calculus is a simple metalanguage and associated theory that has been successfully applied to several problems of interest to the feature-oriented software development community. The formal presentation of the choice calculus essentially restricts variation points, called choices, to vary based on the inclusion or not of a single feature, while in practice variation points may depend on several features. Therefore, in both theoretical applications of the choice calculus, and in tools inspired by the choice calculus, the syntax of choices has often been generalized to depend on an arbitrary propositional formula of features. The purpose of this paper is to put this syntactic generalization on more solid footing by also generalizing the associated theory. Specifically, after defining the syntax and denotational semantics of the formula choice calculus (FCC), we define and prove the soundness of a syntactic equivalence relation on FCC expressions. This effort validates previous work which has implicitly assumed the soundness of rules in the equivalence relation, and also reveals several rules that are specific to FCC. Finally, we describe some further generalizations to FCC and their limits.","PeriodicalId":153261,"journal":{"name":"Proceedings of the 7th International Workshop on Feature-Oriented Software Development","volume":"34 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129544263","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 8
Variability mining of state charts 状态图的可变性挖掘
David Wille, Sandro Schulze, Ina Schaefer
Companies commonly use state charts to reduce the complexity of software development. To create variants with slightly different functionality from existing products, it is common practice to copy the corresponding state charts and modify them to changed requirements. Even though these so-called clone-and-own approaches save money in the short-term, they introduce severe risks for software evolution and product quality in the long term as the relation between the software variants is lost so that all products have to be maintained separately. In previous work, we introduced variability mining algorithms to identify the relations between related MATLAB/Simulink model variants regarding their common and varying parts. In this paper, we adapt these algorithms for state charts by applying guidelines from previous work to make them available for developers to better understand the relations between a set of state chart variants. Using this knowledge, maintenance of related variants can be improved and migration from clone-and-own based single variant development to more elaborate reuse strategies is possible to increase maintainability and the overall product quality. We demonstrate the feasibility of variability mining for state charts by means of a case study with models of realistic size.
公司通常使用状态图来降低软件开发的复杂性。要创建与现有产品功能略有不同的变体,通常的做法是复制相应的状态图,并根据更改的需求对其进行修改。尽管这些所谓的“克隆并拥有”的方法在短期内节省了资金,但从长远来看,它们为软件的发展和产品质量带来了严重的风险,因为软件变体之间的关系丢失了,因此所有的产品都必须单独维护。在之前的工作中,我们引入了可变性挖掘算法来识别相关MATLAB/Simulink模型变量之间的共同部分和变化部分之间的关系。在本文中,我们通过应用先前工作中的指导方针,将这些算法应用于状态图,使开发人员可以更好地理解一组状态图变体之间的关系。使用这些知识,可以改进相关变体的维护,并且可以从基于克隆和拥有的单一变体开发迁移到更精细的重用策略,从而提高可维护性和整体产品质量。我们通过一个具有实际尺寸模型的案例研究来证明状态图变异性挖掘的可行性。
{"title":"Variability mining of state charts","authors":"David Wille, Sandro Schulze, Ina Schaefer","doi":"10.1145/3001867.3001875","DOIUrl":"https://doi.org/10.1145/3001867.3001875","url":null,"abstract":"Companies commonly use state charts to reduce the complexity of software development. To create variants with slightly different functionality from existing products, it is common practice to copy the corresponding state charts and modify them to changed requirements. Even though these so-called clone-and-own approaches save money in the short-term, they introduce severe risks for software evolution and product quality in the long term as the relation between the software variants is lost so that all products have to be maintained separately. In previous work, we introduced variability mining algorithms to identify the relations between related MATLAB/Simulink model variants regarding their common and varying parts. In this paper, we adapt these algorithms for state charts by applying guidelines from previous work to make them available for developers to better understand the relations between a set of state chart variants. Using this knowledge, maintenance of related variants can be improved and migration from clone-and-own based single variant development to more elaborate reuse strategies is possible to increase maintainability and the overall product quality. We demonstrate the feasibility of variability mining for state charts by means of a case study with models of realistic size.","PeriodicalId":153261,"journal":{"name":"Proceedings of the 7th International Workshop on Feature-Oriented Software Development","volume":"43 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133797283","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 11
Name resolution strategies in variability realization languages for software product lines 软件产品线可变性实现语言中的名称解析策略
Sven Schuster, M. Nieke, Ina Schaefer
Software Product Lines (SPLs) exploit reuse-in-the-large to enable customization by explicitly modeling commonalities and variabilities of closely related software systems. Different approaches exist to enable SPL development and product creation by using modular languages, such as Feature-Oriented Programming (FOP) (compositional) or Delta-Oriented Programming (DOP) (transformational). These languages incorporate, e.g., object-oriented languages, adding a layer of variability. Creating a variabilityaware Abstract Syntax Graph (ASG), i.e., an ASG that contains the complete variability of the SPL, facilitates family-based analyses and is essential for supporting developers during SPL development. To this end, name resolution has to be performed. However, name resolution for these languages is a challenge as multiple declarations for the same element may occur in different modules. In this paper, we propose four name resolution strategies for compositional and transformational SPL realization languages and discuss their benefits and drawbacks, categorized by relevant application scenarios of the ASG.
软件产品线(SPLs)利用大规模重用,通过显式地对密切相关的软件系统的共性和可变性进行建模来实现定制。通过使用模块化语言,例如面向功能的编程(FOP)(组合)或面向增量的编程(DOP)(转换),存在不同的方法来支持SPL开发和产品创建。这些语言结合了,例如,面向对象语言,增加了一层可变性。创建一个可变性感知的抽象语法图(ASG),例如,一个包含SPL的完整可变性的ASG,促进基于家族的分析,并且在SPL开发过程中对支持开发人员至关重要。为此,必须执行名称解析。然而,这些语言的名称解析是一个挑战,因为同一元素的多个声明可能出现在不同的模块中。在本文中,我们提出了四种组合型和转换型SPL实现语言的名称解析策略,并根据ASG的相关应用场景进行了分类,讨论了它们的优缺点。
{"title":"Name resolution strategies in variability realization languages for software product lines","authors":"Sven Schuster, M. Nieke, Ina Schaefer","doi":"10.1145/3001867.3001869","DOIUrl":"https://doi.org/10.1145/3001867.3001869","url":null,"abstract":"Software Product Lines (SPLs) exploit reuse-in-the-large to enable customization by explicitly modeling commonalities and variabilities of closely related software systems. Different approaches exist to enable SPL development and product creation by using modular languages, such as Feature-Oriented Programming (FOP) (compositional) or Delta-Oriented Programming (DOP) (transformational). These languages incorporate, e.g., object-oriented languages, adding a layer of variability. Creating a variabilityaware Abstract Syntax Graph (ASG), i.e., an ASG that contains the complete variability of the SPL, facilitates family-based analyses and is essential for supporting developers during SPL development. To this end, name resolution has to be performed. However, name resolution for these languages is a challenge as multiple declarations for the same element may occur in different modules. In this paper, we propose four name resolution strategies for compositional and transformational SPL realization languages and discuss their benefits and drawbacks, categorized by relevant application scenarios of the ASG.","PeriodicalId":153261,"journal":{"name":"Proceedings of the 7th International Workshop on Feature-Oriented Software Development","volume":"26 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121024246","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Fine-grained test case prioritization for integration testing of delta-oriented software product lines 面向增量的软件产品线集成测试的细粒度测试用例优先级
R. Lachmann, Sascha Lity, Mustafa Al-Hajjaji, Franz Fürchtegott, Ina Schaefer
Software product line (SPL) testing is a challenging task, due to the huge number of variants sharing common functionalities to be taken into account for efficient testing. By adopting the concept of regression testing, incremental SPL testing strategies cope with this challenge by exploiting the reuse potential of test artifacts between subsequent variants under test. In previous work, we proposed delta-oriented test case prioritization for incremental SPL integration testing, where differences between architecture test model variants allow for reasoning about the order of reusable test cases to be executed. However, the prioritization left two issues open, namely (1) changes to component behavior are ignored, which may also influence component interactions and, (2) the weighting and ordering of similar test cases result in an unintended clustering of test cases. In this paper, we extend the test case prioritization technique by (1) incorporating changes to component behavior allowing for a more fine-grained analysis and (2) defining a dissimilarity measure to avoid clustered test case orders. We prototyped our test case prioritization technique and evaluated its applicability and effectiveness by means of a case study from the automotive domain showing positive results.
软件产品线(SPL)测试是一项具有挑战性的任务,因为要有效地进行测试,需要考虑大量共享公共功能的变体。通过采用回归测试的概念,增量SPL测试策略通过利用测试下的后续变体之间测试工件的重用潜力来应对这一挑战。在之前的工作中,我们为增量SPL集成测试提出了面向增量的测试用例优先级,其中架构测试模型变体之间的差异允许对要执行的可重用测试用例的顺序进行推理。然而,优先级划分留下了两个问题,即(1)对组件行为的更改被忽略,这也可能影响组件的交互,以及(2)相似测试用例的权重和排序导致测试用例的意外聚类。在本文中,我们通过以下方式扩展了测试用例优先化技术:(1)结合组件行为的变化,以允许更细粒度的分析;(2)定义不相似度量以避免聚集测试用例顺序。我们对我们的测试用例优先级技术进行了原型化,并通过一个来自汽车领域的案例研究评估了它的适用性和有效性,并显示了积极的结果。
{"title":"Fine-grained test case prioritization for integration testing of delta-oriented software product lines","authors":"R. Lachmann, Sascha Lity, Mustafa Al-Hajjaji, Franz Fürchtegott, Ina Schaefer","doi":"10.1145/3001867.3001868","DOIUrl":"https://doi.org/10.1145/3001867.3001868","url":null,"abstract":"Software product line (SPL) testing is a challenging task, due to the huge number of variants sharing common functionalities to be taken into account for efficient testing. By adopting the concept of regression testing, incremental SPL testing strategies cope with this challenge by exploiting the reuse potential of test artifacts between subsequent variants under test. In previous work, we proposed delta-oriented test case prioritization for incremental SPL integration testing, where differences between architecture test model variants allow for reasoning about the order of reusable test cases to be executed. However, the prioritization left two issues open, namely (1) changes to component behavior are ignored, which may also influence component interactions and, (2) the weighting and ordering of similar test cases result in an unintended clustering of test cases. In this paper, we extend the test case prioritization technique by (1) incorporating changes to component behavior allowing for a more fine-grained analysis and (2) defining a dissimilarity measure to avoid clustered test case orders. We prototyped our test case prioritization technique and evaluated its applicability and effectiveness by means of a case study from the automotive domain showing positive results.","PeriodicalId":153261,"journal":{"name":"Proceedings of the 7th International Workshop on Feature-Oriented Software Development","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130060865","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 21
Proceedings of the 7th International Workshop on Feature-Oriented Software Development 第七届面向功能的软件开发国际研讨会论文集
{"title":"Proceedings of the 7th International Workshop on Feature-Oriented Software Development","authors":"","doi":"10.1145/3001867","DOIUrl":"https://doi.org/10.1145/3001867","url":null,"abstract":"","PeriodicalId":153261,"journal":{"name":"Proceedings of the 7th International Workshop on Feature-Oriented Software Development","volume":"439 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132942155","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
期刊
Proceedings of the 7th International Workshop on Feature-Oriented Software Development
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1