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. New suite introduces ultrascalable quantum security gateways and more. 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. 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. Model checking of software product lines in presence of. The familybased product line model checking approach described in the previous section has two major limitations. Tsinghua national laboratory for information science and technology tnlist, tsinghua university, beijing 84, china 2. 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. After a model advisor analysis, you can highlight the results and fix check warnings. Probabilistic model checking for energy analysis in software product lines. Model checking for software product lines with snip core.
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. Modeling and model checking software product lines. Towards modular verification of software product lines with mcrl2. 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. Product line model check product family entry transition software product line. Most software developers today rely on only a small number of techniques to check their code for defects.
Symbolic model checking of software product lines ieee xplore. Model checking product lines martin leucker partially joint work with alarico campetelli, alexander gruler and daniel thoma university of lubeck dagstuhl, february 25th, 20. Component based approaches play an important role in development of product lines. In general, spl in software engineering is a young discipline, but a very.
Product line engineering is a widely used approach for the efficient development of whole portfolios of software products. Model checking check whether the system satisfies a temporallogic formula. The approach is based on the deltaccs calculus for modular variability modeling that allows for reasoning about behavioral change impact in a concise way. Productline analysis, software product lines, program fami lies, deductive verification, theorem proving, model checking. 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. His research interests are software product lines and componentbase software engineering. 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. 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. We present snip, an efficient model checker for software product lines spls.
Safety analysis of software product lines using statebased. Symbolic model checking of software product lines andreas classen, patrick heymans, pierreyves schobbens, axel legay to cite this version. Model checking partial software product line designs. This thesis provides methods for developing model driven software product lines, in terms of development methodology, automated assistance and spl evolution support. Modeldriven engineering for software product lines hindawi. Efficient software product line model checking using induction and a sat solver. Software product line engineering combines the individual develop ments of systems to the development of a family of.
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 features at a. Feature model is a popular formalism for describing the commonality and variability of a software product line in terms of features. If you have parallel computing toolbox, you can run the model advisor in the background. 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. How to launch cmd, check system hardware and software. The modelling and analysis by means of process calculi and formal veri. Organization where development was previously done according to the v model 76. Reducing the model checking cost of product lines using. Compositional model checking of software product lines using. 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. 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. Variability modeling in model driven software product line engineering hassan gomaa1, michael e.
In a software product line spl, a collection of software products is defined by their commonalities in terms of features rather than. Below are some wellknown model checkers, categorized by whether the specification is a formula or an. As each individual verification suffers from state explosion, it is crucial to propose efficient formalisms and heuristics. 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. Model checking product lines institute for software. These keywords were added by machine and not by the authors. Test models and algorithms for modelbased testing of. Testrelated activities that can be used to form the test process for a product line organization are described. Model checking of software product lines in presence of nondeterminism and probabilities abstract. Components represent features, and different component combinations lead to different products. In proceedings of the 32nd international conference on. Jun 14, 2012 we present snip, an efficient model checker for software product lines spls. The idea is to identify states that have the same plccs process term but only differ in the. Onthefly hybrid model checking for software verification.
Testing a software product line sei digital library. We want to empower the reader to evaluate the performance of our approach and to verify our results. Finding your product name, product number, or serial. 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. In this paper, we consider model checking partial software product line designs, i. Potential synergies of theorem proving and model checking for software product lines thomas th. Incremental modelchecking of deltaoriented software product. Efficient verification of temporal properties in software product lines. Explore second deltaccs semantics for familybased spl model checking. Modeling variability in the context of software productlines has been around for. Generating variationpoint obligations for compositional. In software product line spl engineering, software products are build in families rather than individually. For this purpose, we enrich the featureoriented language flan with action rates, which specify the likelihood of exhibiting particular behaviour or of installing. Model checking software product lines with snip springerlink.
Model checking of software patrice godefroid bell laboratories, lucent technologies. A software product line spl is a development framework to design a family of closely related software products in an efficient and costeffective manner. Software product line engineering combines the individual developments of systems to the development of a family of systems consisting of common and variable assets. Simple yet effective technique for finding bugs in highlevel hardware and software. This report expands on the testing practice area described by clements and northrop. Pdf model checking for software product lines with snip. The paper presents a good overview of the state of the art in software model checking. Quantitative analysis of probabilistic models of software product lines with statistical model checking maurice h. 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. We investigate the suitability of statistical model checking techniques for analysing quantitative prop erties of software product line models with probabilistic. Testing a software product line december 2001 technical report john mcgregor.
Finally, we show how model checking can be used to determine whether a certain test case is applicable for a certain product variant. Incremental model checking of deltaoriented software product lines. Quantitative analysis of probabilistic models of software. Model checking systems there are many other successful examples of the use of model checking in hardware and protocol verification. When you turn on your computer, this software runs first to check that your hardware is working and then allows windows to start. 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. The remainder of this survey is structured as follows.
For all our methods we describe supporting tools and algorithms. Variability in software product lines is generally expressed in terms of features, and the number of potential. Feature models symbolise a presentation of the possible application configuration space, and can be customised based on specific domain requirements and stakeholder goals. Simulationbased abstractions for software product line model checking maxime cordy, andreas classen, gilles perrouin, pierreyves schobbens, patrick heymans, axel legay to cite this version. 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. 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. Software product line engineering and evolution university of. Software product line engineering combines the individual developments of systems to the development of a family of systems consisting of common and. Use one of the following methods to find your product name and model number.
Leader in cyber security solutions check point software. If you are unable to see the video or have further questions, select the appropriate link in the table below for detailed information. 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. Mcgregor is an associate professor of computer science at clemson university and a partner in luminary software, a software engineering consulting firm. Indeed, one has to verify all the software variants of a product line, whose number grows exponentially in the number of their differences. 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. 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. This article describes how this is done in practice, using the example of a product line of meteorological data systems. Modeling and model checking software product lines springerlink. Software program veri cationformal methods, model checking general terms algorithms, reliability, theory, veri cation keywords software product lines, features, speci cation 1. Section 9 surveys related work, and section 10 concludes the paper. Statistical model checking for product lines springerlink. 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.
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 in the product line, snip exploits. 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. Section 9 relates model checking to software testing and type systems, and section 10 presents a general conclusion. 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. The video in this document shows you the most common ways to find your product name model, product number, or serial number. In a software product line spl, a collection of software products is defined by their. We study the problem of model checking product line behaviours against temporal properties. Quantitative analysis of probabilistic models of software product. 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. Software product line an overview sciencedirect topics. Andreas classen, patrick heymans, pierreyves schobbens, axel legay.
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. 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. Pdf modeling and model checking software product lines. This is more difficult than for single systems because an spl with n features yields up to 2n individual systems to verify. Efficient software productline model checking using. Section 8, liveness and termination, briefly offers some hints for working in this area. Model checking spls is more difficult than for single systems, since the number of different products is potentially. Compositional model checking of software product lines using variation point obligations jing liu samik basu robyn r lutz received. Symbolic model checking of software product lines proceedings of. The model advisor generates an html report of the check. Variability modeling in modeldriven software product line. Throughout this article, we use a simplified wiper control system product line as.
This is more difficult than for single systems because a product line with n features yields up to 2n individual systems to verify. For software product lines, productivity gains are mostly related to the development process. Hp notebook pcs how do i find my product name or number. Model checking product lines isp institute for software. Model checking model checking systematic statespace exploration exhaustive testing. If you cannot turn on the computer or windows does not open, use the method to look on the product. Whereas classical model checkers are only capable of checking properties against each individual product. Holzmann bell laboratories, lucent technologies, murray hill, new jersey 07974, usa. Pdf symbolic model checking of software product lines. Sample feature model software product line domain engineering organisational management application engineering adapted version, obscures product from which data.
Splverifier is a tool chain for featureaware verification of software product lines spl. We study the problem of model checking software product line spl behaviours against temporal properties. Model checking lots of systems proceedings of the 32nd acm. A window like the one below will be launched and you will be able to proceed with checking for system software and hardware specification. We use rebeca to model product families in a componentbased manner, as a basis to explain our approach. Modeling variability in the context of software product lines has been around for about 25 years in the research community.
Generating counterexamples of modelbased software product. Many spls are critical and would benefit from efficient verification through model checking. Modern softwareintensive systems tend to exhibit more and more diversity, e. Analysis strategies for software product lines cmu school of. Four are standalone java programs and three are implementations of software product lines. For this purpose, we enrich the featureoriented language flan with action rates, which specify the likelihood of exhibiting par. Citeseerx document details isaac councill, lee giles, pradeep teregowda. Behavioural modelling and verification of realtime software product. This is more difficult than for single systems because an spl with n features yields up to 2 n individual systems to verify. Maxime cordy, andreas classen, gilles perrouin, pierreyves schobbens, patrick heymans, et al. We presented a novel incremental model checking strategy for efficiently verifying deltaoriented software product lines. You can access the bios to find information about your computer and its hardware without using windows. Analysis strategies for software product lines 3 we refer the reader to a recent survey benavides et al. The model checking problem for software product lines is harder than for single systems.
Modelling and model checking software product lines. Typechecking software product lines a formal approach. The paper presents a hybrid model checking approach for java programs. Test models and algorithms for model based testing of software product lines mahsa varshosaz. Probabilistic model checking for energy analysis in software. Systematic software testing state space product of os processes dynamic semantics systematically drive. Software product line engineering with feature models. The fact that industry intel, ibm, motorola is starting to use model checking is encouraging. How to find your hp laptop name, product number, or serial number. Learn how a chemicals leader achieved sdwan security and performance with check point and vmware. It started with feature modeling and soon enough was extended to handle many different concerns.
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. The number of combinations is exponential in the number of features, which makes the cost of product line model checking. Simulationbased abstractions for software productline. 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. Dec 04, 2014 model checking of software product lines in presence of nondeterminism and probabilities abstract. To check for system software and hardware, type systeminfo in the command line and press the enter on your keyboard. Simulationbased abstractions for software productline model. How to find the product model of your dell computer dell us. Using this example we will show how a product line is designed, and how product variants can be derived automatically.
1082 368 950 380 199 1208 121 838 361 1177 1008 735 473 1177 303 1165 1263 521 69 466 343 273 1211 1208 1000 180 1351 1171 245 991 1054 120 111 562 639 178