many thanks for confirming i can post this query here. I was talking about something like the xref screen shot at http://sourcenav.sourceforge.net/screenshots/ I used this for C/C++ projects long back.. Not sure if pasting that png is a good idea.
The current project I work on has a big code base. When i say 'understand code flow' I would like to write a query that will return the chain of all methods invoking a particular method as well the methods this will invoke.
Simple scenario: Suppose there exists a set of classes having particular methods as show below:
AC::AMethod -> BC::BMethod -> CC::CMethod -> DC::DMethod -> EC::EMethod
To serve a client call for a particular scenario, the entry point from client code is Amethod in Class AC. This in turn invokes BMethod of BC, which invokes CMethod of class CC, which invokes DMethod in DC then finally invoked EMethod of class EC and returns to the client code.
The query/queries when given method name CC::CMethod should return
AC::AMethod -> BC::BMethod and DC::DMethod -> EC::Emethod
In an actual code base, chances are that there are multiple code flow paths invoking CC::CMethod and multiple methods invoked by CC::CMethod. All these paths that represent different scenarios should be reported. This should help delete all possible dynamic interactions at method level. Currently (I think) I know how to do this at a class level using moose model.
Regards, Bharat
On Fri, Dec 2, 2016 at 4:30 PM, moose-dev-request@list.inf.unibe.ch wrote:
Send Moose-dev mailing list submissions to moose-dev@list.inf.unibe.ch
To subscribe or unsubscribe via the World Wide Web, visit https://www.list.inf.unibe.ch/listinfo/moose-dev or, via email, send a message with subject or body 'help' to moose-dev-request@list.inf.unibe.ch
You can reach the person managing the list at moose-dev-owner@list.inf.unibe.ch
When replying, please edit your Subject line so it is more specific than "Re: Contents of Moose-dev digest..."
Today's Topics:
- newbie question on moose model (Bharat Shetty)
- Re: newbie question on moose model (Tudor Girba)
Message: 1 Date: Thu, 1 Dec 2016 20:16:02 +0530 From: Bharat Shetty bshetty@gmail.com To: moose-dev@list.inf.unibe.ch Subject: [Moose-dev] newbie question on moose model Message-ID: <CA+6VBw5vSFVfKyJAaoQibsQYOHF+XAsuT_d+BRN-_Tcgn3XfrQ@mail. gmail.com> Content-Type: text/plain; charset="utf-8"
This is more like a user question. But do not know of moose-users mailing list. Apologies if there is one.
I recently started exploring moose model, tried out the example at the moosebook site using ArgoUML and some of my own java projects(imported using jdt2famix. And am fairly comfortable with the features described in the moose book.
Question: Can i use the same to understand code flow ? I see there are methods to get a FAMIXMethod's invoked by and invokes methods. But there are no concrete example for analysing code flows. Has anyone tried this? or is it possible at all.
Regards, Bharat
Apologies for typo
In an actual code base, chances are that there are multiple code flow paths invoking CC::CMethod and multiple methods invoked by CC::CMethod. All these paths that represent different scenarios should be reported. This should help *delete* all possible dynamic interactions at method level. Currently (I think) I know how to do this at a class level using moose model.
delete should have been 'understand'
Regards, Bharat
On Fri, Dec 2, 2016 at 7:49 PM, Bharat Shetty bshetty@gmail.com wrote:
many thanks for confirming i can post this query here. I was talking about something like the xref screen shot at http://sourcenav.sourceforge.net/screenshots/ I used this for C/C++ projects long back.. Not sure if pasting that png is a good idea.
The current project I work on has a big code base. When i say 'understand code flow' I would like to write a query that will return the chain of all methods invoking a particular method as well the methods this will invoke.
Simple scenario: Suppose there exists a set of classes having particular methods as show below:
AC::AMethod -> BC::BMethod -> CC::CMethod -> DC::DMethod -> EC::EMethod
To serve a client call for a particular scenario, the entry point from client code is Amethod in Class AC. This in turn invokes BMethod of BC, which invokes CMethod of class CC, which invokes DMethod in DC then finally invoked EMethod of class EC and returns to the client code.
The query/queries when given method name CC::CMethod should return
AC::AMethod -> BC::BMethod and DC::DMethod -> EC::Emethod
In an actual code base, chances are that there are multiple code flow paths invoking CC::CMethod and multiple methods invoked by CC::CMethod. All these paths that represent different scenarios should be reported. This should help delete all possible dynamic interactions at method level. Currently (I think) I know how to do this at a class level using moose model.
Regards, Bharat
On Fri, Dec 2, 2016 at 4:30 PM, moose-dev-request@list.inf.unibe.ch wrote:
Send Moose-dev mailing list submissions to moose-dev@list.inf.unibe.ch
To subscribe or unsubscribe via the World Wide Web, visit https://www.list.inf.unibe.ch/listinfo/moose-dev or, via email, send a message with subject or body 'help' to moose-dev-request@list.inf.unibe.ch
You can reach the person managing the list at moose-dev-owner@list.inf.unibe.ch
When replying, please edit your Subject line so it is more specific than "Re: Contents of Moose-dev digest..."
Today's Topics:
- newbie question on moose model (Bharat Shetty)
- Re: newbie question on moose model (Tudor Girba)
Message: 1 Date: Thu, 1 Dec 2016 20:16:02 +0530 From: Bharat Shetty bshetty@gmail.com To: moose-dev@list.inf.unibe.ch Subject: [Moose-dev] newbie question on moose model Message-ID: <CA+6VBw5vSFVfKyJAaoQibsQYOHF+XAsuT_d+BRN-_Tcgn3XfrQ@mail.gm ail.com> Content-Type: text/plain; charset="utf-8"
This is more like a user question. But do not know of moose-users mailing list. Apologies if there is one.
I recently started exploring moose model, tried out the example at the moosebook site using ArgoUML and some of my own java projects(imported using jdt2famix. And am fairly comfortable with the features described in the moose book.
Question: Can i use the same to understand code flow ? I see there are methods to get a FAMIXMethod's invoked by and invokes methods. But there are no concrete example for analysing code flows. Has anyone tried this? or is it possible at all.
Regards, Bharat
Dear Bharat,
You are asking a very valid question. Having invocations between C / C++ functions would be great to have. Kind of related, we did some assessment of the includes between .c, .h, .cpp, .hpp files. We were able to do a graph as:
Each circle is a file, and arrow are includes relationship. Size is the number of lines of code. Color indicates part of an architecture.
But yes, it would be great to have the control flow between functions, even an approximation.
Cheers, Alexandre
On Dec 2, 2016, at 11:19 AM, Bharat Shetty bshetty@gmail.com wrote:
many thanks for confirming i can post this query here. I was talking about something like the xref screen shot at http://sourcenav.sourceforge.net/screenshots/ I used this for C/C++ projects long back.. Not sure if pasting that png is a good idea.
The current project I work on has a big code base. When i say 'understand code flow' I would like to write a query that will return the chain of all methods invoking a particular method as well the methods this will invoke.
Simple scenario: Suppose there exists a set of classes having particular methods as show below:
AC::AMethod -> BC::BMethod -> CC::CMethod -> DC::DMethod -> EC::EMethod
To serve a client call for a particular scenario, the entry point from client code is Amethod in Class AC. This in turn invokes BMethod of BC, which invokes CMethod of class CC, which invokes DMethod in DC then finally invoked EMethod of class EC and returns to the client code.
The query/queries when given method name CC::CMethod should return
AC::AMethod -> BC::BMethod and DC::DMethod -> EC::Emethod
In an actual code base, chances are that there are multiple code flow paths invoking CC::CMethod and multiple methods invoked by CC::CMethod. All these paths that represent different scenarios should be reported. This should help delete all possible dynamic interactions at method level. Currently (I think) I know how to do this at a class level using moose model.
Regards, Bharat
On Fri, Dec 2, 2016 at 4:30 PM, moose-dev-request@list.inf.unibe.ch wrote: Send Moose-dev mailing list submissions to moose-dev@list.inf.unibe.ch
To subscribe or unsubscribe via the World Wide Web, visit https://www.list.inf.unibe.ch/listinfo/moose-dev or, via email, send a message with subject or body 'help' to moose-dev-request@list.inf.unibe.ch
You can reach the person managing the list at moose-dev-owner@list.inf.unibe.ch
When replying, please edit your Subject line so it is more specific than "Re: Contents of Moose-dev digest..."
Today's Topics:
- newbie question on moose model (Bharat Shetty)
- Re: newbie question on moose model (Tudor Girba)
Message: 1 Date: Thu, 1 Dec 2016 20:16:02 +0530 From: Bharat Shetty bshetty@gmail.com To: moose-dev@list.inf.unibe.ch Subject: [Moose-dev] newbie question on moose model Message-ID: CA+6VBw5vSFVfKyJAaoQibsQYOHF+XAsuT_d+BRN-_Tcgn3XfrQ@mail.gmail.com Content-Type: text/plain; charset="utf-8"
This is more like a user question. But do not know of moose-users mailing list. Apologies if there is one.
I recently started exploring moose model, tried out the example at the moosebook site using ArgoUML and some of my own java projects(imported using jdt2famix. And am fairly comfortable with the features described in the moose book.
Question: Can i use the same to understand code flow ? I see there are methods to get a FAMIXMethod's invoked by and invokes methods. But there are no concrete example for analysing code flows. Has anyone tried this? or is it possible at all.
Regards, Bharat