AspectJ in Action: Practical Aspect-Oriented Programming
AspectJ in Action: Practical Aspect-Oriented Programming
Monitoring architectural properties in dynamic component-based systems
CBSE'07 Proceedings of the 10th international conference on Component-based software engineering
Tackling pointcut fragility with dynamic annotations
Proceedings of the 7th Workshop on Reflection, AOP and Meta-Data for Software Evolution
Runtime Verification for LTL and TLTL
ACM Transactions on Software Engineering and Methodology (TOSEM)
Annals of Mathematics and Artificial Intelligence
On the use of formal specifications as part of running programs
Software Engineering for Multi-Agent Systems IV
Using SPIN for automated debugging of infinite executions of Java programs
Journal of Systems and Software
Hi-index | 0.00 |
Runtime verification is a special form of runtime testing, employing formal methods and languages. In this work, we utilize next-time free linear-time temporal logic (LTL\textbackslash X) as formal framework. The discipline serves the purpose of asserting certain design-time assumptions about object-oriented (OO) entities such as objects, methods, and so forth. In this paper we propose a linear-time logic over joinpoints \citeLaddad03AspectJ, and introduce a lightweight runtime veri\-fication tool based on this logic, J2SE 5 metadata \citeJSR175 and an AspectJ-based \citeAspectJ runtime backend. Implementations have been proposed so far for imperative and functional languages \citeHuchStolz04a. To our knowledge our approach is the first to allow addressing of entire sets of states, also over subclass boundaries, thus exploiting the OO nature.