ACM Transactions on Information and System Security (TISSEC)
A Standard Problem for Evaluating Product-Line Methodologies
GCSE '01 Proceedings of the Third International Conference on Generative and Component-Based Software Engineering
Adding trace matching with free variables to AspectJ
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Safe composition of product lines
GPCE '07 Proceedings of the 6th international conference on Generative programming and component engineering
Mop: an efficient and generic runtime verification framework
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
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
Finding programming errors earlier by evaluating runtime monitors ahead-of-time
Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering
Dependent advice: a general approach to optimizing history-based aspects
Proceedings of the 8th ACM international conference on Aspect-oriented software development
Type-Checking Software Product Lines - A Formal Approach
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
Scaling Java points-to analysis using SPARK
CC'03 Proceedings of the 12th international conference on Compiler construction
Efficient hybrid typestate analysis by determining continuation-equivalent states
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
A staged static program analysis to improve the performance of runtime monitoring
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Reducing combinatorics in testing product lines
Proceedings of the tenth international conference on Aspect-oriented software development
Intraprocedural dataflow analysis for software product lines
Proceedings of the 11th annual international conference on Aspect-oriented Software Development
Partially Evaluating Finite-State Runtime Monitors Ahead of Time
ACM Transactions on Programming Languages and Systems (TOPLAS)
Delta-Oriented monitor specification
ISoLA'12 Proceedings of the 5th international conference on Leveraging Applications of Formal Methods, Verification and Validation: technologies for mastering change - Volume Part I
Runtime verification: the application perspective
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
SPLat: lightweight dynamic analysis for reducing combinatorics in testing configurable systems
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
SPLLIFT: statically analyzing software product lines in minutes instead of years
Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation
Combining concern input with program analysis for bloat detection
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Intraprocedural dataflow analysis for software product lines
Transactions on Aspect-Oriented Software Development X
Reducing the verification cost of evolving product families using static analysis techniques
Science of Computer Programming
Hi-index | 0.00 |
A software product line is a family of programs where each program is defined by a unique combination of features. Product lines, like conventional programs, can be checked for safety properties through execution monitoring. However, because a product line induces a number of programs that is potentially exponential in the number of features, it would be very expensive to use existing monitoring techniques: one would have to apply those techniques to every single program. Doing so would also be wasteful because many programs can provably never violate the stated property. We introduce a monitoring technique dedicated to product lines that, given a safety property, statically determines the feature combinations that cannot possibly violate the property, thus reducing the number of programs to monitor. Experiments show that our technique is effective, particularly for safety properties that crosscut many optional features.