Model checking of software product lines

When you turn on your computer, this software runs first to check that your hardware is working and then allows windows to start. Symbolic model checking of software product lines ieee xplore. In general, spl in software engineering is a young discipline, but a very. It started with feature modeling and soon enough was extended to handle many different concerns. Sample feature model software product line domain engineering organisational management application engineering adapted version, obscures product from which data. This is more difficult than for single systems because an spl with n features yields up to 2n individual systems to verify. Productline analysis, software product lines, program fami lies, deductive verification, theorem proving, model checking. Simulationbased abstractions for software product line model checking maxime cordy, andreas classen, gilles perrouin, pierreyves schobbens, patrick heymans, axel legay to cite this version. Modern softwareintensive systems tend to exhibit more and more diversity, e. Onthefly hybrid model checking for software verification. Compositional model checking of software product lines using variation point obligations jing liu samik basu robyn r lutz received. Model checking lots of systems proceedings of the 32nd acm. Software product line engineering combines the individual developments of systems to the development of a family of systems consisting of common and variable assets. Efficient software productline model checking using.

This report expands on the testing practice area described by clements and northrop. Safety analysis of software product lines using statebased. After a model advisor analysis, you can highlight the results and fix check warnings. Pdf symbolic model checking of software product lines. Most software developers today rely on only a small number of techniques to check their code for defects. 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. If you have parallel computing toolbox, you can run the model advisor in the background. 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. 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.

In this paper, we consider model checking partial software product line designs, i. Incremental model checking of deltaoriented software. Reducing the model checking cost of product lines using. Citeseerx document details isaac councill, lee giles, pradeep teregowda. These keywords were added by machine and not by the authors. 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. 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. Mcgregor is an associate professor of computer science at clemson university and a partner in luminary software, a software engineering consulting firm. Pdf modeling and model checking software product lines.

Indeed, one has to verify all the software variants of a product line, whose number grows exponentially in the number of their differences. In a software product line spl, a collection of software products is defined by their commonalities in terms of features rather than. Explore second deltaccs semantics for familybased spl model checking. How to find your hp laptop name, product number, or serial number. Analysis strategies for software product lines cmu school of. Model checking product lines isp institute for software. We present snip, an efficient model checker for software product lines spls. 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.

Model checking product lines institute for software. Modeling and model checking software product lines springerlink. Use one of the following methods to find your product name and model number. Simulationbased abstractions for software productline model. Potential synergies of theorem proving and model checking for software product lines thomas th. This is more difficult than for single systems because a product line with n features yields up to 2n individual systems to verify. Model checking of software product lines in presence of nondeterminism and probabilities abstract. 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.

Andreas classen, patrick heymans, pierreyves schobbens, axel legay. Testing a software product line sei digital library. The number of combinations is exponential in the number of features, which makes the cost of product line model checking. Software product line engineering and evolution university of. 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. Splverifier is a tool chain for featureaware verification of software product lines spl. Model checking systems there are many other successful examples of the use of model checking in hardware and protocol verification. This thesis provides methods for developing model driven software product lines, in terms of development methodology, automated assistance and spl evolution support. 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. As each individual verification suffers from state explosion, it is crucial to propose efficient formalisms and heuristics. We study the problem of model checking product line behaviours against temporal properties. Four are standalone java programs and three are implementations of software product lines. The approach is based on the deltaccs calculus for modular variability modeling that allows for reasoning about behavioral change impact in a concise way. 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.

Model checking of software product lines in presence 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. 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.

Product line model check product family entry transition software product line. Model checking of software patrice godefroid bell laboratories, lucent technologies. To check for system software and hardware, type systeminfo in the command line and press the enter on your keyboard. The remainder of this survey is structured as follows. His research interests are software product lines and componentbase software engineering. 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. 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. Product line engineering is a widely used approach for the efficient development of whole portfolios of software products. Hp notebook pcs how do i find my product name or number. Variability in software product lines is generally expressed in terms of features, and the number of potential. Organization where development was previously done according to the v model 76. 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.

Modeldriven engineering for software product lines hindawi. Leader in cyber security solutions check point software. Symbolic model checking of software product lines proceedings of. Incremental modelchecking of deltaoriented software product. The familybased product line model checking approach described in the previous section has two major limitations. The model advisor generates an html report of the check. 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. For all our methods we describe supporting tools and algorithms. 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. A software product line spl is a development framework to design a family of closely related software products in an efficient and costeffective manner.

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. 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. Whereas classical model checkers are only capable of checking properties against each individual product. Test models and algorithms for modelbased testing of.

For this purpose, we enrich the featureoriented language flan with action rates, which specify the likelihood of exhibiting particular behaviour or of installing. Typechecking software product lines a formal approach. This is more difficult than for single systems because an spl with n features yields up to 2 n individual systems to verify. Software product line engineering combines the individual develop ments of systems to the development of a family of. Efficient software product line model checking using induction and a sat solver. 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. Section 9 relates model checking to software testing and type systems, and section 10 presents a general conclusion. We presented a novel incremental model checking strategy for efficiently verifying deltaoriented software product lines. The fact that industry intel, ibm, motorola is starting to use model checking is encouraging. 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. The paper presents a hybrid model checking approach for java programs. Feature models symbolise a presentation of the possible application configuration space, and can be customised based on specific domain requirements and stakeholder goals.

The idea is to identify states that have the same plccs process term but only differ in the. 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. Incremental model checking of deltaoriented software product. 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. How to launch cmd, check system hardware and software. 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. 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. Systematic software testing state space product of os processes dynamic semantics systematically drive. Simulationbased abstractions for software productline. 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.

Variability modeling in model driven software product line engineering hassan gomaa1, michael e. Many spls are critical and would benefit from efficient verification through model checking. The model checking problem for software product lines is harder than for single systems. Tsinghua national laboratory for information science and technology tnlist, tsinghua university, beijing 84, china 2. Pdf model checking for software product lines with snip. 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. Model checking spls is more difficult than for single systems, since the number of different products is potentially. Section 8 describes an approach to model check properties of dynamic feature nets. Model checking model checking systematic statespace exploration exhaustive testing. Symbolic model checking of software product lines andreas classen, patrick heymans, pierreyves schobbens, axel legay to cite this version. We use rebeca to model product families in a componentbased manner, as a basis to explain our approach. Finding your product name, product number, or serial.

Test models and algorithms for model based testing of software product lines mahsa varshosaz. Modeling variability in the context of software product lines has been around for about 25 years in the research community. Using this example we will show how a product line is designed, and how product variants can be derived automatically. Statistical model checking for product lines springerlink. It traces its roots to logic and theorem proving, both to. Model checking for software product lines with snip core. Software product line engineering with feature models. Variability modeling in modeldriven software product line. Model checking software product lines with snip springerlink. Modeling and model checking software product lines. Behavioural modelling and verification of realtime software product.

Currently, we are integrating these in an integrated tool suite supporting several aspects of model based testing for software product lines. You can access the bios to find information about your computer and its hardware without using windows. In a software product line spl, a collection of software products is defined by their. Jun 14, 2012 we present snip, an efficient model checker for software product lines spls. Generating counterexamples of modelbased 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. Simple yet effective technique for finding bugs in highlevel hardware and software. For this purpose, we enrich the featureoriented language flan with action rates, which specify the likelihood of exhibiting par. Quantitative analysis of probabilistic models of software. Model checking product lines martin leucker partially joint work with alarico campetelli, alexander gruler and daniel thoma university of lubeck dagstuhl, february 25th, 20.

We investigate the suitability of statistical model checking techniques for analysing quantitative prop erties of software product line models with probabilistic. For software product lines, productivity gains are mostly related to the development process. We investigate the suitability of statistical model checking techniques for analysing quantitative properties of software product line models with probabilistic aspects. This article describes how this is done in practice, using the example of a product line of meteorological data systems. 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. Components represent features, and different component combinations lead to different products. The modelling and analysis by means of process calculi and formal veri. We study the problem of model checking software product line spl behaviours against temporal properties.

Probabilistic model checking for energy analysis in software product lines. If you cannot turn on the computer or windows does not open, use the method to look on the product. In software product line spl engineering, software products are build in families rather than individually. Efficient verification of temporal properties in software product lines. 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.

In proceedings of the 32nd international conference on. The paper presents a good overview of the state of the art in software model checking. Software product line engineering combines the individual developments of systems to the development of a family of systems consisting of common and. Holzmann bell laboratories, lucent technologies, murray hill, new jersey 07974, usa. Modelling and model checking software product lines.

Compositional model checking of software product lines using. Software product line an overview sciencedirect topics. Quantitative analysis of probabilistic models of software product lines with statistical model checking maurice h. If you are unable to see the video or have further questions, select the appropriate link in the table below for detailed information. The video in this document shows you the most common ways to find your product name model, product number, or serial number. Section 9 surveys related work, and section 10 concludes the paper. Testrelated activities that can be used to form the test process for a product line organization are described. International audiencewe present snip, an efficient model checker for software product lines spls. New suite introduces ultrascalable quantum security gateways and more. Whereas classical model checkers are only capable of checking properties against each individual product in the product line, snip exploits. Model checking check whether the system satisfies a temporallogic formula. We want to empower the reader to evaluate the performance of our approach and to verify our results. Probabilistic model checking for energy analysis in software. Below are some wellknown model checkers, categorized by whether the specification is a formula or an.

Software program veri cationformal methods, model checking general terms algorithms, reliability, theory, veri cation keywords software product lines, features, speci cation 1. Section 8, liveness and termination, briefly offers some hints for working in this area. 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. How to find the product model of your dell computer dell us. Generating variationpoint obligations for compositional. Modeling variability in the context of software productlines has been around for.

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. 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. Analysis strategies for software product lines 3 we refer the reader to a recent survey benavides et al. Feature model is a popular formalism for describing the commonality and variability of a software product line in terms of features. Model checking partial software product line designs. Testing a software product line december 2001 technical report john mcgregor. Dec 04, 2014 model checking of software product lines in presence of nondeterminism and probabilities abstract. Potential synergies of theorem proving and model checking for. Incremental model checking of deltaoriented software product lines. Throughout this article, we use a simplified wiper control system product line as. Component based approaches play an important role in development of product lines.

730 923 222 1613 439 1161 519 701 1219 540 811 547 1513 101 273 1432 297 1063 1454 1242 1519 1020 355 928 1199 812 1481 1447 808 1368 212 988 721 877 525 959 723