On Mon, Aug 22, 2011 at 1:42 PM, SF Markus Elfring <
[email protected]> wrote:

> > What if the instrumentation could be added on-the-fly?
>
> This sounds for me that you might be interested in the application of
> aspects.
> Would you like to apply aspect-oriented software development?
>
> Examples:
> http://research.msrg.utoronto.ca/ACC/
> http://aspectc.org/


Yes and no. What I am trying to do is similar to AOS but just for the
debugging instrumentation example on the Wikipedia page:
http://en.wikipedia.org/wiki/Aspect-oriented_programming

The idea is however not to have to use a special C compiler to obtain the
on-the-fly debug instrumentation (read: 'crosscutting concern' in AOS
speak), but to compile with any regular C compiler. This would allow regular
C projects to get a basic instrumentation without changing an line of code
except in the build system. It would also allow more complicated forms of
instrumentation if the source code is modified by adding non-intrusive
comments which influence the instrumentation process.

What I don't like about the AOS way is that the syntax of the code changes
and I need to use a different compiler. I want to have my same old code and
compiler and just instrument it on the fly.

> It's also important that the extra instrumentation added does not change
> > the line numbering otherwise it will be difficult for me to match either
> > compiler errors or run-time assert line numbers with the original foo.c
> file
> > which is the only file that I would be editing for development.
> > Does this make any more sense now?
>
> I imagine that the features you desire result in conflicting goals. I guess
> that
> there are various challenges in a mapping from original source code to
> adjusted/transformed target code. Are you looking for corresponding aspect
> debuggers like the following tools?
> - Bugdel
>  http://www.csg.is.titech.ac.jp/projects/bugdel/index-e.shtml


No, I'm not. In fact, I'm going down the instrumentation path in order to
avoid the use of any kind of debugger. The idea is that the instrumentation
itself provides a human friendly, hierarchical log of everything that
happens at run-time including all info I need to debug any problem.
Especially problems involving threaded code or high performance event based
systems where debuggers often don't help in the debugging process :-)

Thanks,
Simon


> - Aspect Oriented Debugging Architecture
>  http://distrinet.cs.kuleuven.be/software/AODA/
>
> - Wicca
>  http://www1.cs.columbia.edu/~eaddy/wicca/index.htm
>
> Regards,
> Markus
>
_______________________________________________
Cocci mailing list
[email protected]
http://lists.diku.dk/mailman/listinfo/cocci
(Web access from inside DIKUs LAN only)

Reply via email to