[comp.lang.fortran] Static Analyzers for Fortran

trh@ukc.ac.uk (T.R.Hopkins) (12/10/90)

This is in response to an earlier article requesting information on
static analyzers for Fortran -- I thought the reply might be of interest
to more people than just the requester.


  We have three such tools on site

  1) QA-Fortran from Programming Research Ltd,
		     Waynflete House,
		     74-76 High Street
		     Esher, Surrey KT10 9QS, UK
     
     This performs a full static analysis of Fortran code for adherence to
     the Fortran 77 Standard; it also checks argument passing to
     subprograms for type and number and takes account of direction of
     passing. It also provides a number of complexity metric values which
     have proved very useful in identifying code likely to be a
     maintenance problem. Calling trees are also provided.

     It is available on most systems supporting a C compiler (certainly
     VMS and SUNs -- we run it on both of these). There is a nice X
     interface available if you are running on a workstation -- I think a
     DEC-Windows version is in the pipeline.

  2) FORCHECK from Polyhedron Software Ltd.,
		   Magdalen House
		   98 Abingdon Road,
		   Standlake, Witney,
		   OX8 7RN, UK
     
     This performs most of the static checks QA-Fortran performs -- I
     don't think it is a thorough on inter-module checks but it still does
     a good job. Calling trees are also provided. There are no complexity
     metrics.

     This one is written in Fortran and is available on many platforms.

  3) TOOLPACK from NAG Ltd,
		   Wilkinson House,
		   Jordan Hill Road,
		   Oxford, OX2 8DR, UK.
     
     This is public domain s/ware -- you just pay a distribution fee
     although if you pay a bit more (around Pounds UK 200) you can get a
     number of machine specific versions. This package contains a large
     number (50+) of Fortran tools including precision transformers,
     pretty printers etc.

     On the static analysis side there is a verifier tool which performs
     many of the static checks that the two tools above perform.
     Unfortunately, due to the way Toolpack works, the final output is
     just a list of error messages -- you have to match them back to the
     source; QA-Fortran and FORCHECK both have their errors in with a
     source listing or as soon as possible in the case of inter module
     checks.

     There is a separate tool which produces call trees.
     The whole tool-kit is written in Fortran 77; a C interface is
     available for the interface to the operating system.


     These tools have saved us an enormous amount of heartache and located
     a number of difficult bugs -- I certainly wouldn't want to go back to
     the dark ages when we didn't have such aids for Fortran!!

     Hope this helps,

     Tim

dprpjf@inetg1.Arco.Com (Paul Fowler) (12/11/90)

In article <6447@harrier.ukc.ac.uk>, trh@ukc.ac.uk (T.R.Hopkins) writes:
> 
> This is in response to an earlier article requesting information on
> static analyzers for Fortran -- I thought the reply might be of interest
> to more people than just the requester.
> 
> 
>   We have three such tools on site
> 
>   1) QA-Fortran from Programming Research Ltd,
> 		     Waynflete House,
> 		     74-76 High Street
> 		     Esher, Surrey KT10 9QS, UK
>      

[ and lots more useful information that I delete here...]

In another recent posting foulser@topaz.asd.sgi.com (David Foulser) wrote:
>
> I am looking for a Fortran source code tool called flint, or some similar
> name. I think this is a source level syntax checker similar to C's lint.
>

To clarify any possible confusion, QA-Fortran is the new name for what used
to be marketed as Flint.  Same company, they just changed the name.

And for those of us on the west side of the Atlantic, Programming Research
has a sales office in the States now:

                     8701 Bedford Euless Rd.
                     Suite 520
                     Hurst TX 76053 USA
                     ph: 817-589-0949, fax: 817-595-4611

They do not have an e-mail address at either location yet, unfortunately.
-- 
-------------------------------------------------------------------------------
Paul Fowler                            Arco Oil and Gas Co., Plano, TX  
dprpjf@arco.com                        phone: 214-754-6525

"I haven't really lost my mind; I'm sure I can still find it on one of
   the old backup tapes around here somewhere..."
-------------------------------------------------------------------------------