Symbolic Boolean manipulation with ordered binary-decision diagrams
ACM Computing Surveys (CSUR)
Symbolic model checking: 1020 states and beyond
Information and Computation - Special issue: Selections from 1990 IEEE symposium on logic in computer science
Software product lines: practices and patterns
Software product lines: practices and patterns
Feature integration using a feature construct
Science of Computer Programming
Symbolic Model Checking
Verifying cross-cutting features as open systems
Proceedings of the 10th ACM SIGSOFT symposium on Foundations of software engineering
Feature interaction: a critical review and considered forecast
Computer Networks: The International Journal of Computer and Telecommunications Networking
Superimposition for Interacting Processes
CONCUR '90 Proceedings of the Theories of Concurrency: Unification and Extension
Proceedings of the International Workshop on Automatic Verification Methods for Finite State Systems
Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic
Logic of Programs, Workshop
A foundation for behavioural conformance in software product line architectures
Proceedings of the ISSTA 2006 workshop on Role of software architecture for testing and analysis
Feature Diagrams: A Survey and a Formal Semantics
RE '06 Proceedings of the 14th IEEE International Requirements Engineering Conference
Automated analysis of feature models: challenges ahead
Communications of the ACM - Software product line
A behavioural model for product families
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Safety analysis of software product lines using state-based modeling
Journal of Systems and Software
The temporal logic of programs
SFCS '77 Proceedings of the 18th Annual Symposium on Foundations of Computer Science
Modeling and Model Checking Software Product Lines
FMOODS '08 Proceedings of the 10th IFIP WG 6.1 international conference on Formal Methods for Open Object-Based Distributed Systems
Formal Modeling for Product Families Engineering
SPLC '08 Proceedings of the 2008 12th International Software Product Line Conference
Taming Dynamically Adaptive Systems using models and aspects
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Configuration Lifting: Verification meets Software Configuration
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
Model Checking of Domain Artifacts in Product Line Engineering
ASE '09 Proceedings of the 2009 IEEE/ACM International Conference on Automated Software Engineering
Relating requirements and feature configurations: a systematic approach
Proceedings of the 13th International Software Product Line Conference
Modal I/O automata for interface and product line theories
ESOP'07 Proceedings of the 16th European conference on Programming
What's in a feature: a requirements engineering perspective
FASE'08/ETAPS'08 Proceedings of the Theory and practice of software, 11th international conference on Fundamental approaches to software engineering
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
A logical framework to deal with variability
IFM'10 Proceedings of the 8th international conference on Integrated formal methods
Mapping features to models: a template approach based on superimposed variants
GPCE'05 Proceedings of the 4th international conference on Generative Programming and Component Engineering
Design and validation of variability in product lines
Proceedings of the 2nd International Workshop on Product Line Approaches in Software Engineering
A model-checking tool for families of services
FMOODS'11/FORTE'11 Proceedings of the joint 13th IFIP WG 6.1 and 30th IFIP WG 6.1 international conference on Formal techniques for distributed systems
Model checking requirements at run-time in adaptive systems
Proceedings of the 8th workshop on Assurances for self-adaptive systems
Guaranteeing correct evolution of software product lines: setting up the problem
SERENE'11 Proceedings of the Third international conference on Software engineering for resilient systems
Static analysis of aspect interaction and composition in component models
Proceedings of the 10th ACM international conference on Generative programming and component engineering
Managing evolution in software product lines: a model-checking perspective
Proceedings of the Sixth International Workshop on Variability Modeling of Software-Intensive Systems
Simulation-based abstractions for software product-line model checking
Proceedings of the 34th International Conference on Software Engineering
Behavioural modelling and verification of real-time software product lines
Proceedings of the 16th International Software Product Line Conference - Volume 1
Proceedings of the 16th International Software Product Line Conference - Volume 1
Towards an executable algebra for product lines
Proceedings of the 16th International Software Product Line Conference - Volume 2
Family-based deductive verification of software product lines
Proceedings of the 11th International Conference on Generative Programming and Component Engineering
Conditioned model slicing of feature-annotated state machines
FOSD '12 Proceedings of the 4th International Workshop on Feature-Oriented Software Development
A variability-aware module system
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
A formal approach to software product families
ISoLA'12 Proceedings of the 5th international conference on Leveraging Applications of Formal Methods, Verification and Validation: technologies for mastering change - Volume Part I
A compositional framework to derive product line behavioural descriptions
ISoLA'12 Proceedings of the 5th international conference on Leveraging Applications of Formal Methods, Verification and Validation: technologies for mastering change - Volume Part I
A vision for behavioural model-driven validation of software product lines
ISoLA'12 Proceedings of the 5th international conference on Leveraging Applications of Formal Methods, Verification and Validation: technologies for mastering change - Volume Part I
Assume-guarantee testing of evolving software product line architectures
SERENE'12 Proceedings of the 4th international conference on Software Engineering for Resilient Systems
Feature-oriented software evolution
Proceedings of the Seventh International Workshop on Variability Modelling of Software-intensive Systems
Support for reverse engineering and maintaining feature models
Proceedings of the Seventh International Workshop on Variability Modelling of Software-intensive Systems
Model-based verification of quantitative non-functional properties for software product lines
Information and Software Technology
Variability in software: state of the art and future directions
FASE'13 Proceedings of the 16th international conference on Fundamental Approaches to Software Engineering
Beyond boolean product-line model checking: dealing with feature attributes and multi-features
Proceedings of the 2013 International Conference on Software Engineering
Strategies for product-line verification: case studies and experiments
Proceedings of the 2013 International Conference on Software Engineering
Efficient quality assurance of variability-intensive systems
Proceedings of the 2013 International Conference on Software Engineering
Incrementally synthesizing controllers from scenario-based product line specifications
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Generating counterexamples of model-based software product lines: an exploratory study
Proceedings of the 17th International Software Product Line Conference
SPLLIFT: statically analyzing software product lines in minutes instead of years
Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation
ProVeLines: a product line of verifiers for software product lines
Proceedings of the 17th International Software Product Line Conference co-located workshops
Proceedings of the 17th International Software Product Line Conference co-located workshops
Feature-interaction detection based on feature-based specifications
Computer Networks: The International Journal of Computer and Telecommunications Networking
Extending Type Inference to Variational Programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
An abstract representation of variational graphs
Proceedings of the 5th International Workshop on Feature-Oriented Software Development
Intraprocedural dataflow analysis for software product lines
Transactions on Aspect-Oriented Software Development X
Towards statistical prioritization for software product lines testing
Proceedings of the Eighth International Workshop on Variability Modelling of Software-Intensive Systems
Formal semantics, modular specification, and symbolic verification of product-line behaviour
Science of Computer Programming
Reducing the verification cost of evolving product families using static analysis techniques
Science of Computer Programming
Hi-index | 0.00 |
We study the problem of model checking software product line (SPL) behaviours against temporal properties. This is more difficult than for single systems because an SPL with n features yields up to 2n individual systems to verify. As each individual verification suffers from state explosion, it is crucial to propose efficient formalisms and heuristics. We recently proposed featured transition systems (FTS), a compact representation for SPL behaviour, and defined algorithms for model checking FTS against linear temporal properties. Although they showed to outperform individual system verifications, they still face a state explosion problem as they enumerate and visit system states one by one. In this paper, we tackle this latter problem by using symbolic representations of the state space. This lead us to consider computation tree logic (CTL) which is supported by the industry-strength symbolic model checker NuSMV. We first lay the foundations for symbolic SPL model checking by defining a feature-oriented version of CTL and its dedicated algorithms. We then describe an implementation that adapts the NuSMV language and tool infrastructure. Finally, we propose theoretical and empirical evaluations of our results. The benchmarks show that for certain properties, our algorithm is over a hundred times faster than model checking each system with the standard algorithm.