A technique for constructing aspect weavers using a program transformation engine
Proceedings of the 3rd international conference on Aspect-oriented software development
Exploiting UML dynamic object modeling for the visualization of C++ programs
SoftVis '05 Proceedings of the 2005 ACM symposium on Software visualization
Automated generation of monitors for pattern contracts
Proceedings of the 2006 ACM symposium on Applied computing
Efficient runtime invariant checking: a framework and case study
WODA '08 Proceedings of the 2008 international workshop on dynamic analysis: held in conjunction with the ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2008)
nAIT: A source analysis and instrumentation framework for nesC
Journal of Systems and Software
On the specification of non-functional properties of systems by observation
MODELS'09 Proceedings of the 2009 international conference on Models in Software Engineering
Amplifying the benefits of design patterns: from specification through implementation
FASE'06 Proceedings of the 9th international conference on Fundamental Approaches to Software Engineering
Hi-index | 0.00 |
In this paper, we describe temporal invariants, which are class invariants that are qualified by the operators eventually, always, never, or already.temporal invariants can capture assertions that may not be valid initially but, as the program continues, must eventually become valid.Moreover, temporal invariants can indicate references to memory that should eventually be deallocated.To facilitate incorporation of temporal invariants as a maintenance of reengineering activity, we weave invariants into the system as aspects.In our case study of a C++ system, the aspects are woven into join points using policies.We investigate the effectiveness of temporal invariants and we compare the performance ofour aspect-oriented implementation with several other approaches.