Automatic verification of finite-state concurrent systems using temporal logic specifications
ACM Transactions on Programming Languages and Systems (TOPLAS)
Model checking
Modular verification of collaboration-based software designs
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
An Efficient Algorithm for Branching Bisimulation and Stuttering Equivalence
ICALP '90 Proceedings of the 17th International Colloquium on Automata, Languages and Programming
A Practical Technique for Process Abstraction
CONCUR '93 Proceedings of the 4th International Conference on Concurrency Theory
Counterexample-Guided Abstraction Refinement
CAV '00 Proceedings of the 12th International Conference on Computer Aided Verification
Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic
Logic of Programs, Workshop
Interfaces for Modular Feature Verification
Proceedings of the 17th IEEE international conference on Automated software engineering
An algebraic definition of simulation between programs
An algebraic definition of simulation between programs
Verifying aspect advice modularly
Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering
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
The temporal logic of programs
SFCS '77 Proceedings of the 18th Annual Symposium on Foundations of Computer Science
Spin model checker, the: primer and reference manual
Spin model checker, the: primer and reference manual
Learning operational requirements from goal models
ICSE '09 Proceedings of the 31st International Conference on 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
Modal I/O automata for interface and product line theories
ESOP'07 Proceedings of the 16th European conference on Programming
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Compositional model checking of software product lines using variation point obligations
Automated Software Engineering
A logical framework to deal with variability
IFM'10 Proceedings of the 8th international conference on Integrated formal methods
Exploring inconsistencies between modal transition systems
Software and Systems Modeling (SoSyM)
Symbolic model checking of software product lines
Proceedings of the 33rd International Conference on Software Engineering
Formal Description of Variability in Product Families
SPLC '11 Proceedings of the 2011 15th International Software Product Line Conference
SPLC '11 Proceedings of the 2011 15th International Software Product Line Conference
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
Beyond boolean product-line model checking: dealing with feature attributes and multi-features
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
ProVeLines: a product line of verifiers for software product lines
Proceedings of the 17th International Software Product Line Conference co-located workshops
A comparison of product-based, feature-based, and family-based type checking
Proceedings of the 12th international conference on Generative programming: concepts & experiences
Extending Type Inference to Variational Programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Formal semantics, modular specification, and symbolic verification of product-line behaviour
Science of Computer Programming
Hi-index | 0.00 |
Software Product Line (SPL) engineering is a software engineering paradigm that exploits the commonality between similar software products to reduce life cycle costs and time-to-market. Many SPLs are critical and would benefit from efficient verification through model checking. Model checking SPLs is more difficult than for single systems, since the number of different products is potentially huge. In previous work, we introduced Featured Transition Systems (FTS), a formal, compact representation of SPL behaviour, and provided efficient algorithms to verify FTS. Yet, we still face the state explosion problem, like any model checking-based verification. Model abstraction is the most relevant answer to state explosion. In this paper, we define a novel simulation relation for FTS and provide an algorithm to compute it. We extend well-known simulation preservation properties to FTS and thus lay the theoretical foundations for abstraction-based model checking of SPLs. We evaluate our approach by comparing the cost of FTS-based simulation and abstraction with respect to product-by-product methods. Our results show that FTS are a solid foundation for simulation-based model checking of SPL.