PAL CARD CATALOG ENTRY

SHORT DESCRIPTION

Certifier_1 is used to certify Ada systems in the Public Ada Library


MOVEMENT WITHIN THE PAL CARD CATALOG
Move to top-level taxonomy
Move to keyword list

ASSET PROFILE

UNIT NAME
Certifier_1
VERSION
1.1
REVIEW CODE
CS (see ENVIRONMENT); ES; OK
INET ADDRESS
conn@wuarchive.wustl.edu
AUTHOR
Richard Conn
Manager, Public Ada Library
RIGHTS
Approved for public release; unlimited distribution
COPYRIGHT
1994 Richard Conn
DATE CREATED
6 June 94
DATE RELEASED
6 June 94
DATE LAST UPDATED
6 June 94
LOCATION
PAL
ENVIRONMENT
DEC Alpha AXP, Operating System DEC OSF/1 Version 1.3A (Revision 113)
HP 9000/380, Operating System HP-UX B.08.00 A
Sun 3 (68030), SunOS 4.1.1
Sun 4 (SPARC), SunOS 4.1.3
LIMITATIONS
Size of virtual memory
CERTIFICATION
Ada System Certifier_1 1.1
Date/Time of Processing: Tuesday   07 June      1994 12:42:11Am
Overall Assessment of System: OK
Classification of System: B
Basis of Classification --
Syntax Errors                               PASS
Completeness                                PASS
Independence from External Libraries        FAIL
Independence from a Specific Ada Compiler   PASS

Explanations for failures --
System withs non-standard library units that are not provided

Number of ...
Files               1
Library Units      42
Lines           13513
Statements       2833
Comments         4817

Unidentified Withed Units --
5 unidentified withed units

Note from the PAL Certifier:
All of these unidentified library units can be found in CS Parts.

FILE LISTING

Directory Display


languages/ada/swtools/cert1:
  File Name                 Size
  ---------                 ----
  README                     398
  cert1.zip              872,220


Totals
  ==============  ==============
    2 Files              872,618

ABSTRACT

Certifier_1

  The second stage in the development of the Public Ada Library (PAL)
has begun with the introduction of the concept of certification to the
Ada source code in the library.  A program, Certifier_1, has been
created that will be initially used to evaluate all Ada source code
submitted to the PAL.  Certifier_1 has the ability to analyze thousands
of files in a single pass, checking on their interdependencies.  It
ranks the files it is asked to analyze as OK or NOT OK and assigns a
letter grade to the system (A, B, or C is OK, D and F are NOT OK).

  Certifier_1 contains a lexical analyzer and a parser for the Ada83
language.  A grade of F is assigned to the system if syntax or lexical
errors are encountered.  Certifier_1 also builds an internal data
structure describing the interdependencies of the library units and
subunits. If stubs (subunit bodies) are missing and there are no syntax
or lexical errors, a grade of D is assigned to the system indicating
that major parts of it are missing.  This is not necessarily bad; the
Abstractions library from Intermetrics, for instance, received a letter
grade of D because of missing subunits, but, when the Intermetrics
Standards Checker was evaluated with Abstractions, the Standards Checker
code filled in the missing subunits, giving the combined Standards
Checker and Abstractions system a grade of A.

  Certifier_1 also checks on compiler-specific pragmas, the use of
machine code, and the withing of library units that are not a part of
the analyzed code.  It awards lower grades (B and C) if all else is OK
and one of these issues comes up.  A grade of a B or a C may or may not
mean there is a problem.  Compiler-specific library units may be
employed, causing the lower grade, for example.  Also, it may be
possible to raise the grade by including another components library,
like CS Parts or New Abstractions, in the evaluation to fill in the
missing library units.  However, a B or a C may also mean that code has
been omitted.

  Certifier_1 generates two reports: a report for inclusion in the PAL
database entry on the item and a log file which describes details on the
problems encountered, including line numbers and file names on or near
which the problems can be found.  Log reports can be found for each item
in the PAL by checking in the directory
languages/ada/userdocs/catalog/c1_rpts.  Reports are named after the
items on which they report; ada_sda.c1, for instance, is the report
associated with the Software ID file ada_sda.sid.

  Certifier_1 is by no means a final solution to the problem of
certification of reusable software in a library.  However, it is a
start.  It does not beat a compiler by any means, but it does provide a
quick, first-look solution.  It does not determine logical errors or
problems with completeness.  Many things can slip through Certifier_1,
but, likewise, many things do not.  It is a first step.


REVISION HISTORY

1.1  6 June 94  Richard Conn    Initial release to the PAL


RELEASE NOTICE

This prologue must be included in all copies of this software.
Restrictions on use or distribution:  NONE


DISCLAIMER

	This software and its documentation are provided "AS IS" and
without any expressed or implied warranties whatsoever.  No warranties
as to performance, merchantability, or fitness for a particular
purpose exist.
	The user is advised to test the software thoroughly before
relying on it.  The user must assume the entire risk and liability of
using this software.  In no event shall any person or organization of
people be held responsible for any direct, indirect, consequential or
inconsequential damages or lost profits.