Ada for Utility Functions in the U.S. Internal Revenue Service (IRS) Product Assurance Organization

Justice Moor
Product Assurance Division
U.S. Internal Revenue Service

The Product Assurance Division of the IRS is responsible for testing new versions of software prior to production implementation.  The IRS gives wide latitude to its employees to use PC based tools for quick single use programs. After reading about some of the capabilities of Ada, a Product Assurance employee located at the Detroit Computing Center, requested the GNAT Ada 95 compiler to be loaded on his PC. The local system administrator granted his request.

Development

During the course of testing it often becomes beneficial to develop programs to aid in the testing effort.  Ada was used experimentally to perform the following tasks:

Selecting Ada

Twice a year new versions of tax processing programs are tested by Product Assurance and approved for use.  Non data processing personel from Service Centers are assigned to work with the Product Assurance testers. Both enter transactions, record the transactions entered, and document the progress of the transaction as it progresses through the mainframe system.

Employees are allowed, within reason, to use a wide variety of tools to accomplish tasks.  I decided to use Ada  because of the language allowed me to quickly generate reliable code. I believed it would be too expensive for me to produce the software in C.  Although the job could have been done in Perl or Tcl, that would have required those interpreters to be installed on each computer which would complicate using the software.

Points to Consider

There always exists a need in any business environment to develop software that will perform useful, but not task critical functions.  Because the production of this software is subordinate to the critical tasks, developmental costs must be kept to a minimum.  Ada is a high-level language that is well equipped to produce reliable software both quickly and inexpensively.  Although the choice of languages for critical tasks is often influenced by such factors as the availability of programmers experienced in the language, allowing programmers to choose languages like Ada for non critical tasks affords them an opportunity to gain experience in other proven and sophisticated languages. The GNAT compiler is offered freely to the public for unrestricted private and commercial use.  Since federal money has sponsored and nurtured the Ada language, it seems logical for all government installations to reap the benefits by using the language.
 

*  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *
THIS REPORT IS ONLY THE OPINION OF ITS AUTHOR AND NOT THE I.R.S.
by Justice Moor, Product Assurance division of IRS
*  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *



last revision February 20, 2000