Automatic verification of finite-state concurrent systems using temporal logic specifications
ACM Transactions on Programming Languages and Systems (TOPLAS)
Tentative steps toward a development method for interfering programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proceedings of the Fourth Annual Symposium on Logic in computer science
The design and implementation of hierarchical software systems with reusable components
ACM Transactions on Software Engineering and Methodology (TOSEM)
Subject-oriented programming: a critique of pure objects
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Reasoning about infinite computations
Information and Computation
Model checking for programming languages using VeriSoft
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Adaptive plug-and-play components for evolutionary software development
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
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
Bandera: extracting finite-state models from Java source code
Proceedings of the 22nd 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
The SLAM project: debugging system software via static analysis
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Aspect-oriented programming with model checking
AOSD '02 Proceedings of the 1st international conference on Aspect-oriented software development
The Art of the Metaobject Protocol
The Art of the Metaobject Protocol
Invariant-based specification, synthesis, and verification of synchronization in concurrent programs
Proceedings of the 24th International Conference on Software Engineering
An experience on verification of aspect properties
IWPSE '01 Proceedings of the 4th International Workshop on Principles of Software Evolution
Proceedings of the 2nd international conference on Aspect-oriented software development
A Framework for the Detection and Resolution of Aspect Interactions
GPCE '02 Proceedings of the 1st ACM SIGPLAN/SIGSOFT conference on Generative Programming and Component Engineering
Temporal Logic with Forgettable Past
LICS '02 Proceedings of the 17th Annual IEEE Symposium on Logic in Computer Science
Implementing Layered Designs with Mixin Layers
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
ECOOP '01 Proceedings of the 15th 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
Supporting Formal Verification of Crosscutting Concerns
REFLECTION '01 Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns
Process-Algebraic Foundations of Aspect-Oriented Programming
REFLECTION '01 Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns
CAV '96 Proceedings of the 8th International Conference on Computer Aided Verification
Essentials of Constraint Programming
Essentials of Constraint Programming
ASE '00 Proceedings of the 15th IEEE international conference on Automated software engineering
Assumption Generation for Software Component Verification
Proceedings of the 17th IEEE international conference on Automated software engineering
The common fragment of CTL and LTL
FOCS '00 Proceedings of the 41st Annual Symposium on Foundations of Computer Science
The e Language: A Fresh Separation of Concerns
TOOLS '01 Proceedings of the Technology of Object-Oriented Languages and Systems
Flow Analysis for Verifying Specifications of Concurrent and Distributed Software
Flow Analysis for Verifying Specifications of Concurrent and Distributed Software
Logic in Computer Science: Modelling and Reasoning about Systems
Logic in Computer Science: Modelling and Reasoning about Systems
Proceedings of the 3rd international conference on Aspect-oriented software development
Modular Verification of Software Components in C
IEEE Transactions on Software Engineering
Feature-Oriented Programming and the AHEAD Tool Suite
Proceedings of the 26th International Conference on Software Engineering
A semantics for advice and dynamic join points in aspect-oriented programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
Parameterized Interfaces for Open System Verification of Product Lines
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
Aspect-oriented programming and modular reasoning
Proceedings of the 27th international conference on Software engineering
Modular Verification of Open Features Using Three-Valued Model Checking
Automated Software Engineering
Information hiding interfaces for aspect-oriented design
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Using Aspect-GAMMA in the design of embedded systems
HLDVT '02 Proceedings of the Seventh IEEE International High-Level Design Validation and Test Workshop
A compilation and optimization model for aspect-oriented programs
CC'03 Proceedings of the 12th international conference on Compiler construction
Software verification with BLAST
SPIN'03 Proceedings of the 10th international conference on Model checking software
Aspect categories and classes of temporal properties
Transactions on Aspect-Oriented Software Development I
Engineering of Software-Intensive Systems: State of the Art and Research Challenges
Software-Intensive Systems and New Computing Paradigms
Modular verification of strongly invasive aspects: summary
Proceedings of the 2009 workshop on Foundations of aspect-oriented languages
Synthesis from Component Libraries
FOSSACS '09 Proceedings of the 12th International Conference on Foundations of Software Science and Computational Structures: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Formal verification of AADL behavior models: a feasibility investigation
Proceedings of the 47th Annual Southeast Regional Conference
Modular Verification of Strongly Invasive Aspects
Languages: From Formal to Natural
Disambiguating aspect-oriented security policies
Proceedings of the 9th International Conference on Aspect-Oriented Software Development
Property-preserving evolution of components using VPA-based aspects
OTM'07 Proceedings of the 2007 OTM Confederated international conference on On the move to meaningful internet systems: CoopIS, DOA, ODBASE, GADA, and IS - Volume Part I
MAVEN: modular aspect verification and interference analysis
Formal Methods in System Design
Compositional model checking of software product lines using variation point obligations
Automated Software Engineering
Proceedings of the 4th India Software Engineering Conference
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
Modular reasoning about region composition
Proceedings of the eleventh workshop on Foundations of Aspect-Oriented Languages
Features and object capabilities: reconciling two visions of modularity
Proceedings of the 11th annual international conference on Aspect-oriented Software Development
Two-way traceability and conflict debugging for AspectLTL programs
Proceedings of the 11th annual international conference on Aspect-oriented Software Development
A closer look at aspect interference and cooperation
Proceedings of the 11th annual international conference on Aspect-oriented Software Development
Evolution, adaptation, and the quest for incrementality
Proceedings of the 17th Monterey conference on Large-Scale Complex IT Systems: development, operation and management
User-friendly event and aspect verification
Proceedings of the 12th annual international conference companion on Aspect-oriented software development
Two-Way traceability and conflict debugging for AspectLTL programs
Transactions on Aspect-Oriented Software Development X
Hi-index | 0.00 |
Programs are increasingly organized around features, which are encapsulated using aspects and other linguistic mechanisms. Despite their growing popularity amongst developers, there is a dearth of techniques for computer-aided verification of programs that employ these mechanisms. We present the theoretical underpinnings for applying model checking to programs (expressed as state machines) written using these mechanisms. The analysis is incremental, examining only components that change rather than verifying the entire system every time one part of it changes. Our technique assumes that the set of pointcut designators is known statically, but the actual advice can vary. It handles both static and dynamic pointcut designators. We present the algorithm, prove it sound, and address several subtleties that arise, including cascading advice application and problems of circular reasoning.