|
|
| Joanju Analyst Live Demo | Joanju Software |
![]() Home ![]() ![]() Products Proparse Analyst ![]() ![]() Prices/Licenses Purchase Services Support Forum ![]() ![]() White Papers Etc. ![]() ![]() Projects, Utils, and Contributors ![]() ![]() Site History Contact us About Joanju Privacy |
Contents
About
Requirements
URL and access
AutoEdge
About the server Terse list of things to tryFrom Analyst's front page, submit:
From Analyst's front page, try these search strings:
Also see the Search Help page for search syntax explanations and additional syntax. The syntax is not uncommon - you might recognize it from other search engines. Scripted Self-DemoIn this exercise, we'll browse and analyze a little bit of Prolint's source code. (It doesn't matter if you aren't familiar with Prolint.) In Prolint, many different 'rules' check your source code for compliance. If a rule is broken, it is reported to any number of outputs (as configured by the user). For example, broken rules might be reported to a log file, an HTML report, and a GUI window all at once. Let's analyze the source code to see how this is done. Assuming we already know that a Prolint rule reports a variable name and the following string, let's use the following (with quotes) in the Search field in Analyst: "defined without NO-UNDO"Only one compile unit will match the search. Click the link to browse the Notice that what we are browsing here is preprocessed, stripped of comments, and pretty printed. Consider how this, in many cases, can make it easier to follow the control and data flow in unfamiliar code. Popup Menu for the
Notice the links on the left side of the page for Collapse all and Expand all. Click each of those, and notice how include file references are collapsed and expanded. Click one of the green curly braces ('{') to see its popup menu. Include file references can be collapsed and expanded individually, and there is also a handy link to view the original source file for the include file. Now let's get back to our task of finding how rules add messages to Prolint's
output. In the browse page for defined without NO-UNDO See that this string is passed as an argument for RUN PublishResult.
Click the hyperlinked RUN keyword. See the popup with a link to
Notice that Analyst was able to figure out that PublishResult is in a super procedure. Consider how this can make it easier to follow the application logic, especially if you are not familiar with the source code. Use right-click on that link, to open it in a new browser tab. Click on the hyperlinked PROCEDURE text. Note how it is easy to get a list of all calls to a procedure. With the hyperlinks, it is easy to jump to each call and view it for impact analysis. See that PublishResult does little more than
Near the bottom of Now we have found what we were looking for. The rule publishes its results
via [1] You might have wondered why Analyst doesn't have links between PUBLISH and SUBSCRIBE. It's in the plans! If PUBLISH/SUBSCRIBE is used extensively within your application, please let me know. 'BOM' XMLAnalyst is a web application (Tomcat) and any sort of custom scripts can be added to it, accessible simply by opening the script in your web browser. Much of Analyst is delivered as source, and that includes some scripts that are designed to be customized before use. One such script generates an XML 'Bill of Materials' (BOM) for your application (or for a selected subdirectory of your application). The XML generated by this script can be viewed directly for quick and dirty analysis, or it can be used as a data source for generating databases, documentation, diagrams, etc. prolint.bom.xlm is a sample output. One particularly exciting application of this bom.xml file is for loading into UML. Please see oehive.org/UMLFromABL by Thomas Mercer-Hursh (Computing Integrity) for details about that project and the free tool to generate UML. autoedge.bom.xml.zip is of course output for AutoEdge, and it is a much larger sample; the .5MB zip file expands to about 9MB.
|