* lxr.xensource.com-lxr
@ 2005-04-01 16:07 ted
2005-04-01 21:14 ` lxr.xensource.com-lxr James Bulpin
0 siblings, 1 reply; 4+ messages in thread
From: ted @ 2005-04-01 16:07 UTC (permalink / raw)
To: xen-devel
Re: http://lxr.xensource.com/lxr/
This index to Xen source code was apparently loaded into a general
hypertext cross-referencing tool. This tool was apparently written in perl..
" The Linux Cross-Reference project is the testbed application of a
general hypertext cross-referencing tool. (Or the other way around.)
The main goal of the project is to create a versatile cross-referencing
tool for relatively large code repositories. The project is based on
stock web technology, so the codeview client may be chosen from the full
range of available web browsers. On the server side, any Unix-based web
server with cgi-script capability should do nicely.'
Some "reservations" were expressed by the authors regarding the display
of "source code".
I notice the entire source code is numbered and one can reference that
code by number and module being extensively cross-referenced. What
exactly are the "reservations" expressed -- something to do with "sloppy
labelling" being less than a "full code parser".
Do the Xen developers make frequent use of this cross reference tool?
Where would I obtain the perl code for this general hypertext
cross-referencing tool?
Would it not be possible to create a hierarchical tree structure of Xen
by parsing this display presented by the general hypertext
cross-referencing tool???
Thanks -- Ted
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: lxr.xensource.com-lxr
2005-04-01 16:07 lxr.xensource.com-lxr ted
@ 2005-04-01 21:14 ` James Bulpin
2005-04-01 22:07 ` lxr.xensource.com-lxr Ted Hilts
0 siblings, 1 reply; 4+ messages in thread
From: James Bulpin @ 2005-04-01 21:14 UTC (permalink / raw)
To: ted; +Cc: xen-devel
On Fri, 1 Apr 2005, ted wrote:
:>Where would I obtain the perl code for this general hypertext
:>cross-referencing tool?
We use LXR version 0.3. This can still be found at http://lxr.linux.no/
(which is where your quote came from). There is a newer version available
that uses a database backend for the xref database. I think the "general
hypertext cross-referencing tool" refers to libraries within the LXR
package rather than a separate tool.
:>Would it not be possible to create a hierarchical tree structure of Xen
:>by parsing this display presented by the general hypertext
:>cross-referencing tool???
Isn't that what LXR does - or have I missed the point?
Regards,
James
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: lxr.xensource.com-lxr
2005-04-01 21:14 ` lxr.xensource.com-lxr James Bulpin
@ 2005-04-01 22:07 ` Ted Hilts
2005-04-01 22:52 ` lxr.xensource.com-lxr James Bulpin
0 siblings, 1 reply; 4+ messages in thread
From: Ted Hilts @ 2005-04-01 22:07 UTC (permalink / raw)
To: James Bulpin; +Cc: xen-devel
James:
Kind of you to reply James.
Several months ago I queried the list for a hierarchical tree of
functions associated with the execution of Xen and was told there was no
such thing.
Cross Referencing is nice but is not a hierarchical tree like display of
the dependent order of execution of all functions. Essentially there
is the "main" module which calls subordinate modules which in turn call
their subordinante modules and the entire scenario can be graphically
displayed in connecting lines to box like structures that identify the
function called and it's purpose and data passed back and forth if any.
The graphic is most often layered with the top layer being the main
routine, the next layer being the routines called by the main routine,
the next layer down has the routines called by the second layer and so
on. This graphic gives a good idea of the software architecturee and is
invaluable if there are parallel streams of execution. Often, software
development builds stubs for unwritten code and works from the top down
according to a design plan in the graphical form I have explained.
There are many brilliant code hackers that only need a starting point in
the code and they are away. They build (compile and link) the code with
a debugger, make notes, and change (add, delete, modify) on that basis
until they get the required results from their testing. There is no
question they are good at this as they generally live and breath every
day doing this. But these sort in general may never have a comprehensive
or top level down appreciation for the code or it's design. And that is
the exact reason why such a graphic as explained above is needed. A
"data dictionary" defining words and processes is also of great benefit.
As soon as those brilliant hackers disappear into the land of
opportunity and advancement no one understands the code or the overall
integration of functionality because there is no such graphic. The Open
and sometimes Free Software development would really benefit from this
kind of documentation. Then , just maybe, people like me could jump in
and really help. My experience in IT for many years (now retired) has
taught me that there is nothing worse than jumping into a development
group of these kind of hackers that know "their" way around the code
"blind-folded" but cannot or will not pass that knowledge on to the
"newbie" in the group in a documented way that facilitates rapid catchup
to the other members in the group.
I'm not accusing anyone of anything in the Xen development group -- I am
simply answering your question "Isn't that what LXR does - or have I
missed the point?" You tell me as you obviously know more about LXR
than I currently know. I have been away from software development now
for many years and things have radically changed so I am still in the
catchup mode and have to ask questions which are at times very
elementary like my question about GRUB. I used to code my brains out in
C and worked with other languages, Operating Systems, SQL and databases
and that sort of thing. Now there is python matured, java this and java
that, PHP in wide use, and so on. For another example, MySQL apparently
has matured into a professional database technology where before I
retired it was a laughing matter to use MySQL. So I have a lot of
catching up to do and I'm on my way.
Thanks again for your email, posted in [Xen-devel] because it is a
development issue.
Thanks, Ted
James Bulpin wrote:
>On Fri, 1 Apr 2005, ted wrote:
>
>:>Where would I obtain the perl code for this general hypertext
>:>cross-referencing tool?
>
>We use LXR version 0.3. This can still be found at http://lxr.linux.no/
>(which is where your quote came from). There is a newer version available
>that uses a database backend for the xref database. I think the "general
>hypertext cross-referencing tool" refers to libraries within the LXR
>package rather than a separate tool.
>
>:>Would it not be possible to create a hierarchical tree structure of Xen
>:>by parsing this display presented by the general hypertext
>:>cross-referencing tool???
>
>Isn't that what LXR does - or have I missed the point?
>
>Regards,
>
>James
>
>_______________________________________________
>Xen-devel mailing list
>Xen-devel@lists.xensource.com
>http://lists.xensource.com/xen-devel
>
>
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: lxr.xensource.com-lxr
2005-04-01 22:07 ` lxr.xensource.com-lxr Ted Hilts
@ 2005-04-01 22:52 ` James Bulpin
0 siblings, 0 replies; 4+ messages in thread
From: James Bulpin @ 2005-04-01 22:52 UTC (permalink / raw)
To: Ted Hilts; +Cc: xen-devel
On Fri, 1 Apr 2005, Ted Hilts wrote:
:>Cross Referencing is nice but is not a hierarchical tree like display of
:> the dependent order of execution of all functions. Essentially there
:>is the "main" module which calls subordinate modules which in turn call
:>their subordinante modules and the entire scenario can be graphically
:>displayed in connecting lines to box like structures that identify the
:>function called and it's purpose and data passed back and forth if any.
Ah, a graphical representation of the call graph?
:> The graphic is most often layered with the top layer being the main
:>routine, the next layer being the routines called by the main routine,
:>the next layer down has the routines called by the second layer and so
:>on. This graphic gives a good idea of the software architecturee and is
:>invaluable if there are parallel streams of execution. Often, software
:>development builds stubs for unwritten code and works from the top down
:>according to a design plan in the graphical form I have explained.
I suspect that for such a graphic to be truly useful it would have to be
(at least partially) manually created. The event driven nature of an
system software is such that the call graph is not a nice, clean tree of
multiple separate layers. An additional problem is that static analysis of
the code would not give the full call graph because of things like
dynamically registered handlers, callbacks etc..
So I guess there are two possible documents that fit what you are looking
for:
- a high level architecture overview - we generally rely on the papers
written about Xen for this
- a low level call graph representation, automatically generated, i.e.
LXR++
I'm happy to take suggestions for tools for the latter which we may be
able to host in a similar way to the existing LXR.
:>I am simply answering your question "Isn't that what LXR does - or have
:>I missed the point?"
Thanks. I hadn't quite unerstood what you meant "tree" - I assumed
directory tree.
James
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2005-04-01 22:52 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-04-01 16:07 lxr.xensource.com-lxr ted
2005-04-01 21:14 ` lxr.xensource.com-lxr James Bulpin
2005-04-01 22:07 ` lxr.xensource.com-lxr Ted Hilts
2005-04-01 22:52 ` lxr.xensource.com-lxr James Bulpin
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.