Testing object-oriented systems: models, patterns, and tools
Testing object-oriented systems: models, patterns, and tools
A UML-based aspect-oriented design notation for AspectJ
AOSD '02 Proceedings of the 1st international conference on Aspect-oriented software development
Aspect-oriented programming with model checking
AOSD '02 Proceedings of the 1st international conference on Aspect-oriented software development
An experience on verification of aspect properties
IWPSE '01 Proceedings of the 4th International Workshop on Principles of Software Evolution
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
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
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
Concurrency: State Models And Java Programs
Concurrency: State Models And Java Programs
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
State-based incremental testing of aspect-oriented programs
Proceedings of the 5th international conference on Aspect-oriented software development
Model Checking Aspect-Oriented Design Specification
COMPSAC '07 Proceedings of the 31st Annual International Computer Software and Applications Conference - Volume 01
Threat-Driven Modeling and Verification of Secure Software Using Aspect-Oriented Petri Nets
IEEE Transactions on Software Engineering
Verifying scenario-based aspect specifications
FM'05 Proceedings of the 2005 international conference on Formal Methods
Aspect categories and classes of temporal properties
Transactions on Aspect-Oriented Software Development I
FSP and FLTL framework for specification and verification of middle-agents
International Journal of Applied Mathematics and Computer Science - Semantic Knowledge Engineering
Hi-index | 0.00 |
Aspect-oriented programming modularizes crosscutting concerns into aspects with the advice invoked at the specified points of program execution. Aspects can be used in a harmful way that invalidates desired properties and even destroys the conceptual integrity of programs. To assure the quality of an aspect-oriented system, rigorous analysis and design of aspects are highly desirable. In this paper, we present an approach to aspect-oriented modeling and verification with finite state machines. Our approach provides explicit notations (e.g., pointcut, advice and aspect) for capturing crosscutting concerns and incremental modification requirements with respect to class state models. For verification purposes, we compose the aspect models and class models in an aspect-oriented model through a weaving mechanism. Then we transform the woven models and the class models not affected by the aspects into FSP (Finite State Processes), which are to be checked by the LTSA (Labeled Transition System Analyzer) model checker against the desired system properties. We have applied our approach to the modeling and verification of three aspect-oriented systems. To further evaluate the effectiveness of verification, we created a large number of flawed aspect models and verified them against the system requirements. The results how that the verification has revealed all flawed models. This indicates that our approach is effective in quality assurance of aspect-oriented state models. As such, our approach can be used for model-checking state-based specification of aspect-oriented design and can uncover some system design problems before the system is implemented.