Automatic verification of finite-state concurrent systems using temporal logic specifications
ACM Transactions on Programming Languages and Systems (TOPLAS)
The design and implementation of hierarchical software systems with reusable components
ACM Transactions on Software Engineering and Methodology (TOSEM)
The programming language jigsaw: mixins, modularity and multiple inheritance
The programming language jigsaw: mixins, modularity and multiple inheritance
Signatures for a network protocol stack: a systems application of Standard ML
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
Computer-aided verification of coordinating processes: the automata-theoretic approach
Computer-aided verification of coordinating processes: the automata-theoretic approach
Using role components in implement collaboration-based designs
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Model checking of hierarchical state machines
SIGSOFT '98/FSE-6 Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering
Modular object-oriented programming with units and mixins
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
The Feature and Service Interaction Problem in Telecommunications Systems: A Survey
IEEE Transactions on Software Engineering
Distributed Feature Composition: A Virtual Architecture for Telecommunications Services
IEEE Transactions on Software Engineering
Bandera: extracting finite-state models from Java source code
Proceedings of the 22nd international conference on Software engineering
A conceptual basis for feature engineering
Journal of Systems and Software
Static checking of system behaviors using derived component assumptions
ACM Transactions on Software Engineering and Methodology (TOSEM)
A component-based approach to building formal analysis tools
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
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
Jiazzi: new-age components for old-fasioned Java
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Decomposing refinement proofs using assume-guarantee reasoning
Proceedings of the 2000 IEEE/ACM international conference on Computer-aided design
Achieving Extensibility Through Product-Lines and Domain-Specific Languages: A Case Study
ICSR-6 Proceedings of the 6th International Conerence on Software Reuse: Advances in Software Reusability
Assume-Guarantee Model Checking of Software: A Comparative Case Study
Proceedings of the 5th and 6th International SPIN Workshops on Theoretical and Practical Aspects of SPIN Model Checking
Implementing Layered Designs with Mixin Layers
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
Modular Model Checking of Software
TACAS '98 Proceedings of the 4th International Conference on Tools and Algorithms for Construction and Analysis of Systems
Assume-Guarantee Based Compositional Reasoning for Synchronous Timing Diagrams
TACAS 2001 Proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
Branching vs. Linear Time: Final Showdown
TACAS 2001 Proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
Deductive Verification of Modular Systems
COMPOS'97 Revised Lectures from the International Symposium on Compositionality: The Significant Difference
COMPOS'97 Revised Lectures from the International Symposium on Compositionality: The Significant Difference
Model Checking and Modular Verification
CONCUR '91 Proceedings of the 2nd International Conference on Concurrency Theory
Efficient Reachability Analysis of Hierarchical Reactive Machines
CAV '00 Proceedings of the 12th International Conference on Computer Aided Verification
The e Language: A Fresh Separation of Concerns
TOOLS '01 Proceedings of the Technology of Object-Oriented Languages and Systems
JTS: Tools for Implementing Domain-Specific Languages
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
Building Adaptive Systems Using Ensemble
Building Adaptive Systems Using Ensemble
Flow Analysis for Verifying Specifications of Concurrent and Distributed Software
Flow Analysis for Verifying Specifications of Concurrent and Distributed Software
DrScheme: a programming environment for Scheme
Journal of Functional Programming
Verifying cross-cutting features as open systems
Proceedings of the 10th ACM SIGSOFT symposium on Foundations of software engineering
Verifying cross-cutting features as open systems
ACM SIGSOFT Software Engineering Notes
A framework and tool supports for testing modularity of software design
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Local Verification Using a Distributed State Space
Fundamenta Informaticae
Hi-index | 0.00 |
The effectiveness of modular model checking for hardware makes it tempting to apply these techniques to software. Existing modular techniques have been driven by the parallel-composition semantics of hardware. New architectures for software, however, combine sequential and parallel composition. These new, feature-oriented, architectures mandate developing new methodologies. They repay the effort by yielding better modular verification techniques.This paper demonstrates the impact of feature-oriented architectures on modular model checking. We have implemented an explicit-state model checker and applied it to a real software system to validate our prior, theoretical work on feature-oriented verification. Our study highlights three results. First, it confirms that the state-space overhead arising from our methodology is minimal. Second, it demonstrates that feature-oriented architectures reduce the need for the property decompositions that often plague modular verification. Third, it reveals that, independent of our methodology, feature-oriented designs inherently control state-space explosion.