Browse Prior Art Database

Automated Code Checker

IP.com Disclosure Number: IPCOM000105981D
Original Publication Date: 1993-Sep-01
Included in the Prior Art Database: 2005-Mar-20
Document File: 2 page(s) / 97K

Publishing Venue

IBM

Related People

Hitchmough, DC: AUTHOR [+3]

Abstract

Disclosed is a method of automatically checking code and reporting to the programmer whether actual or potential errors and where they are located in the software.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Automated Code Checker

      Disclosed is a method of automatically checking code and
reporting to the programmer whether actual or potential errors and
where they are located in the software.

      The Automated Code Checker (ACC)is an adjunct to traditional
compilation testing.  ACC automatically selects and executes a series
of stored tests, relevant to the code's task, using logical insertion
or potention error rejection points.  Benefits are automatic
verification, fast feedback to the programmer, and a dynamic method
of effecting additins, changes, and sequencing of tests.

      ACC is a tool to enable the validation of software for
correctness, beyond errors detected, for example, by a compiler which
can only verify that the syntax of each line of code conforms to the
rules for that programming language.  Traditionally, code correctness
is determined by desk checking, compilation, formal code reviews, and
testing.  When these stages are completed successfully, the final
test for correctness rests with customer use.  Now tests can be
defined to be invoked during any software quality process, where the
deliverable is to conform to previously defined rules.  For example,

ACC could invoke checks to verify data items have been manipulated
correctly, or that the program packaging is of the correct format.

      The stumbling block in automated checking is the requirement to
target tests at specific entities (discrete code blocks) and for
diverse reasons.  Different checks are required for different:

o   types of code - programming languages (eg ASSEMBLER/PLAS), tables
    screen definitions, etc.

o     attributes for data fields and their manipulationn

o     installations - coding standards are different from location to
    location

o     products -  coding standards are different from product to
    product

      Additionally, the following requirements must be included.  It
should run `under the covers', ie automatically, without the
programmer having invoking the checker.  Tests cannot be bypassed
bythe end user.  There must be no end user maintenance; results must
be measurable, and it must be easily expandable for the addition of
extra checks.

      To resolve these problems, input to ACC is a relational table,
which initiates general and specific tests at definable code points,
giving the outward impression of each unit of code being unique.  ACC
verifies the correctness of code at the earliest possible time which
is at the point of injection, and achieves it by automatically
invoking tests to validate the software, and display errors detected
immediately to the programmer.

      The checker is automatically invoked, when prog...