A Toolset for Checking SPL Refinements
نویسندگان
چکیده
Developers evolve software product lines (SPLs) manually or using typical program refactoring tools. However, when evolving an SPL to introduce new features or to improve its design, it is important to make sure that the behavior of existing products is not affected. Typical program refactorings cannot guarantee that because the SPL context goes beyond code and other kinds of core assets, and involves additional artifacts such as feature models and configuration knowledge. Besides that, we typically have to deal with a set of alternative assets that do not constitute a well-formed program in an SPL. As a result, manual changes and existing program refactoring tools may introduce behavioral changes or invalidate existing product configurations. To reduce such risks, we propose approaches and implement four tools for making product line evolution safer. These tools check if SPL transformations preserve the behavior of the original SPL products. They implement different and practical approximations of refinement notions from a theory for safely evolving SPLs. Besides specifying the algorithms of each approach, we compare them with respect to soundness, performance and code coverage in 35 evolution scenarios of an SPL with 32 KLOC.
منابع مشابه
Building a refinement checker for Z
In previous work we have described how refinements can be checked using a temporal logic based model-checker, and how we have built a model-checker for Z by providing a translation of Z into the SAL input language. In this paper we draw these two strands of work together and discuss how we have implemented refinement checking in our Z2SAL toolset. The net effect of this work is that the SAL too...
متن کاملState space reduction for state-based and event-based models of Software Product Lines
In times where there is an increasing demand for individualized software products, the pop-ularity of Software Product Line Engineering (SPLE) as a software engineering paradigm isgrowing. As SPLE is being applied for the development of safety critical systems, being able toperform model checking for the verification of software product lines (SPL) is desirable.This thesis consi...
متن کاملSeaFlows Toolset - Compliance Verification Made Easy
In the light of an increasing demand on business process compliance, the veri cation of process models against compliance rules has become essential in enterprise computing. The SeaFlows Toolset featured in this tool demonstration extends process-aware information system by compliance checking functionality. It provides a user-friendly environment for modeling compliance rules using a graph-bas...
متن کاملA Unified Toolset for Business Process Model Formalization
In this paper, we present a toolset to automate the transformation of Business Process Modeling Notation (BPMN), UML Sequence Diagrams, and Business Process Execution Language (BPEL), into their proposed formal semantics expressed in the channel-based coordination language Reo. Such transformations enable the animated execution and verification of the aforementioned notations with the help of v...
متن کاملA Toolset for Supporting UML Static and Dynamic Model Checking
The Unified Modeling Language has become widely accepted as a standard in software development. Several tools have been produced to support UML model validation. However, most of them support either static or dynamic model checking; and no tools support to check both static and dynamic aspects of a UML model . But a UML model should include the static and dynamic aspects of a software system. F...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- J. UCS
دوره 20 شماره
صفحات -
تاریخ انتشار 2014