Model checking of software product lines

Leader in cyber security solutions check point software. In this paper we introduce the process algebra plccs as a product line extension of ccs and show how to model the overall behavior of an entire family within plccs. If you are unable to see the video or have further questions, select the appropriate link in the table below for detailed information. However, this effort is currently hampered by the difficulty of composing model checking results for the features in a way that allows reuse for subsequent products. Efficient software productline model checking using. Maxime cordy, andreas classen, gilles perrouin, pierreyves schobbens, patrick heymans, et al. Many spls are critical and would benefit from efficient verification through model checking. Model checking of software patrice godefroid bell laboratories, lucent technologies.

For all our methods we describe supporting tools and algorithms. Analysis strategies for software product lines 3 we refer the reader to a recent survey benavides et al. Software product line engineering combines the individual developments of systems to the development of a family of systems consisting of common and variable assets. Potential synergies of theorem proving and model checking for software product lines thomas th. Simulationbased abstractions for software productline. Jun 14, 2012 read model checking software product lines with snip, international journal on software tools for technology transfer on deepdyve, the largest online rental service for scholarly research with thousands of academic publications available at your fingertips. Variability modeling in modeldriven software product line. In a software product line spl, a collection of software products is defined by their commonalities in terms of features rather than. In section 2, we give a short introduction to software product lines using a running example and we present an overview on important software analysis that have been applied to soft. For this purpose, we enrich the featureoriented language flan with action rates, which specify the likelihood of exhibiting par. Safety analysis of software product lines using statebased modeling and compositional model checking by jing liu a dissertation submitted to the graduate faculty in partial ful. Nowadays, software product lines spls are being used in a variety of domains including safetycritical systems for which verification of the systems is a matter of concern.

Testing a software product line sei digital library. Software program veri cationformal methods, model checking general terms algorithms, reliability, theory, veri cation keywords software product lines, features, speci cation 1. Finding your product name, product number, or serial. These keywords were added by machine and not by the authors. Model checking model checking systematic statespace exploration exhaustive testing. Throughout this article, we use a simplified wiper control system product line as. Section 8 describes an approach to model check properties of dynamic feature nets. Modeling and model checking software product lines springerlink.

Safety analysis of software product lines using statebased. Modeling variability in the context of software productlines has been around for. As each individual verification suffers from state explosion, it is crucial to propose efficient formalisms and heuristics. Sample feature model software product line domain engineering organisational management application engineering adapted version, obscures product from which data.

Product line engineering is a widely used approach for the efficient development of whole portfolios of software products. Compositional model checking of software product lines using. Feature model is a popular formalism for describing the commonality and variability of a software product line in terms of features. Analysis strategies for software product lines cmu school of. The paper presents a hybrid model checking approach for java programs. Section 8, liveness and termination, briefly offers some hints for working in this area. The main idea of our approach is to use static slicing and static analysis techniques to tackle the state space explosion problem in model checking of componentbased software product lines. In computer science, model checking or property checking is a method for checking whether a finitestate model of a system meets a given specification a. Incremental modelchecking of deltaoriented software product. Typechecking software product lines a formal approach. Model checking of software product lines in presence of nondeterminism and probabilities abstract.

Symbolic model checking of software product lines ieee xplore. Probabilistic model checking for energy analysis in software product lines. Variability in software product lines is generally expressed in terms of features, and the number of potential. The familybased product line model checking approach described in the previous section has two major limitations. We use rebeca to model product families in a componentbased manner, as a basis to explain our approach. The video in this document shows you the most common ways to find your product name model, product number, or serial number. Systematic software testing state space product of os processes dynamic semantics systematically drive. Simple yet effective technique for finding bugs in highlevel hardware and software. Test models and algorithms for modelbased testing of. In this paper we introduce the process algebra plccs as a product line extension of ccs and show how to model the overall behavior of an. Model checking systems there are many other successful examples of the use of model checking in hardware and protocol verification. Pdf model checking for software product lines with snip. We study the problem of model checking software product line spl behaviours against temporal properties. Testrelated activities that can be used to form the test process for a product line organization are described.

Software product lines spls, or software product line development, refers to software engineering methods, tools and techniques for creating a collection of similar software systems from a shared set of software assets using a common means of production. Components represent features, and different component combinations lead to different products. The approach is based on the deltaccs calculus for modular variability modeling that allows for reasoning about behavioral change impact in a concise way. How to launch cmd, check system hardware and software. Four are standalone java programs and three are implementations of software product lines. Modelling and model checking software product lines. We presented a novel incremental model checking strategy for efficiently verifying deltaoriented software product lines. Productline analysis, software product lines, program fami lies, deductive verification, theorem proving, model checking. Software product line engineering combines the individual develop ments of systems to the development of a family of. Finally, we show how model checking can be used to determine whether a certain test case is applicable for a certain product variant. Quantitative analysis of probabilistic models of software product. His research interests are software product lines and componentbase software engineering.

Test models and algorithms for model based testing of software product lines mahsa varshosaz. If you cannot turn on the computer or windows does not open, use the method to look on the product. Compositional model checking of software product lines using variation point obligations jing liu samik basu robyn r lutz received. Feature models symbolise a presentation of the possible application configuration space, and can be customised based on specific domain requirements and stakeholder goals. Software product line engineering and evolution university of. Learn how a chemicals leader achieved sdwan security and performance with check point and vmware. This is more difficult than for single systems because an spl with n features yields up to 2n individual systems to verify. If you have parallel computing toolbox, you can run the model advisor in the background. In software product line spl engineering, software products are build in families rather than individually. Use one of the following methods to find your product name and model number. Modern softwareintensive systems tend to exhibit more and more diversity, e. Behavioural modelling and verification of realtime software product.

A window like the one below will be launched and you will be able to proceed with checking for system software and hardware specification. For software product lines, productivity gains are mostly related to the development process. This article describes how this is done in practice, using the example of a product line of meteorological data systems. Quantitative analysis of probabilistic models of software. In a software product line spl, a collection of software products is defined by their. Beyond being used for a mere description and documentation of variability, variability models are more and more leveraged to produce other artifacts, such as configurators.

Variability modeling in model driven software product line engineering hassan gomaa1, michael e. You can access the bios to find information about your computer and its hardware without using windows. Pdf modeling and model checking software product lines. Model checking partial software product line designs. The paper presents a good overview of the state of the art in software model checking. Most software developers today rely on only a small number of techniques to check their code for defects.

The idea is to identify states that have the same plccs process term but only differ in the. Modeling variability in the context of software product lines has been around for about 25 years in the research community. Software product line engineering combines the individual developments of systems to the development of a family of systems consisting of common and. A software product line spl is a development framework to design a family of closely related software products in an efficient and costeffective manner. Simulationbased abstractions for software productline model.

Variability in software product lines is generally expressed in terms of features, and the number of potential products is exponential in the number of features. As the use of product lines has increased, so has the need to verify the models used to construct the products in the product line. Quantitative analysis of probabilistic models of software product lines with statistical model checking maurice h. Component based approaches play an important role in development of product lines. Using this example we will show how a product line is designed, and how product variants can be derived automatically. Efficient software product line model checking using induction and a sat solver. Such paradigms, like model driven development mdd 7 or software product lines spl 8, 9 aim at decreasing development time by leveraging the reuse of software components or by mapping. We report on the suitability of statistical model checking for the analysis of quantitative properties of product line models by an extended treatment of earlier work by the authors. Statistical model checking for product lines springerlink. Section 9 relates model checking to software testing and type systems, and section 10 presents a general conclusion. International audiencewe present snip, an efficient model checker for software product lines spls. A featured transition system fts is a formal behavioural model for software product lines, which represents the behaviour of all the products of an spl in a single compact structure by. Mcgregor is an associate professor of computer science at clemson university and a partner in luminary software, a software engineering consulting firm. Most of the existing state of the art tools in spl provide analysis operations based only on the requirement specifications given in the form of feature models orthogonal variability models.

Currently, we are integrating these in an integrated tool suite supporting several aspects of model based testing for software product lines. It traces its roots to logic and theorem proving, both to. Organization where development was previously done according to the v model 76. Towards modular verification of software product lines with mcrl2. The remainder of this survey is structured as follows. Generating counterexamples of modelbased software product. Model checking product lines isp institute for software. After a model advisor analysis, you can highlight the results and fix check warnings. Jun 14, 2012 we present snip, an efficient model checker for software product lines spls. To check for system software and hardware, type systeminfo in the command line and press the enter on your keyboard. Variability in software prod uct lines is generally expressed in terms of features, and the number of potential products is exponential in the number of features. This is typically associated with hardware or software systems, where the specification contains liveness requirements such as avoidance of livelock as well as safety requirements such as avoidance of states representing. Incremental model checking of deltaoriented software.

For this purpose, we enrich the featureoriented language flan with action rates, which specify the likelihood of exhibiting particular behaviour or of installing. Testing a software product line december 2001 technical report john mcgregor. We study the problem of model checking product line behaviours against temporal properties. Symbolic model checking of software product lines andreas classen, patrick heymans, pierreyves schobbens, axel legay to cite this version. The model checking problem for software product lines is harder than for single systems.

In a modelbased software product line mspl, the variability of the domain is characterized in a variability model and the core artifacts are base models conforming to a modeling language also called metamodel. A software product line is a set of software intensive systems sharing a common, managed set of features that satisfy the specific needs of a particular market segment or mission and that are developed from a common set of core assets in a prescribed way 4. Hp notebook pcs how do i find my product name or number. Model checking check whether the system satisfies a temporallogic formula. Software product line engineering with feature models. Section 9 surveys related work, and section 10 concludes the paper. When you turn on your computer, this software runs first to check that your hardware is working and then allows windows to start. We present snip, an efficient model checker for software product lines spls. Tsinghua national laboratory for information science and technology tnlist, tsinghua university, beijing 84, china 2. Symbolic model checking of software product lines proceedings of. Software product lines spls, or software product line development, refers to software engineering methods, tools and techniques for creating a collection of similar software systems from a shared set of software assets using a common means of production the carnegie mellon software engineering institute defines a software product line as a set of software intensive systems that share a. How to find the product model of your dell computer dell us. Generating variationpoint obligations for compositional. For this purpose, we enrich the featureoriented language flan with action rates, which specify the likelihood of exhibiting particular behaviour or of installing features at a specific moment or in a specific order.

Modeldriven engineering for software product lines hindawi. In proceedings of the 32nd international conference on. Holzmann bell laboratories, lucent technologies, murray hill, new jersey 07974, usa. New suite introduces ultrascalable quantum security gateways and more. We investigate the suitability of statistical model checking techniques for analysing quantitative properties of software product line models with probabilistic aspects. Model checking for software product lines with snip core. Abstract this paper introduces a technique for incremental and compositional model checking that allows efficient reuse of model checking results associated with the features in a product line.

Generating variationpoint obligations for compositional model checking of software product lines abstract software product lines are widely used due to their advantageous reuse of shared features while still allowing optional and alternative features in the individual products. This thesis provides methods for developing model driven software product lines, in terms of development methodology, automated assistance and spl evolution support. Model checking lots of systems proceedings of the 32nd acm. Model checking product lines martin leucker partially joint work with alarico campetelli, alexander gruler and daniel thoma university of lubeck dagstuhl, february 25th, 20. The modelling and analysis by means of process calculi and formal veri. Simulationbased abstractions for software product line model checking maxime cordy, andreas classen, gilles perrouin, pierreyves schobbens, patrick heymans, axel legay to cite this version. This report expands on the testing practice area described by clements and northrop. Explore second deltaccs semantics for familybased spl model checking. Efficient verification of temporal properties in software product lines. It started with feature modeling and soon enough was extended to handle many different concerns. The fact that industry intel, ibm, motorola is starting to use model checking is encouraging.

We investigate the suitability of statistical model checking techniques for analysing quantitative prop erties of software product line models with probabilistic. In general, spl in software engineering is a young discipline, but a very. Onthefly hybrid model checking for software verification. We want to empower the reader to evaluate the performance of our approach and to verify our results.

Model checking of software product lines in presence of. Especially, software product line testing faces challenges in the vast number of versions and variants of software products to be tested, originating from a software product line, and consequently the risk for redundant testing. Model checking software product lines with snip springerlink. Incremental model checking of deltaoriented software product lines. How to find your hp laptop name, product number, or serial number.

Product line model check product family entry transition software product line. Reducing the model checking cost of product lines using. The basis of the approach is that products are built from a core asset base, a collection of artifacts that have been designed specifically for use across the portfolio. Whereas classical model checkers are only capable of checking properties against each individual product in the product line, snip exploits.

Andreas classen, patrick heymans, pierreyves schobbens, axel legay. The number of combinations is exponential in the number of features, which makes the cost of product line model checking. For this purpose, we enrich the featureoriented language flan with action rates, which specify the likelihood of exhibiting particular behaviour or of installing features at a. Below are some wellknown model checkers, categorized by whether the specification is a formula or an. Citeseerx document details isaac councill, lee giles, pradeep teregowda. Splverifier is a tool chain for featureaware verification of software product lines spl. Whereas classical model checkers are only capable of checking properties against each individual product in the product line, snip exploits specifically designed algorithms to check all products in a single step. Pdf symbolic model checking of software product lines. Software product line an overview sciencedirect topics. Whereas classical model checkers are only capable of checking properties against each individual product. Software product line spl engineering is a software engineering paradigm that exploits the commonality between similar software products to reduce life cycle costs and timetomarket.

Model checking product lines institute for software. The model advisor generates an html report of the check. Modeling and model checking software product lines. Dec 04, 2014 model checking of software product lines in presence of nondeterminism and probabilities abstract. Incremental model checking of deltaoriented software product. This is more difficult than for single systems because a product line with n features yields up to 2n individual systems to verify. In this paper, we consider model checking partial software product line designs, i. This is more difficult than for single systems because an spl with n features yields up to 2 n individual systems to verify. Probabilistic model checking for energy analysis in software. Model checking spls is more difficult than for single systems, since the number of different products is potentially. Potential synergies of theorem proving and model checking for. Dec 01, 2010 read compositional model checking of software product lines using variation point obligations, automated software engineering on deepdyve, the largest online rental service for scholarly research with thousands of academic publications available at your fingertips.