Welcome to Our New Website!

The future home page for the Phoenix Software Technologists, Inc. Check back later!

Thank you for your patience while we construct this web site, which will bring you details of PST’s Software Reengineering tools and services.

An interactive workbench for maintaining and reengineering legacy PL/I systems.


PL/I Analyzer is an interactive workbench used to analyze and reengineer legacy PL/I systems. PL/I Analyzer supports

  • understanding code structure
  • analyzing the impact of changes
  • redocumenting applications
  • assessing and improving software quality
  • reengineering

How It Works

PL/I Analyzer parses source code and generates detailed abstract syntax trees (ASTs) for the code. These ASTs are used to derive abstractions of the source code. Typical abstractions include control flow graphs, data flow graphs, structure charts, and more. The point of these abstractions is that they convey information about a specific aspect of the source code without overwhelming the user with irrelevant information. For example, this allows a user who is interested in the flow of logic through a particular piece of code to focus on just that.

The workbench uses a windowing interface to present and navigate different abstractions of the source code ranging from the actual code to the ASTs to flow charts all the way up to metrics summaries for a system of code. The majority of the reports available in the workbench are represented as tables, very much like a spreadsheet. This has two major benefits. First, the tabular presentation and navigation of data is familiar to most users therefore reducing the learning time associated with the workbench. Second, tabular data can be easily exported in the form of HTML or comma delimited ASCII. This allows the user generate reports about their legacy system and share it across an intranet or import it into spreadsheets and databases for custom analysis and reporting.

Key Features:

Easy to Use: The PL/I Analyzer workbench uses a familiar windowing interface. The workbench has on-line help as well as tutorials. The reports are presented interactively including the ability to navigate between the reports via hyperlinking.

Accurate: PL/I Analyzer accurately models all aspects of the source code. The detailed logic flows can be viewed and traversed. Interprocedural data flows can be analyzed. The original text of the code can even be regenerated including comments.

Scalable: PL/I Analyzer executes on a highly-scalable object “database”, the Reasoning5 CBMS TM, that stores, accesses, and manipulates source code annotated as abstract syntax trees (ASTs). This facilitates highly automated enterprise-scale software analyses and transformations on codebases consisting of millions of lines of code.

Extensible: PL/I Analyzer can be extended or tailored using the Reasoning Software Development KitTM and the Application Programmer Interface (API). The SDK is a complete tool set for building application for the CBMS. The API contains the schema for the internal representation of PL/I code as well as functions for querying and manipulating the data.

Web Enabled: PL/I Analyzer produces HTML versions of its reports. These reports can be distributed on a company-wide or project-wide intranet. PL/I Analyzer also produces a repository of reports and PL/I code that can be shared among groups of analysts and developers.

Reports Types:

Flow Charts, Structure Charts, Call Graphs, Data Cross References, Unit Cross References, Type Cross References, Metric Summaries.
Technical Specifications:

  • PL/I Dialects: MVS PL/I
  • Platform: SUN Sparc running Solaris 2.x
  • RAM: 32 MB minimum (64 MB recommended)
  • SWAP: 100 MB recommended