ESD-TR-66-113
ESD RECORD COPY
\<ti :'•
SCIENTIFIC & TE'' '^ DIVISION (ESTI1 Bl'»WOt»»G \i\\
MTR - 197
ESD ACCESSION 'LISToiume n ESTI Call No. AL 5 5953
Copy No.
./__ - -JL
CT»A METHOD FOR THE EVALUATION OF SOFTWARE VOLUME n
Procedural Language Compilers — Particularly COBOL and FORTRAN
APRIL 1967
A. E. Budd
Prepared for
EDP EQUIPMENT OFFICE
ELECTRONIC SYSTEMS DIVISION AIR FORCE SYSTEMS COMMAND UNITED STATES AIR FORCE L. G. Hanscom Field, Bedford, Massachusetts
Distribution of this document is unlimited.
Project 8510
Prepared by
THE MITRE CORPORATION Bedford, Massachusetts
This document may be reproduced to satisfy official needs of U.S. Government agencies. No other repro- duction authorized except with permission of Hq.
Electronic Systems Division, ATTN: ESTI.
When US Government drawings, specifications, or other data are used for any purpose other than a definitely related government procurement operation, the government thereby incurs no responsibility nor any obligation whatsoever; and the fact that the government may have formulated, furnished, or in any way supplied the said drawings, specifications, or other data is not to be regarded by implication or otherwise, as in any manner licensing the holder or any other person or corporation, or conveying any rights or permission to manufacture, use, or sell any patented invention that may in any way be related thereto.
Do not return this copy. Retain or destroy.
ABSTRACT
This report contains procedural language compiler features considered important for comparative analysis. These features are identified in a form expressly for inclusion in the Three Step Method for Software Evaluation
(Volume 1 of this series) under Category ONE: Procedural Language Com- pilers — Particularly COBOL and FORTRAN.
REVIEW AND APPROVAL
This technical report has been reviewed and is approved.
S. P. STEFFE5
MI Colonel, USAF
V Chief, EDP Equipment Office
in
TABLE OF CONTENTS
SECTION ONE SECTION TWO
SECTION THREE
Pa£e INTRODUCTION 1 MATRIX OF FEATURES 4 I. SOURCE LANGUAGE ORIENTED FEATURES 5 II. LOGIC AND CONTROL OF INPUT/OUTPUT
DEVICES 7 III. COMPILER FEATURES 9 IV. PROGRAMMER ERROR DIAGNOSTICS 12
V. HARD-COPY OUTPUT AND FACILITY
DOCUMENTATION 14 VI. MANUAL AND AUTOMATIC OPERATIONS 16 VII. FACILITY ADMINISTRATION 18 DESCRIPTION OF PROCEDURAL LANGUAGE COMPILER
FEATURES 19 I. SOURCE LANGUAGE ORIENTED FEATURES 19 II. LOGIC AND CONTROL OF INPUT/OUTPUT
DEVICES 22 III. COMPILER FEATURES 25 IV. PROGRAMMER ERROR DIAGNOSTICS 31
V. HARD-COPY OUTPUT AND FACILITY
DOCUMENTATION 34 VI. MANUAL AND AUTOMATIC OPERATIONS 36 VII. FACILITY ADMINISTRATION 38
\
TABLE OF CONTENTS (CONCLUDED)
SECTION FOUR
SECTION FIVE
QUESTIONNAIRE I. INTRODUCTION
II. FUNCTIONAL DIVISIONS COMPILER BENCHMARK PROGRAMS
I. INTRODUCTION
II. GENERAL REQUIREMENTS III. TEST PROGRAM FEATURES
Page 41 41 41 52 52 52 53
vi
SECTION ONE INTRODUCTION
This report contains the important features of procedural lan- guage compilers, particularly COBOL and FORTRAN. The compiler fea- tures identified are those which have been known to vary significantly from vendor to vendor, and are easily determined by appropriate ques- tioning or actual demonstration. These features are a composite from which the evaluator, in conjunction with the user, may select provid- ing they are consistent with the system requirements. The evaluator would first select those features which are of significant importance to the user. This list would be part of the basic system requirements of the evaluation team in which one vendor's answer or result for one feature would form one entry. This would provide a convenient method of comparing the features of one vendor as well as comparing the ven- dor's response to any one feature.
The evaluator must work with the user to determine his specific needs. For instance, the user may require emphasis on compilation since the major activity is to develop experimental programs which wilx be executed only a few times and discarded. On the other hand, his needs may require a very efficient object code from the compiler because once the program has been checked out it will be executed many times per day for several years with only slight modifications. Which- ever the case may be, these needs must be determined through the user so that the resulting system selection will meet his specific require- ments.
Any evaluation must begin with a precise identification of the user requirements. Failure to determine user requirements with suffi- cient precision can lead to identification of a grossly unsuitable system as the optimal one. Two types of user requirements mu'st be identified. First, features of possible systems must be examined to determine their utility to the user; in the initial stages of the evaluation process this utility need not take the form of a precise weight but need only be determined sufficiently to select the subset of possible features to be analyzed during the evaluation process.
Once the proper group of features has been selected, a standard of quality must be set for each one. This requires that a minimum level of performance regarding each feature be established. Obviously, instances will occur in which the presence or absence of the feature
is the only matter of concern, but in the case of certain features particularly amenable to quantitative measurement a minimum perform- ance level together with some valuation on above minimum performance must be established.
The features are presented in three sections. The first of these, SECTION TWO, contains summary titles of each feature in the matrix form required for the three step procedure described in Volume
I of this series. The next section, SECTION THREE, contains a descrip- tion of what is meant by each summary titled feature, which measures of software capability are affected by this feature and, where neces- sary, further explanation indicating what aspects are especially u»eful to an EDP installation or specific application. The last section, SECTION FOUR, contains a questionnaire which may be used by evaluator personnel to determine what important features are prevalent relative to vendor's COBOL or FORTRAN compilers.
It should be remembered that these features and questions are a composite and therefore, only those features or questions deemed impor- tant relative to the specific application or installation under con- sideration should be selected.
Each section is presented in the following seven groups:
I. Source Language Oriented Features - those relating primarily to characteristics.
II. Logic and Control of Input/Output Devices - features referring specifically to the control of input/output devices and associated program logic (buffer control, device assignment, etc.).
III. Compiler Features - features of the processor (i.e. the implementation of the language) rather than the lan- guage itself.
IV. Programmer Error Diagnostics - features relating to the facilities for error detection.
V. Hard-Copy Output and Facility Documentation - character- istics relating to the nature and frequency of documents produced by the compiler system (listings, error reports, etc.) as well as to available documentation about the processor and the language.
VI. Manual and Automatic Operations - compiler and object
system characteristics pertaining to running the compiler, updating to produce new compiler versions, etc.
VII. Facility Administration - matters pertaining to the administration of a facility using the software package in question as well as those not conveniently included under any other category.
SECTION TWO MATRIX OF FEATURES
The COBOL language is oriented toward business data-processing problems which involve manipulation of files of data. Business pro- blems are represented by a relatively small amount of algebraic and
logical processing. Instead, considerable emphasis is placed on manipulation of large files of basically similar records. The alge- braic compilers used in scientific calculation (FORTRAN, ALGOL, etc.) require emphasis on the procedures involved in a complex mathematical problem using numerical approximation, complicated logical structures, etc. In fact, in FORTRAN, all calculations at the highest level are performed on floating point numbers or integers each requiring a full word in word organized machines. Any data packing must be performed at the machine language level. On the other hand, in COBOL the source
language level provides the means to structure data items in records and working storage in a very flexible way. Furthermore, there are rewards in program running time for the programmer who carefully con- siders different methods of structuring the items in the DATA DIVISION and WORKING STORAGE. To do this he should know the word lengths and other unique features of this particular computer hardware, but he
implements his knowledge at the source language level rather than at the machiie language level. These differences require that features of COBOL will exhibit emphasis mainly in the description and manipula- tions of (1) data items, and (2) input-output record handling.
Each feature designated as important for comparative compiler analysis has been identified and placed in this section with the for- mat appropriate for inclusion in the three step procedure described in ESD-TR-66-113, Volume I. Features which reference COBOL are ones which are applicable only to COBOL; similarly, FORTRAN referenced features apply only to FORTRAN. Those having no language reference apply to COBOL, FORTRAN and other procedural language compilers.
The character "X" has been used to show which measures of soft- ware capability are affected by the features. It is apparent that any one feature may, in some esoteric way, affect each and every mea- sure of software capability; however, an "X" has been placed under those measures which significantly affect the feature in question.
The user-evaluator team must determine what measures are of particular importance to them, in addition to deciding whether each measure will be affected favorably or unfavorably (and to what degree) according to the system.requirements. This will establish ground rules such that proposals may be evaluated relative to preestablished specifica- tions appropriately adjusted to reflect characteristics of the appli- cation.
ONINIVHI "
MOixviNawnDoa
30N3aN3d3(INI X X X X
N0IIN3AH3XNI 30NVNZINIVW AiisNvnnwis
Ainiaixaii HIMO^O X
aovaois AHVCINOOSS
AW0N0D3 iDnacrad X X
Noixvznun o/i X X
Nonnoaxa X
NOIlVlIdWOD X X
inosoaHO X X
ONIWWTODOHCI X X X X X X
<
CO
cu o d
CO X> CO CO CU
cu 0) d cu < U
CO w ;H •H U o U CU
U
a
H / W u 4J i-l •H 3 o CMo£ M
/ I
•i-l 3 4-1 4J 4J C4-I!=>
8
Si
.-I o i—1 a" CO CO •H
% 1—1
5
fa/ s
cr3 1 cj£
4-1 3 fa CU 4-1 c Qa
o CO •«». // s
ta r!| fa CO a CO CD E <D -a I-I 1-1 CU CO •H 3°j fa u <u cu
A
i-l CO > X!1
w o / Q u bo CO a XI •i-l cu/ I
to M CO 3 H M H | a CO CT 3 X) 3z / 5a H 60 <U 3 4J w M
Cd O / w 3 J3 4J 0) XI co
/ M <# CO 4J CO N H 4-1 JJ
/ . « J O 4) •H CO CO \^. o 3
/ ^ O a, u-> fa CO 4J •3 <j 2 CU
/ S3
w M cu CJ CO a) vo cr> r-l X) Q CO 3 CO CM H CO es /. *s
1*5 o Q H 00 i-i CO N 4-1 OS cu 4J«5 5! 3 CO
s
O X) CO O (4 CO/ Si
/5
o H OS8
<u CO O 3a d o
•H
•H o
4J
CU 4J CO
s 1
o fa
<
4J 3
CO 4J CO
/ o / ^ / J
s
O fa3
3 o3
•H 4J •i-l XJ o <u 53 co< fa a)
E^
<!
(Li OS w <0 C H 0)
X>
W
XI < H
<3
14-1 o i i |/ d 1 O
g
•J 4J 0) r-l 1 1 i i CO 2 z z/ •*£
2
Q & a) CO CO 4-1 <E 2 J/ Q* 55 o o 3 r-l J hJ J •J CJ PS CM
1 & W <! CO M cr •i-l o O o o cu fcH fcH fa
/ Q >J 3 cu CO pa PQ pq CQ M-l Cd cd CC
/ U M
H
o •a > o5
O O <4-l O o o/ a
fa5
o o m H CO < <! u u U CJ w fa fa fa/ fa u u < « o .-3 w fa o X M ^ w iNawa^inba^
fa
CJ
s
ONINIVHX
noiiviNaNnooa
3DN3aN3d3dNI X
NOIlN3AaaiNI 30NVN3XNIVW
AiiaNvnnwis
AXI1I31X333 HXM02D
| 3DVH0XS AHVCINOD3S
AWONOD3
xanao^d
XNoixvznixn o/i
i i1
NOIXnD3X3 1I0IXV3IJK03
xnoxoaHo
ONIWWVHOOHd X
co (U o
a
01 l-l cu cCO w >-i y-i 0
w OS H M-H •l-l
s
<: M ••-I COCO
K
l-l M Q •r4 ><: b
S3
4-1 0g
o CO P-. < / •H •H g OH u•J fa U i-l 4-1 1
§
w o / H TJc
011
1W
/ « ^N / W TD / M 01
c
CO 6
4-1 01
1
CJ / PS 3
/ O G 4-1 CO a
4-1
/ >• •H a. CO
/ d
u ?*,/o
z 1
a u .a CJ CO u c 01/ < CJ H
z
a D/8
M H oS O J w CO cr 01/ l"J 0*
UH BS
o
a
fa/ l-J 1 o OS < i 1
/ 9
Q Z <O tn
CO
i 1 z
/ Q
3
H H/ w M J " OS OS
/ «
OH O 1—1 O O
s
PQ En fa/ as o O
/ p* cj U . •
•J S3
XNawaraint)3H
z UJ
CJ -J
H^ H
H d.
< g
a o
j u
<
S3
UJ<
w r i Pi CO
< z E* <
fa o K-l
CO
S3
OS s
o
5
fa w
Q u o
O QS EC OH H W
2
Wfa g
W O
H CO >
w o 0-
w ! 1
2 UJ rr f-
—H <C
DNINIVHI
noiiviNawnooa
30N3dN3d3(INI N0IIN3Ay3XNI 3DNVH3INIVW AXISNVXllTHIS X
X X X
Ainiaix3i3 HiMoyo X
3DVHOXS AHVCIN0D3S
AWON003 iDnaoad X X X X
Noixvznixn o/i X X X X X X X X 1
NOIXnD3X3 X X X X X X
HOIXVlIdWOD XnO>D3H0
ONiwwvaoo^d X X
co
CO c
01 o
i—i •M
CO w JH •H 4-1
u
s
3 1 H •M
59
fa
O H
CO 01
i-H 4-J
o
00 c o
M
co u o
o
M
i
o CO fa < 4-1 O •H fa CO fa 3 M •H 00 c •H •1-1 o C iM 4-1 ;>•. w u u co cu c,_} r 1 O M M u > CO c •H "O
i
•H 00 c ^^ M o y 01 4-1 01 c •H ?> M CO u 01 c o 01 M M •H cu o 4-1 3 O •0 cu CO55 / w 4-1 CM fa M tu •H 3 > fa Q
/ fa w •H O co 01 4-1 U CU .-1
/ ou )-l o ?s CJ cfl c a O
/ M 3 60 ^**. 4J 0) •M 4-1 o ""-•-. CO
/ >* hJ > c M •M u > 9 u o M ^.
/ i
,1 f-T- J^J o w fa Q H Z H •1-1 •a 60 c •H CM M 01 CM o •H o u ^ a •H > CU Q O at CJ a. e o •o 4-1 cu "^^ i—i c •H 00 C < CO 3/CJ) ;z> n2 o ;=> CO CM 60 fa N—. CO 0 ;>-,
/< CJ H U fa 01 3 c o M c > r~< e CO
/ 8
H OJ o Q P H fa pq •1-1 H CM o ^. M CM o •H 4-1 CO 01 fa CC fa i- cu C/ i
r? <; <1 *-« z o CO 3 CO 3 CM 01 c M O CO C t 1 < CJ •H H CO c 3 0 1 -H 4-1/ l-J fa fa ^ H O O 4-1 o O co o c H k 3
o U 3 CU 01 3 •H CM U •M •!- co CM fa O
/ 3
M fa c B pq 4J oo •U C4-1 T) O M
fp
a' •3 o z O H 4J co 4J CO 01 CO N CO c 4-1 CO •M u c n e 4-1 01 4- 3/ i
/ H
< _l i-H i-H r-i •M o c M l- 3 CO O 0 CO
u
3 3 43 i-H •M CO 4-1 )• 01 .c ••- 1M .J E g 3 •M 4-1 > CO C o fa M ^C O
/ 8
T:b
PQ M CO -r-< CO •r4 Q o 3 4J o fa < T3 fa c 01 s ^N. M fa CU X 01 c ^~ M/ s
d o l-l/ fa o u
-< m <_> a w fa o sc M *-> X
xN3W3ainb3^i
o
H
<
<
>
hi u
s
<
fa o
cc
fa O
fa
Q O w X fa w
CO
tu fa
s
c5 W H fa
CJ
w o
u
5
w u§ fa
w Z o
>•
a O
a w
t-
ONINIVHI
1
noiiviNawnDoa
3DN3CIN3d3(INI N0IIN3AH3INI 3DNVN3INIVW
AiiaNvnnwis
AIIIIHIXSli HXMOHO
aovaois AHVCINODSS
ARONOD3 lonaoHd
Noixvznun o/i X X
Noiinosxs X X X
MOIIVUdWOD
MO)D3H0 X
DNIWWVHOOtfd
CO M 06 P
CO <
i
hJ wz w o
u
Ed <
B
faO
CO
fa o
>*
H
M
•J 1—1
<c
CJ
/I
P a
as
a
CJ H H OS <
CM l
g s
M cm
CJ
H as o as O
<a z
<C
o « o
CJ
II.LOGICANDCONTROLOF*^\^^ INPUT/OUTPUTDEVICES(CONTINUED) COBOL- NumberofI/OAreasSupplied - forRESERVE „COBOL- ActionTakenWhenBufferHolds M *
SeveralRecords
CO 0) CJ
•H >
a 01
o
H CD CO 01 CJ
< cj
£
O
C
CM O
^
•H i-l
•H 4J
P
z
CO co 01 CJ
< CJ
e o
•u C c2 c o c o
•1-1 4-1 o
01 i-H 0) CO
-a u o u
Ol
Pi i
s
oCJ
6
CO 4-1
p1 4-1 co Ol H H O H-l 01 00 CO u o
4J CO co CO 0) CJ
< CJ
g o
•a c
s
1 hJ
§
oCJ
Oi*
IN3W3HinbaH
S
OS U
DNINIVHI
noiiviNHwnooa
X!30N3UN3d3G*NI X
N0IIN3AH3INI 3DNVN3INIVW AIISNVnflHIS
Aim 91X313 HIMOHD X
30VH0IS AtfVdNODSS
AW0N0D3 IDfldOHd X X X X
Noiivznun o/i
NOIinD3X3 X X
MOIIVIIdWOO X
inO>ID3HD X X
DNIWWVHOOtfd
X X X X
co CO
y-i E
co u •• U-l cd
Ed
3 9
H 1-1 O u 60 c oS3
3 i
b M 'O u 01 co O H •H 4-19
•u cd c PH D.$ u •r-l M o i-i •H
CO fa > 60 H •1-1 T-I o l-l
•< o C 4-1 i-l u CJ
hJ -fa u H •i-l ?-. u < 4-1 CO
1
o / CO CM x; U c 01 c 01/ 1
CJ 4-1 C 3 60 l-l o Qw ai 4-1 c ai 01 M-l U O u
/ e
60 cd P-I cd
•H o •H o o XI 3
3^
4-1 B J3 o f-l cu 1O 3 fa •H u CO c co cd l-l •r-l
/ . c2 60 .—i CM 60 O 01 u cd fa
/ i*" fa c w c <4-l 4-1 c C -r- o 60 > 01
/ i
fa3 •3
> •H 60 w • o 01 0 p •H 4-1 C cc a 0) O i-l l-i <-< CO "O c /. *? !r£3
CO 01 ""I £ C 4-> l-l Pi CC ?s Cd<5 60 01
s
J2 o 3 c a) U M/^ u> fa |—I c 0) Q •H o cj DS a 4-1 4-1 -r- cd T3
/ •< u H
1
•H 60 H B CD o 6 it l-l/8
M H Pi O8
JZ u cd 3 •1-1 c 4-1 14-1 o 4-1 0 l-l 6 O 0 fa a c CC ja •H o u/ 5
< fa CJ 4-1 cd 60 a CO o ;•> c 4-1 CO 4-1 cd.2(5
>J cu/ ^ fa fa p-i
3
M 60 o 0 01 cd 4-1 CJo 0) C c •H t-i a Q cd o •r-l •a
/ N? I ""^- 1—1 r-< 4-1 •H 01 4-1 3 B o c 4-1 I-I
/ 3 £
a «4 l-l M •H CO 01 u 01i
i-l J3 •1-1 CJ co u T3 cc <u u c o •H C 4-1 0 cd B T3 cd/ 3 w ^1 CJ 1*1 cd cd •H Cd CJ 6 S •H S o c
/ Q h-l 01 3 U CO CM a. O 0 g T3 C 4J cd
/ w M H-l Cv, O cd •H <4-l 01 u u o O 01
2 co 3 4-1
/ 8 s
o CO CO fa Q w CO PH PH CJ -J: CO/ OJ o
/ fa CJ cj
<c
« u Q w fa CJ PC M <-> Xihrawaninbra
7'. w o •J
H H
H fa
<
hJ
5
U<
s
<U p
Oi C5
< Z
3 3
o
fa -iCO
I
os ^>
O Q
fa M
a CJ O
o b3
33 fa
H U
s
wfa g
ij o
H
CO >-
U fa O
UJ C5
2 Ld rr H
— <d