[aspectc-user] Cooperation with "CTL-VW"?

Olaf Spinczyk os at aspectc.org
Wed Apr 9 15:53:42 CEST 2014

Hello Markus,

On 03/25/2014 09:29 AM, Markus Elfring wrote:
> Hello,
> Components from the software "AspectC++" support also source code manipulations.
> Another approach uses the technology "computation tree logic with variables and
> witnesses" (CTL-VW) like it is described in the document "A Foundation for
> Flow-Based Program Matching Using Temporal Logic and Model Checking".
> http://coccinelle.lip6.fr/papers/popl09.pdf
> http://doi.acm.org/10.1145/1480881.1480897

I know two of the authors very well and like their work on Coccinelle, SmPL, 
etc. a lot.

> Would it be useful to reuse it in your function/class library?

No, I don't think so (if I understood your idea correctly). A technical reason 
is that their tools are made for transforming C-code (mainly the Linux kernel) 
and not for C++ code. They simply wouldn't work for us. Another reason -- on a 
higher level --  is that the pattern matching language described in the paper is 
made for "semantic patches". This has similarities with aspect weaving, but also 
subtle differences. Aspects are mainly made for "programming", whiles patches 
are made for modifications in "existing code". Therefore patches need (in my 
opinion) much more fine-grained code transformation abilities. I doubt that it 
makes sense to give an AO language, for instance, the ability to transform 
specific expressions in specific functions. In the case of aspects, which are 
intended to live longer than patches, maintainance problems might arise.

> How do you think about to develop any further extensions for this knowledge area
> from computer science?

Yes, that is definitly a good idea.

> Regards,
> Markus
> _______________________________________________
> aspectc-user mailing list
> aspectc-user at aspectc.org
> http://www.aspectc.org/mailman/listinfo/aspectc-user

Having said that, I would like to add that I am not against changes or 
improvements to the AspectC++ pointcut language! On the contrary -- we already 
have some ideas in this direction, which would give you more powerful means to 
describe related joinpoints. However, we first have to finish the front-end 
migration to Clang, which is much more important for the adoption of AspectC++ 
at the moment.

Best regards,


More information about the aspectc-user mailing list