Automatic verification of finite-state concurrent systems using temporal logic specifications
ACM Transactions on Programming Languages and Systems (TOPLAS)
Common LISP: the language (2nd ed.)
Common LISP: the language (2nd ed.)
Design and validation of computer protocols
Design and validation of computer protocols
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
Architectural Tradeoffs for a Meaning-Preserving Program Restructuring Tool
IEEE Transactions on Software Engineering - Special issue on software architecture
Evolution and Reuse of Orthogonal Architecture
IEEE Transactions on Software Engineering
Software architecture: perspectives on an emerging discipline
Software architecture: perspectives on an emerging discipline
Using role components in implement collaboration-based designs
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Composition Validation and Subjectivity in GenVoca Generators
IEEE Transactions on Software Engineering
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Component software: beyond object-oriented programming
Component software: beyond object-oriented programming
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
Model checking
Bandera: extracting finite-state models from Java source code
Proceedings of the 22nd international conference on Software engineering
Static checking of system behaviors using derived component assumptions
ACM Transactions on Software Engineering and Methodology (TOSEM)
Component-based software engineering: putting the pieces together
Component-based software engineering: putting the pieces together
A component-based approach to building formal analysis tools
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Symbolic 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
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
VIS: A System for Verification and Synthesis
CAV '96 Proceedings of the 8th International Conference on Computer Aided Verification
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
Programming languages for reusable software components
Programming languages for reusable software components
DrScheme: a programming environment for Scheme
Journal of Functional Programming
Invariant-based specification, synthesis, and verification of synchronization in concurrent programs
Proceedings of the 24th International Conference on Software Engineering
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
IEEE Transactions on Software Engineering
The Influence of Software Module Systems on Modular Verification
Proceedings of the 9th International SPIN Workshop on Model Checking of Software
Verified systems by composition from verified components
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
Parameterized Interfaces for Open System Verification of Product Lines
Proceedings of the 19th IEEE international conference on Automated software engineering
Decompositional Verification of Component-based Systems-A Hybrid Approach
Proceedings of the 19th IEEE international conference on Automated software engineering
Verifying aspect advice modularly
Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering
A classification system and analysis for aspect-oriented programs
Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering
Crosscutting techniques in program specification and analysis
Proceedings of the 4th international conference on Aspect-oriented software development
Modular Verification of Open Features Using Three-Valued Model Checking
Automated Software Engineering
Specification and verification of inter-component constraints in CTL
SAVCBS '05 Proceedings of the 2005 conference on Specification and verification of component-based systems
Foundations of incremental aspect model-checking
ACM Transactions on Software Engineering and Methodology (TOSEM)
Safe composition of product lines
GPCE '07 Proceedings of the 6th international conference on Generative programming and component engineering
Model checking for aspect-oriented software evolution
SEPADS'05 Proceedings of the 4th WSEAS International Conference on Software Engineering, Parallel & Distributed Systems
Decomposing Verification Around End-User Features
Verified Software: Theories, Tools, Experiments
A Modeling Language for Program Design and Synthesis
Advances in Software Engineering
Modular verification of dynamically adaptive systems
Proceedings of the 8th ACM international conference on Aspect-oriented software development
Synthesizing components with sessions from collaboration-oriented service specifications
SDL'07 Proceedings of the 13th international SDL Forum conference on Design for dependable systems
Compositional model checking of software product lines using variation point obligations
Automated Software Engineering
The road to feature modularity?
Proceedings of the 15th International Software Product Line Conference, Volume 2
Toward validated composition in component-based adaptive middleware
SC'11 Proceedings of the 10th international conference on Software composition
Managing evolution in software product lines: a model-checking perspective
Proceedings of the Sixth International Workshop on Variability Modeling of Software-Intensive Systems
Synthesizing state-machine behaviour from UML collaborations and use case maps
SDL'05 Proceedings of the 12th international conference on Model Driven
An automata-theoretic approach for model-checking systems with unspecified components
FATES'04 Proceedings of the 4th international conference on Formal Approaches to Software Testing
Implementing application-specific object-oriented theories in HOL
ICTAC'05 Proceedings of the Second international conference on Theoretical Aspects of Computing
Testing systems of concurrent black-boxes—an automata-theoretic and decompositional approach
FATES'05 Proceedings of the 5th international conference on Formal Approaches to Software Testing
Simulation-based abstractions for software product-line model checking
Proceedings of the 34th International Conference on Software Engineering
Product-line verification with feature-oriented contracts
Proceedings of the 2013 International Symposium on Software Testing and Analysis
On the realizability of collaborative services
Software and Systems Modeling (SoSyM)
Formal semantics, modular specification, and symbolic verification of product-line behaviour
Science of Computer Programming
Hi-index | 0.00 |
Most existing modular model checking techniques betray their hardware roots: they assume that modules compose in parallel. In contrast, collaboration-based software designs, which have proven very successful in several domains, are sequential in the simplest case. Most interesting collaboration-based designs are really quasi-sequential compositions of parallel compositions. These designs demand and inspire new verification techniques. This paper presents algorithms that exploit the software's modular decomposition to verify collaboration-based designs. Our technique can verify most properties locally in the collaborations; we also characterize when a global state space construction is unavoidable. We have validated our proposal by testing it on several designs.