aboutsummaryrefslogtreecommitdiff
path: root/testdir/funstack.in
blob: 5fcbcf05aa01d55c24324503b24c9c9564903fd6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186
5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280
5281
5282
5283
5284
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294
5295
5296
5297
5298
5299
5300
5301
5302
5303
5304
5305
5306
5307
5308
5309
5310
5311
5312
5313
5314
5315
5316
5317
5318
5319
5320
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
5333
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351
5352
5353
5354
5355
5356
5357
5358
5359
5360
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403
5404
5405
5406
5407
5408
5409
5410
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427
5428
5429
5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
5453
5454
5455
5456
5457
5458
5459
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
5489
5490
5491
5492
5493
5494
5495
5496
5497
5498
5499
5500
5501
5502
5503
5504
5505
5506
5507
5508
5509
5510
5511
5512
5513
5514
5515
5516
5517
5518
5519
5520
5521
5522
5523
5524
5525
5526
5527
5528
5529
5530
5531
5532
5533
5534
5535
5536
5537
5538
5539
5540
5541
5542
5543
5544
5545
5546
5547
5548
5549
5550
5551
5552
5553
5554
5555
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580
5581
5582
5583
5584
5585
5586
5587
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607
5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
5653
5654
5655
5656
5657
5658
5659
5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694
5695
5696
5697
5698
5699
5700
5701
5702
5703
5704
5705
5706
5707
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
5721
5722
5723
5724
5725
5726
5727
5728
5729
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5742
5743
5744
5745
5746
5747
5748
5749
5750
5751
5752
5753
5754
5755
5756
5757
5758
5759
5760
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
5785
5786
5787
5788
5789
5790
5791
5792
5793
5794
5795
5796
5797
5798
5799
5800
5801
5802
5803
5804
5805
5806
5807
5808
5809
5810
5811
5812
5813
5814
5815
5816
5817
5818
5819
5820
5821
5822
5823
5824
5825
5826
5827
5828
5829
5830
5831
5832
5833
5834
5835
5836
5837
5838
5839
5840
5841
5842
5843
5844
5845
5846
5847
5848
5849
5850
5851
5852
5853
5854
5855
5856
5857
5858
5859
5860
5861
5862
5863
5864
5865
5866
5867
5868
5869
5870
5871
5872
5873
5874
5875
5876
5877
5878
5879
5880
5881
5882
5883
5884
5885
5886
5887
5888
5889
5890
5891
5892
5893
5894
5895
5896
5897
5898
5899
5900
5901
5902
5903
5904
5905
5906
5907
5908
5909
5910
5911
5912
5913
5914
5915
5916
5917
5918
5919
5920
5921
5922
5923
5924
5925
5926
5927
5928
5929
5930
5931
5932
5933
5934
5935
5936
5937
5938
5939
5940
5941
5942
5943
5944
5945
5946
5947
5948
5949
5950
5951
5952
5953
5954
5955
5956
5957
5958
5959
5960
5961
5962
5963
5964
5965
5966
5967
5968
5969
5970
5971
5972
5973
5974
5975
5976
5977
5978
5979
5980
5981
5982
5983
5984
5985
5986
5987
5988
5989
5990
5991
5992
5993
5994
5995
5996
5997
5998
5999
6000
6001
6002
6003
6004
6005
6006
6007
6008
6009
6010
6011
6012
6013
6014
6015
6016
6017
6018
6019
6020
6021
6022
6023
6024
6025
6026
6027
6028
6029
6030
6031
6032
6033
6034
6035
6036
6037
6038
6039
6040
6041
6042
6043
6044
6045
6046
6047
6048
6049
6050
6051
6052
6053
6054
6055
6056
6057
6058
6059
6060
6061
6062
6063
6064
6065
6066
6067
6068
6069
6070
6071
6072
6073
6074
6075
6076
6077
6078
6079
6080
6081
6082
6083
6084
6085
6086
6087
6088
6089
6090
6091
6092
6093
6094
6095
6096
6097
6098
6099
6100
6101
6102
6103
6104
6105
6106
6107
6108
6109
6110
6111
6112
6113
6114
6115
6116
6117
6118
6119
6120
6121
6122
6123
6124
6125
6126
6127
6128
6129
6130
6131
6132
6133
6134
6135
6136
6137
6138
6139
6140
6141
6142
6143
6144
6145
6146
6147
6148
6149
6150
6151
6152
6153
6154
6155
6156
6157
6158
6159
6160
6161
6162
6163
6164
6165
6166
6167
6168
6169
6170
6171
6172
6173
6174
6175
6176
6177
6178
6179
6180
6181
6182
6183
6184
6185
6186
6187
6188
6189
6190
6191
6192
6193
6194
6195
6196
6197
6198
6199
6200
6201
6202
6203
6204
6205
6206
6207
6208
6209
6210
6211
6212
6213
6214
6215
6216
6217
6218
6219
6220
6221
6222
6223
6224
6225
6226
6227
6228
6229
6230
6231
6232
6233
6234
6235
6236
6237
6238
6239
6240
6241
6242
6243
6244
6245
6246
6247
6248
6249
6250
6251
6252
6253
6254
6255
6256
6257
6258
6259
6260
6261
6262
6263
6264
6265
6266
6267
6268
6269
6270
6271
6272
6273
6274
6275
6276
6277
6278
6279
6280
6281
6282
6283
6284
6285
6286
6287
6288
6289
6290
6291
6292
6293
6294
6295
6296
6297
6298
6299
6300
6301
6302
6303
6304
6305
6306
6307
6308
6309
6310
6311
6312
6313
6314
6315
6316
6317
6318
6319
6320
6321
6322
6323
6324
6325
6326
6327
6328
6329
6330
6331
6332
6333
6334
6335
6336
6337
6338
6339
6340
6341
6342
6343
6344
6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
6371
6372
6373
6374
6375
6376
6377
6378
6379
6380
6381
6382
6383
6384
6385
6386
6387
6388
6389
6390
6391
6392
6393
6394
6395
6396
6397
6398
6399
6400
6401
6402
6403
6404
6405
6406
6407
6408
6409
6410
6411
6412
6413
6414
6415
6416
6417
6418
6419
6420
6421
6422
6423
6424
6425
6426
6427
6428
6429
6430
6431
6432
6433
6434
6435
6436
6437
6438
6439
6440
6441
6442
6443
6444
6445
6446
6447
6448
6449
6450
6451
6452
6453
6454
6455
6456
6457
6458
6459
6460
6461
6462
6463
6464
6465
6466
6467
6468
6469
6470
6471
6472
6473
6474
6475
6476
6477
6478
6479
6480
6481
6482
6483
6484
6485
6486
6487
6488
6489
6490
6491
6492
6493
6494
6495
6496
6497
6498
6499
6500
6501
6502
6503
6504
6505
6506
6507
6508
6509
6510
6511
6512
6513
6514
6515
6516
6517
6518
6519
6520
6521
6522
6523
6524
6525
6526
6527
6528
6529
6530
6531
6532
6533
6534
6535
6536
6537
6538
6539
6540
6541
6542
6543
6544
6545
6546
6547
6548
6549
6550
6551
6552
6553
6554
6555
6556
6557
6558
6559
6560
6561
6562
6563
6564
6565
6566
6567
6568
6569
6570
6571
6572
6573
6574
6575
6576
6577
6578
6579
6580
6581
6582
6583
6584
6585
6586
6587
6588
6589
6590
6591
6592
6593
6594
6595
6596
6597
6598
6599
6600
6601
6602
6603
6604
6605
6606
6607
6608
6609
6610
6611
6612
6613
6614
6615
6616
6617
6618
6619
6620
6621
6622
6623
6624
6625
6626
6627
6628
6629
6630
6631
6632
6633
6634
6635
6636
6637
6638
6639
6640
6641
6642
6643
6644
6645
6646
6647
6648
6649
6650
6651
6652
6653
6654
6655
6656
6657
6658
6659
6660
6661
6662
6663
6664
6665
6666
6667
6668
6669
6670
6671
6672
6673
6674
6675
6676
6677
6678
6679
6680
6681
6682
6683
6684
6685
6686
6687
6688
6689
6690
6691
6692
6693
6694
6695
6696
6697
6698
6699
6700
6701
6702
6703
6704
6705
6706
6707
6708
6709
6710
6711
6712
6713
6714
6715
6716
6717
6718
6719
6720
6721
6722
6723
6724
6725
6726
6727
6728
6729
6730
6731
6732
6733
6734
6735
6736
6737
6738
6739
6740
6741
6742
6743
6744
6745
6746
6747
6748
6749
6750
6751
6752
6753
6754
6755
6756
6757
6758
6759
6760
6761
6762
6763
6764
6765
6766
6767
6768
6769
6770
6771
6772
6773
6774
6775
6776
6777
6778
6779
6780
6781
6782
6783
6784
6785
6786
6787
6788
6789
6790
6791
6792
6793
6794
6795
6796
6797
6798
6799
6800
6801
6802
6803
6804
6805
6806
6807
6808
6809
6810
6811
6812
6813
6814
6815
6816
6817
6818
6819
6820
6821
6822
6823
6824
6825
6826
6827
6828
6829
6830
6831
6832
6833
6834
6835
6836
6837
6838
6839
6840
6841
6842
6843
6844
6845
6846
6847
6848
6849
6850
6851
6852
6853
6854
6855
6856
6857
6858
6859
6860
6861
6862
6863
6864
6865
6866
6867
6868
6869
6870
6871
6872
6873
6874
6875
6876
6877
6878
6879
6880
6881
6882
6883
6884
6885
6886
6887
6888
6889
6890
6891
6892
6893
6894
6895
6896
6897
6898
6899
6900
6901
6902
6903
6904
6905
6906
6907
6908
6909
6910
6911
6912
6913
6914
6915
6916
6917
6918
6919
6920
6921
6922
6923
6924
6925
6926
6927
6928
6929
6930
6931
6932
6933
6934
6935
6936
6937
6938
6939
6940
6941
6942
6943
6944
6945
6946
6947
6948
6949
6950
6951
6952
6953
6954
6955
6956
6957
6958
6959
6960
6961
6962
6963
6964
6965
6966
6967
6968
6969
6970
6971
6972
6973
6974
6975
6976
6977
6978
6979
6980
6981
6982
6983
6984
6985
6986
6987
6988
6989
6990
6991
6992
6993
6994
6995
6996
6997
6998
6999
7000
7001
7002
7003
7004
7005
7006
7007
7008
7009
7010
7011
7012
7013
7014
7015
7016
7017
7018
7019
7020
7021
7022
7023
7024
7025
7026
7027
7028
7029
7030
7031
7032
7033
7034
7035
7036
7037
7038
7039
7040
7041
7042
7043
7044
7045
7046
7047
7048
7049
7050
7051
7052
7053
7054
7055
7056
7057
7058
7059
7060
7061
7062
7063
7064
7065
7066
7067
7068
7069
7070
7071
7072
7073
7074
7075
7076
7077
7078
7079
7080
7081
7082
7083
7084
7085
7086
7087
7088
7089
7090
7091
7092
7093
7094
7095
7096
7097
7098
7099
7100
7101
7102
7103
7104
7105
7106
7107
7108
7109
7110
7111
7112
7113
7114
7115
7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
7138
7139
7140
7141
7142
7143
7144
7145
7146
7147
7148
7149
7150
7151
7152
7153
7154
7155
7156
7157
7158
7159
7160
7161
7162
7163
7164
7165
7166
7167
7168
7169
7170
7171
7172
7173
7174
7175
7176
7177
7178
7179
7180
7181
7182
7183
7184
7185
7186
7187
7188
7189
7190
7191
7192
7193
7194
7195
7196
7197
7198
7199
7200
7201
7202
7203
7204
7205
7206
7207
7208
7209
7210
7211
7212
7213
7214
7215
7216
7217
7218
7219
7220
7221
7222
7223
7224
7225
7226
7227
7228
7229
7230
7231
7232
7233
7234
7235
7236
7237
7238
7239
7240
7241
7242
7243
7244
7245
7246
7247
7248
7249
7250
7251
7252
7253
7254
7255
7256
7257
7258
7259
7260
7261
7262
7263
7264
7265
7266
7267
7268
7269
7270
7271
7272
7273
7274
7275
7276
7277
7278
7279
7280
7281
7282
7283
7284
7285
7286
7287
7288
7289
7290
7291
7292
7293
7294
7295
7296
7297
7298
7299
7300
7301
7302
7303
7304
7305
7306
7307
7308
7309
7310
7311
7312
7313
7314
7315
7316
7317
7318
7319
7320
7321
7322
7323
7324
7325
7326
7327
7328
7329
7330
7331
7332
7333
7334
7335
7336
7337
7338
7339
7340
7341
7342
7343
7344
7345
7346
7347
7348
7349
7350
7351
7352
7353
7354
7355
7356
7357
7358
7359
7360
7361
7362
7363
7364
7365
7366
7367
7368
7369
7370
7371
7372
7373
7374
7375
7376
7377
7378
7379
7380
7381
7382
7383
7384
7385
7386
7387
7388
7389
7390
7391
7392
7393
7394
7395
7396
7397
7398
7399
7400
7401
7402
7403
7404
7405
7406
7407
7408
7409
7410
7411
7412
7413
7414
7415
7416
7417
7418
7419
7420
7421
7422
7423
7424
7425
7426
7427
7428
7429
7430
7431
7432
7433
7434
7435
7436
7437
7438
7439
7440
7441
7442
7443
7444
7445
7446
7447
7448
7449
7450
7451
7452
7453
7454
7455
7456
7457
7458
7459
7460
7461
7462
7463
7464
7465
7466
7467
7468
7469
7470
7471
7472
7473
7474
7475
7476
7477
7478
7479
7480
7481
7482
7483
7484
7485
7486
7487
7488
7489
7490
7491
7492
7493
7494
7495
7496
7497
7498
7499
7500
7501
7502
7503
7504
7505
7506
7507
7508
7509
7510
7511
7512
7513
7514
7515
7516
7517
7518
7519
7520
7521
7522
7523
7524
7525
7526
7527
7528
7529
7530
7531
7532
7533
7534
7535
7536
7537
7538
7539
7540
7541
7542
7543
7544
7545
7546
7547
7548
7549
7550
7551
7552
7553
7554
7555
7556
7557
7558
7559
7560
7561
7562
7563
7564
7565
7566
7567
7568
7569
7570
7571
7572
7573
7574
7575
7576
7577
7578
7579
7580
7581
7582
7583
7584
7585
7586
7587
7588
7589
7590
7591
7592
7593
7594
7595
7596
7597
7598
7599
7600
7601
7602
7603
7604
7605
7606
7607
7608
7609
7610
7611
7612
7613
7614
7615
7616
7617
7618
7619
7620
7621
7622
7623
7624
7625
7626
7627
7628
7629
7630
7631
7632
7633
7634
7635
7636
7637
7638
7639
7640
7641
7642
7643
7644
7645
7646
7647
7648
7649
7650
7651
7652
7653
7654
7655
7656
7657
7658
7659
7660
7661
7662
7663
7664
7665
7666
7667
7668
7669
7670
7671
7672
7673
7674
7675
7676
7677
7678
7679
7680
7681
7682
7683
7684
7685
7686
7687
7688
7689
7690
7691
7692
7693
7694
7695
7696
7697
7698
7699
7700
7701
7702
7703
7704
7705
7706
7707
7708
7709
7710
7711
7712
7713
7714
7715
7716
7717
7718
7719
7720
7721
7722
7723
7724
7725
7726
7727
7728
7729
7730
7731
7732
7733
7734
7735
7736
7737
7738
7739
7740
7741
7742
7743
7744
7745
7746
7747
7748
7749
7750
7751
7752
7753
7754
7755
7756
7757
7758
7759
7760
7761
7762
7763
7764
7765
7766
7767
7768
7769
7770
7771
7772
7773
7774
7775
7776
7777
7778
7779
7780
7781
7782
7783
7784
7785
7786
7787
7788
7789
7790
7791
7792
7793
7794
7795
7796
7797
7798
7799
7800
7801
7802
7803
7804
7805
7806
7807
7808
7809
7810
7811
7812
7813
7814
7815
7816
7817
7818
7819
7820
7821
7822
7823
7824
7825
7826
7827
7828
7829
7830
7831
7832
7833
7834
7835
7836
7837
7838
7839
7840
7841
7842
7843
7844
7845
7846
7847
7848
7849
7850
7851
7852
7853
7854
7855
7856
7857
7858
7859
7860
7861
7862
7863
7864
7865
7866
7867
7868
7869
7870
7871
7872
7873
7874
7875
7876
7877
7878
7879
7880
7881
7882
7883
7884
7885
7886
7887
7888
7889
7890
7891
7892
7893
7894
7895
7896
7897
7898
7899
7900
7901
7902
7903
7904
7905
7906
7907
7908
7909
7910
7911
7912
7913
7914
7915
7916
7917
7918
7919
7920
7921
7922
7923
7924
7925
7926
7927
7928
7929
7930
7931
7932
7933
7934
7935
7936
7937
7938
7939
7940
7941
7942
7943
7944
7945
7946
7947
7948
7949
7950
7951
7952
7953
7954
7955
7956
7957
7958
7959
7960
7961
7962
7963
7964
7965
7966
7967
7968
7969
7970
7971
7972
7973
7974
7975
7976
7977
7978
7979
7980
7981
7982
7983
7984
7985
7986
7987
7988
7989
7990
7991
7992
7993
7994
7995
7996
7997
7998
7999
8000
8001
8002
8003
8004
8005
8006
8007
8008
8009
8010
8011
8012
8013
8014
8015
8016
8017
8018
8019
8020
8021
8022
8023
8024
8025
8026
8027
8028
8029
8030
8031
8032
8033
8034
8035
8036
8037
8038
8039
8040
8041
8042
8043
8044
8045
8046
8047
8048
8049
8050
8051
8052
8053
8054
8055
8056
8057
8058
8059
8060
8061
8062
8063
8064
8065
8066
8067
8068
8069
8070
8071
8072
8073
8074
8075
8076
8077
8078
8079
8080
8081
8082
8083
8084
8085
8086
8087
8088
8089
8090
8091
8092
8093
8094
8095
8096
8097
8098
8099
8100
8101
8102
8103
8104
8105
8106
8107
8108
8109
8110
8111
8112
8113
8114
8115
8116
8117
8118
8119
8120
8121
8122
8123
8124
8125
8126
8127
8128
8129
8130
8131
8132
8133
8134
8135
8136
8137
8138
8139
8140
8141
8142
8143
8144
8145
8146
8147
8148
8149
8150
8151
8152
8153
8154
8155
8156
8157
8158
8159
8160
8161
8162
8163
8164
8165
8166
8167
8168
8169
8170
8171
8172
8173
8174
8175
8176
8177
8178
8179
8180
8181
8182
8183
8184
8185
8186
8187
8188
8189
8190
8191
8192
8193
8194
8195
8196
8197
8198
8199
8200
8201
8202
8203
8204
8205
8206
8207
8208
8209
8210
8211
8212
8213
8214
8215
8216
8217
8218
8219
8220
8221
8222
8223
8224
8225
8226
8227
8228
8229
8230
8231
8232
8233
8234
8235
8236
8237
8238
8239
8240
8241
8242
8243
8244
8245
8246
8247
8248
8249
8250
8251
8252
8253
8254
8255
8256
8257
8258
8259
8260
8261
8262
8263
8264
8265
8266
8267
8268
8269
8270
8271
8272
8273
8274
8275
8276
8277
8278
8279
8280
8281
8282
8283
8284
8285
8286
8287
8288
8289
8290
8291
8292
8293
8294
8295
8296
8297
8298
8299
8300
8301
8302
8303
8304
8305
8306
8307
8308
8309
8310
8311
8312
8313
8314
8315
8316
8317
8318
8319
8320
8321
8322
8323
8324
8325
8326
8327
8328
8329
8330
8331
8332
8333
8334
8335
8336
8337
8338
8339
8340
8341
8342
8343
8344
8345
8346
8347
8348
8349
8350
8351
8352
8353
8354
8355
8356
8357
8358
8359
8360
8361
8362
8363
8364
8365
8366
8367
8368
8369
8370
8371
8372
8373
8374
8375
8376
8377
8378
8379
8380
8381
8382
8383
8384
8385
8386
8387
8388
8389
8390
8391
8392
8393
8394
8395
8396
8397
8398
8399
8400
8401
8402
8403
8404
8405
8406
8407
8408
8409
8410
8411
8412
8413
8414
8415
8416
8417
8418
8419
8420
8421
8422
8423
8424
8425
8426
8427
8428
8429
8430
8431
8432
8433
8434
8435
8436
8437
8438
8439
8440
8441
8442
8443
8444
8445
8446
8447
8448
8449
8450
8451
8452
8453
8454
8455
8456
8457
8458
8459
8460
8461
8462
8463
8464
8465
8466
8467
8468
8469
8470
8471
8472
8473
8474
8475
8476
8477
8478
8479
8480
8481
8482
8483
8484
8485
8486
8487
8488
8489
8490
8491
8492
8493
8494
8495
8496
8497
8498
8499
8500
8501
8502
8503
8504
8505
8506
8507
8508
8509
8510
8511
8512
8513
8514
8515
8516
8517
8518
8519
8520
8521
8522
8523
8524
8525
8526
8527
8528
8529
8530
8531
8532
8533
8534
8535
8536
8537
8538
8539
8540
8541
8542
8543
8544
8545
8546
8547
8548
8549
8550
8551
8552
8553
8554
8555
8556
8557
8558
8559
8560
8561
8562
8563
8564
8565
8566
8567
8568
8569
8570
8571
8572
8573
8574
8575
8576
8577
8578
8579
8580
8581
8582
8583
8584
8585
8586
8587
8588
8589
8590
8591
8592
8593
8594
8595
8596
8597
8598
8599
8600
8601
8602
8603
8604
8605
8606
8607
8608
8609
8610
8611
8612
8613
8614
8615
8616
8617
8618
8619
8620
8621
8622
8623
8624
8625
8626
8627
8628
8629
8630
8631
8632
8633
8634
8635
8636
8637
8638
8639
8640
8641
8642
8643
8644
8645
8646
8647
8648
8649
8650
8651
8652
8653
8654
8655
8656
8657
8658
8659
8660
8661
8662
8663
8664
8665
8666
8667
8668
8669
8670
8671
8672
8673
8674
8675
8676
8677
8678
8679
8680
8681
8682
8683
8684
8685
8686
8687
8688
8689
8690
8691
8692
8693
8694
8695
8696
8697
8698
8699
8700
8701
8702
8703
8704
8705
8706
8707
8708
8709
8710
8711
8712
8713
8714
8715
8716
8717
8718
8719
8720
8721
8722
8723
8724
8725
8726
8727
8728
8729
8730
8731
8732
8733
8734
8735
8736
8737
8738
8739
8740
8741
8742
8743
8744
8745
8746
8747
8748
8749
8750
8751
8752
8753
8754
8755
8756
8757
8758
8759
8760
8761
8762
8763
8764
8765
8766
8767
8768
8769
8770
8771
8772
8773
8774
8775
8776
8777
8778
8779
8780
8781
8782
8783
8784
8785
8786
8787
8788
8789
8790
8791
8792
8793
8794
8795
8796
8797
8798
8799
8800
8801
8802
8803
8804
8805
8806
8807
8808
8809
8810
8811
8812
8813
8814
8815
8816
8817
8818
8819
8820
8821
8822
8823
8824
8825
8826
8827
8828
8829
8830
8831
8832
8833
8834
8835
8836
8837
8838
8839
8840
8841
8842
8843
8844
8845
8846
8847
8848
8849
8850
8851
8852
8853
8854
8855
8856
8857
8858
8859
8860
8861
8862
8863
8864
8865
8866
8867
8868
8869
8870
8871
8872
8873
8874
8875
8876
8877
8878
8879
8880
8881
8882
8883
8884
8885
8886
8887
8888
8889
8890
8891
8892
8893
8894
8895
8896
8897
8898
8899
8900
8901
8902
8903
8904
8905
8906
8907
8908
8909
8910
8911
8912
8913
8914
8915
8916
8917
8918
8919
8920
8921
8922
8923
8924
8925
8926
8927
8928
8929
8930
8931
8932
8933
8934
8935
8936
8937
8938
8939
8940
8941
8942
8943
8944
8945
8946
8947
8948
8949
8950
8951
8952
8953
8954
8955
8956
8957
8958
8959
8960
8961
8962
8963
8964
8965
8966
8967
8968
8969
8970
8971
8972
8973
8974
8975
8976
8977
8978
8979
8980
8981
8982
8983
8984
8985
8986
8987
8988
8989
8990
8991
8992
8993
8994
8995
8996
8997
8998
8999
9000
9001
9002
9003
9004
9005
9006
9007
9008
9009
9010
9011
9012
9013
9014
9015
9016
9017
9018
9019
9020
9021
9022
9023
9024
9025
9026
9027
9028
9029
9030
9031
9032
9033
9034
9035
9036
9037
9038
9039
9040
9041
9042
9043
9044
9045
9046
9047
9048
9049
9050
9051
9052
9053
9054
9055
9056
9057
9058
9059
9060
9061
9062
9063
9064
9065
9066
9067
9068
9069
9070
9071
9072
9073
9074
9075
9076
9077
9078
9079
9080
9081
9082
9083
9084
9085
9086
9087
9088
9089
9090
9091
9092
9093
9094
9095
9096
9097
9098
9099
9100
9101
9102
9103
9104
9105
9106
9107
9108
9109
9110
9111
9112
9113
9114
9115
9116
9117
9118
9119
9120
9121
9122
9123
9124
9125
9126
9127
9128
9129
9130
9131
9132
9133
9134
9135
9136
9137
9138
9139
9140
9141
9142
9143
9144
9145
9146
9147
9148
9149
9150
9151
9152
9153
9154
9155
9156
9157
9158
9159
9160
9161
9162
9163
9164
9165
9166
9167
9168
9169
9170
9171
9172
9173
9174
9175
9176
9177
9178
9179
9180
9181
9182
9183
9184
9185
9186
9187
9188
9189
9190
9191
9192
9193
9194
9195
9196
9197
9198
9199
9200
9201
9202
9203
9204
9205
9206
9207
9208
9209
9210
9211
9212
9213
9214
9215
9216
9217
9218
9219
9220
9221
9222
9223
9224
9225
9226
9227
9228
9229
9230
9231
9232
9233
9234
9235
9236
9237
9238
9239
9240
9241
9242
9243
9244
9245
9246
9247
9248
9249
9250
9251
9252
9253
9254
9255
9256
9257
9258
9259
9260
9261
9262
9263
9264
9265
9266
9267
9268
9269
9270
9271
9272
9273
9274
9275
9276
9277
9278
9279
9280
9281
9282
9283
9284
9285
9286
9287
9288
9289
9290
9291
9292
9293
9294
9295
9296
9297
9298
9299
9300
9301
9302
9303
9304
9305
9306
9307
9308
9309
9310
9311
9312
9313
9314
9315
9316
9317
9318
9319
9320
9321
9322
9323
9324
9325
9326
9327
9328
9329
9330
9331
9332
9333
9334
9335
9336
9337
9338
9339
9340
9341
9342
9343
9344
9345
9346
9347
9348
9349
9350
9351
9352
9353
9354
9355
9356
9357
9358
9359
9360
9361
9362
9363
9364
9365
9366
9367
9368
9369
9370
9371
9372
9373
9374
9375
9376
9377
9378
9379
9380
9381
9382
9383
9384
9385
9386
9387
9388
9389
9390
9391
9392
9393
9394
9395
9396
9397
9398
9399
9400
9401
9402
9403
9404
9405
9406
9407
9408
9409
9410
9411
9412
9413
9414
9415
9416
9417
9418
9419
9420
9421
9422
9423
9424
9425
9426
9427
9428
9429
9430
9431
9432
9433
9434
9435
9436
9437
9438
9439
9440
9441
9442
9443
9444
9445
9446
9447
9448
9449
9450
9451
9452
9453
9454
9455
9456
9457
9458
9459
9460
9461
9462
9463
9464
9465
9466
9467
9468
9469
9470
9471
9472
9473
9474
9475
9476
9477
9478
9479
9480
9481
9482
9483
9484
9485
9486
9487
9488
9489
9490
9491
9492
9493
9494
9495
9496
9497
9498
9499
9500
9501
9502
9503
9504
9505
9506
9507
9508
9509
9510
9511
9512
9513
9514
9515
9516
9517
9518
9519
9520
9521
9522
9523
9524
9525
9526
9527
9528
9529
9530
9531
9532
9533
9534
9535
9536
9537
9538
9539
9540
9541
9542
9543
9544
9545
9546
9547
9548
9549
9550
9551
9552
9553
9554
9555
9556
9557
9558
9559
9560
9561
9562
9563
9564
9565
9566
9567
9568
9569
9570
9571
9572
9573
9574
9575
9576
9577
9578
9579
9580
9581
9582
9583
9584
9585
9586
9587
9588
9589
9590
9591
9592
9593
9594
9595
9596
9597
9598
9599
9600
9601
9602
9603
9604
9605
9606
9607
9608
9609
9610
9611
9612
9613
9614
9615
9616
9617
9618
9619
9620
9621
9622
9623
9624
9625
9626
9627
9628
9629
9630
9631
9632
9633
9634
9635
9636
9637
9638
9639
9640
9641
9642
9643
9644
9645
9646
9647
9648
9649
9650
9651
9652
9653
9654
9655
9656
9657
9658
9659
9660
9661
9662
9663
9664
9665
9666
9667
9668
9669
9670
9671
9672
9673
9674
9675
9676
9677
9678
9679
9680
9681
9682
9683
9684
9685
9686
9687
9688
9689
9690
9691
9692
9693
9694
9695
9696
9697
9698
9699
9700
9701
9702
9703
9704
9705
9706
9707
9708
9709
9710
9711
9712
9713
9714
9715
9716
9717
9718
9719
9720
9721
9722
9723
9724
9725
9726
9727
9728
9729
9730
9731
9732
9733
9734
9735
9736
9737
9738
9739
9740
9741
9742
9743
9744
9745
9746
9747
9748
9749
9750
9751
9752
9753
9754
9755
9756
9757
9758
9759
9760
9761
9762
9763
9764
9765
9766
9767
9768
9769
9770
9771
9772
9773
9774
9775
9776
9777
9778
9779
9780
9781
9782
9783
9784
9785
9786
9787
9788
9789
9790
9791
9792
9793
9794
9795
9796
9797
9798
9799
9800
9801
9802
9803
9804
9805
9806
9807
9808
9809
9810
9811
9812
9813
9814
9815
9816
9817
9818
9819
9820
9821
9822
9823
9824
9825
9826
9827
9828
9829
9830
9831
9832
9833
9834
9835
9836
9837
9838
9839
9840
9841
9842
9843
9844
9845
9846
9847
9848
9849
9850
9851
9852
9853
9854
9855
9856
9857
9858
9859
9860
9861
9862
9863
9864
9865
9866
9867
9868
9869
9870
9871
9872
9873
9874
9875
9876
9877
9878
9879
9880
9881
9882
9883
9884
9885
9886
9887
9888
9889
9890
9891
9892
9893
9894
9895
9896
9897
9898
9899
9900
9901
9902
9903
9904
9905
9906
9907
9908
9909
9910
9911
9912
9913
9914
9915
9916
9917
9918
9919
9920
9921
9922
9923
9924
9925
9926
9927
9928
9929
9930
9931
9932
9933
9934
9935
9936
9937
9938
9939
9940
9941
9942
9943
9944
9945
9946
9947
9948
9949
9950
9951
9952
9953
9954
9955
9956
9957
9958
9959
9960
9961
9962
9963
9964
9965
9966
9967
9968
9969
9970
9971
9972
9973
9974
9975
9976
9977
9978
9979
9980
9981
9982
9983
9984
9985
9986
9987
9988
9989
9990
9991
9992
9993
9994
9995
9996
9997
9998
9999
10000
10001
10002
10003
10004
10005
10006
10007
10008
10009
10010
10011
10012
10013
10014
10015
10016
10017
10018
10019
10020
10021
10022
10023
10024
10025
10026
10027
10028
10029
10030
10031
10032
10033
10034
10035
10036
10037
10038
10039
10040
10041
10042
10043
10044
10045
10046
10047
10048
10049
10050
10051
10052
10053
10054
10055
10056
10057
10058
10059
10060
10061
10062
10063
10064
10065
10066
10067
10068
10069
10070
10071
10072
10073
10074
10075
10076
10077
10078
10079
10080
10081
10082
10083
10084
10085
10086
10087
10088
10089
10090
10091
10092
10093
10094
10095
10096
10097
10098
10099
10100
10101
10102
10103
10104
10105
10106
10107
10108
10109
10110
10111
10112
10113
10114
10115
10116
10117
10118
10119
10120
10121
10122
10123
10124
10125
10126
10127
10128
10129
10130
10131
10132
10133
10134
10135
10136
10137
10138
10139
10140
10141
10142
10143
10144
10145
10146
10147
10148
10149
10150
10151
10152
10153
10154
10155
10156
10157
10158
10159
10160
10161
10162
10163
10164
10165
10166
10167
10168
10169
10170
10171
10172
10173
10174
10175
10176
10177
10178
10179
10180
10181
10182
10183
10184
10185
10186
10187
10188
10189
10190
10191
10192
10193
10194
10195
10196
10197
10198
10199
10200
10201
10202
10203
10204
10205
10206
10207
10208
10209
10210
10211
10212
10213
10214
10215
10216
10217
10218
10219
10220
10221
10222
10223
10224
10225
10226
10227
10228
10229
10230
10231
10232
10233
10234
10235
10236
10237
10238
10239
10240
10241
10242
10243
10244
10245
10246
10247
10248
10249
10250
10251
10252
10253
10254
10255
10256
10257
10258
10259
10260
10261
10262
10263
10264
10265
10266
10267
10268
10269
10270
10271
10272
10273
10274
10275
10276
10277
10278
10279
10280
10281
10282
10283
10284
10285
10286
10287
10288
10289
10290
10291
10292
10293
10294
10295
10296
10297
10298
10299
10300
10301
10302
10303
10304
10305
10306
10307
10308
10309
10310
10311
10312
10313
10314
10315
10316
10317
10318
10319
10320
10321
10322
10323
10324
10325
10326
10327
10328
10329
10330
10331
10332
10333
10334
10335
10336
10337
10338
10339
10340
10341
10342
10343
10344
10345
10346
10347
10348
10349
10350
10351
10352
10353
10354
10355
10356
10357
10358
10359
10360
10361
10362
10363
10364
10365
10366
10367
10368
10369
10370
10371
10372
10373
10374
10375
10376
10377
10378
10379
10380
10381
10382
10383
10384
10385
10386
10387
10388
10389
10390
10391
10392
10393
10394
10395
10396
10397
10398
10399
10400
10401
10402
10403
10404
10405
10406
10407
10408
10409
10410
10411
10412
10413
10414
10415
10416
10417
10418
10419
10420
10421
10422
10423
10424
10425
10426
10427
10428
10429
10430
10431
10432
10433
10434
10435
10436
10437
10438
10439
10440
10441
10442
10443
10444
10445
10446
10447
10448
10449
10450
10451
10452
10453
10454
10455
10456
10457
10458
10459
10460
10461
10462
10463
10464
10465
10466
10467
10468
10469
10470
10471
10472
10473
10474
10475
10476
10477
10478
10479
10480
10481
10482
10483
10484
10485
10486
10487
10488
10489
10490
10491
10492
10493
10494
10495
10496
10497
10498
10499
10500
10501
10502
10503
10504
10505
10506
10507
10508
10509
10510
10511
10512
10513
10514
10515
10516
10517
10518
10519
10520
10521
10522
10523
10524
10525
10526
10527
10528
10529
10530
10531
10532
10533
10534
10535
10536
10537
10538
10539
10540
10541
10542
10543
10544
10545
10546
10547
10548
10549
10550
10551
10552
10553
10554
10555
10556
10557
10558
10559
10560
10561
10562
10563
10564
10565
10566
10567
10568
10569
10570
10571
10572
10573
10574
10575
10576
10577
10578
10579
10580
10581
10582
10583
10584
10585
10586
10587
10588
10589
10590
10591
10592
10593
10594
10595
10596
10597
10598
10599
10600
10601
10602
10603
10604
10605
10606
10607
10608
10609
10610
10611
10612
10613
10614
10615
10616
10617
10618
10619
10620
10621
10622
10623
10624
10625
10626
10627
10628
10629
10630
10631
10632
10633
10634
10635
10636
10637
10638
10639
10640
10641
10642
10643
10644
10645
10646
10647
10648
10649
10650
10651
10652
10653
10654
10655
10656
10657
10658
10659
10660
10661
10662
10663
10664
10665
10666
10667
10668
10669
10670
10671
10672
10673
10674
10675
10676
10677
10678
10679
10680
10681
10682
10683
10684
10685
10686
10687
10688
10689
10690
10691
10692
10693
10694
10695
10696
10697
10698
10699
10700
10701
10702
10703
10704
10705
10706
10707
10708
10709
10710
10711
10712
10713
10714
10715
10716
10717
10718
10719
10720
10721
10722
10723
10724
10725
10726
10727
10728
10729
10730
10731
10732
10733
10734
10735
10736
10737
10738
10739
10740
10741
10742
10743
10744
10745
10746
10747
10748
10749
10750
10751
10752
10753
10754
10755
10756
10757
10758
10759
10760
10761
10762
10763
10764
10765
10766
10767
10768
10769
10770
10771
10772
10773
10774
10775
10776
10777
10778
10779
10780
10781
10782
10783
10784
10785
10786
10787
10788
10789
10790
10791
10792
10793
10794
10795
10796
10797
10798
10799
10800
10801
10802
10803
10804
10805
10806
10807
10808
10809
10810
10811
10812
10813
10814
10815
10816
10817
10818
10819
10820
10821
10822
10823
10824
10825
10826
10827
10828
10829
10830
10831
10832
10833
10834
10835
10836
10837
10838
10839
10840
10841
10842
10843
10844
10845
10846
10847
10848
10849
10850
10851
10852
10853
10854
10855
10856
10857
10858
10859
10860
10861
10862
10863
10864
10865
10866
10867
10868
10869
10870
10871
10872
10873
10874
10875
10876
10877
10878
10879
10880
10881
10882
10883
10884
10885
10886
10887
10888
10889
10890
10891
10892
10893
10894
10895
10896
10897
10898
10899
10900
10901
10902
10903
10904
10905
10906
10907
10908
10909
10910
10911
10912
10913
10914
10915
10916
10917
10918
10919
10920
10921
10922
10923
10924
10925
10926
10927
10928
10929
10930
10931
10932
10933
10934
10935
10936
10937
10938
10939
10940
10941
10942
10943
10944
10945
10946
10947
10948
10949
10950
10951
10952
10953
10954
10955
10956
10957
10958
10959
10960
10961
10962
10963
10964
10965
10966
10967
10968
10969
10970
10971
10972
10973
10974
10975
10976
10977
10978
10979
10980
10981
10982
10983
10984
10985
10986
10987
10988
10989
10990
10991
10992
10993
10994
10995
10996
10997
10998
10999
11000
11001
11002
11003
11004
11005
11006
11007
11008
11009
11010
11011
11012
11013
11014
11015
11016
11017
11018
11019
11020
11021
11022
11023
11024
11025
11026
11027
11028
11029
11030
11031
11032
11033
11034
11035
11036
11037
11038
11039
11040
11041
11042
11043
11044
11045
11046
11047
11048
11049
11050
11051
11052
11053
11054
11055
11056
11057
11058
11059
11060
11061
11062
11063
11064
11065
11066
11067
11068
11069
11070
11071
11072
11073
11074
11075
11076
11077
11078
11079
11080
11081
11082
11083
11084
11085
11086
11087
11088
11089
11090
11091
11092
11093
11094
11095
11096
11097
11098
11099
11100
11101
11102
11103
11104
11105
11106
11107
11108
11109
11110
11111
11112
11113
11114
11115
11116
11117
11118
11119
11120
11121
11122
11123
11124
11125
11126
11127
11128
11129
11130
11131
11132
11133
11134
11135
11136
11137
11138
11139
11140
11141
11142
11143
11144
11145
11146
11147
11148
11149
11150
11151
11152
11153
11154
11155
11156
11157
11158
11159
11160
11161
11162
11163
11164
11165
11166
11167
11168
11169
11170
11171
11172
11173
11174
11175
11176
11177
11178
11179
11180
11181
11182
11183
11184
11185
11186
11187
11188
11189
11190
11191
11192
11193
11194
11195
11196
11197
11198
11199
11200
11201
11202
11203
11204
11205
11206
11207
11208
11209
11210
11211
11212
11213
11214
11215
11216
11217
11218
11219
11220
11221
11222
11223
11224
11225
11226
11227
11228
11229
11230
11231
11232
11233
11234
11235
11236
11237
11238
11239
11240
11241
11242
11243
11244
11245
11246
11247
11248
11249
11250
11251
11252
11253
11254
11255
11256
11257
11258
11259
11260
11261
11262
11263
11264
11265
11266
11267
11268
11269
11270
11271
11272
11273
11274
11275
11276
11277
11278
11279
11280
11281
11282
11283
11284
11285
11286
11287
11288
11289
11290
11291
11292
11293
11294
11295
11296
11297
11298
11299
11300
11301
11302
11303
11304
11305
11306
11307
11308
11309
11310
11311
11312
11313
11314
11315
11316
11317
11318
11319
11320
11321
11322
11323
11324
11325
11326
11327
11328
11329
11330
11331
11332
11333
11334
11335
11336
11337
11338
11339
11340
11341
11342
11343
11344
11345
11346
11347
11348
11349
11350
11351
11352
11353
11354
11355
11356
11357
11358
11359
11360
11361
11362
11363
11364
11365
11366
11367
11368
11369
11370
11371
11372
11373
11374
11375
11376
11377
11378
11379
11380
11381
11382
11383
11384
11385
11386
11387
11388
11389
11390
11391
11392
11393
11394
11395
11396
11397
11398
11399
11400
11401
11402
11403
11404
11405
11406
11407
11408
11409
11410
11411
11412
11413
11414
11415
11416
11417
11418
11419
11420
11421
11422
11423
11424
11425
11426
11427
11428
11429
11430
11431
11432
11433
11434
11435
11436
11437
11438
11439
11440
11441
11442
11443
11444
11445
11446
11447
11448
11449
11450
11451
11452
11453
11454
11455
11456
11457
11458
11459
11460
11461
11462
11463
11464
11465
11466
11467
11468
11469
11470
11471
11472
11473
11474
11475
11476
11477
11478
11479
11480
11481
11482
11483
11484
11485
11486
11487
11488
11489
11490
11491
11492
11493
11494
11495
11496
11497
11498
11499
11500
11501
11502
11503
11504
11505
11506
11507
11508
11509
11510
11511
11512
11513
11514
11515
11516
11517
11518
11519
11520
11521
11522
11523
11524
11525
11526
11527
11528
11529
11530
11531
11532
11533
11534
11535
11536
11537
11538
11539
11540
11541
11542
11543
11544
11545
11546
11547
11548
11549
11550
11551
11552
11553
11554
11555
11556
11557
11558
11559
11560
11561
11562
11563
11564
11565
11566
11567
11568
11569
11570
11571
11572
11573
11574
11575
11576
11577
11578
11579
11580
11581
11582
11583
11584
11585
11586
11587
11588
11589
11590
11591
11592
11593
11594
11595
11596
11597
11598
11599
11600
11601
11602
11603
11604
11605
11606
11607
11608
11609
11610
11611
11612
11613
11614
11615
11616
11617
11618
11619
11620
11621
11622
11623
11624
11625
11626
11627
11628
11629
11630
11631
11632
11633
11634
11635
11636
11637
11638
11639
11640
11641
11642
11643
11644
11645
11646
11647
11648
11649
11650
11651
11652
11653
11654
11655
11656
11657
11658
11659
11660
11661
11662
11663
11664
11665
11666
11667
11668
11669
11670
11671
11672
11673
11674
11675
11676
11677
11678
11679
11680
11681
11682
11683
11684
11685
11686
11687
11688
11689
11690
11691
11692
11693
11694
11695
11696
11697
11698
11699
11700
11701
11702
11703
11704
11705
11706
11707
11708
11709
11710
11711
11712
11713
11714
11715
11716
11717
11718
11719
11720
11721
11722
11723
11724
11725
11726
11727
11728
11729
11730
11731
11732
11733
11734
11735
11736
11737
11738
11739
11740
11741
11742
11743
11744
11745
11746
11747
11748
11749
11750
11751
11752
11753
11754
11755
11756
11757
11758
11759
11760
11761
11762
11763
11764
11765
11766
11767
11768
11769
11770
11771
11772
11773
11774
11775
11776
11777
11778
11779
11780
11781
11782
11783
11784
11785
11786
11787
11788
11789
11790
11791
11792
11793
11794
11795
11796
11797
11798
11799
11800
11801
11802
11803
11804
11805
11806
11807
11808
11809
11810
11811
11812
11813
11814
11815
11816
11817
11818
11819
11820
11821
11822
11823
11824
11825
11826
11827
11828
11829
11830
11831
11832
11833
11834
11835
11836
11837
11838
11839
11840
11841
11842
11843
11844
11845
11846
11847
11848
11849
11850
11851
11852
11853
11854
11855
11856
11857
11858
11859
11860
11861
11862
11863
11864
11865
11866
11867
11868
11869
11870
11871
11872
11873
11874
11875
11876
11877
11878
11879
11880
11881
11882
11883
11884
11885
11886
11887
11888
11889
11890
11891
11892
11893
11894
11895
11896
11897
11898
11899
11900
11901
11902
11903
11904
11905
11906
11907
11908
11909
11910
11911
11912
11913
11914
11915
11916
11917
11918
11919
11920
11921
11922
11923
11924
11925
11926
11927
11928
11929
11930
11931
11932
11933
11934
11935
11936
11937
11938
11939
11940
11941
11942
11943
11944
11945
11946
11947
11948
11949
11950
11951
11952
11953
11954
11955
11956
11957
11958
11959
11960
11961
11962
11963
11964
11965
11966
11967
11968
11969
11970
11971
11972
11973
11974
11975
11976
11977
11978
11979
11980
11981
11982
11983
11984
11985
11986
11987
11988
11989
11990
11991
11992
11993
11994
11995
11996
11997
11998
11999
12000
12001
12002
12003
12004
12005
12006
12007
12008
12009
12010
12011
12012
12013
12014
12015
12016
12017
12018
12019
12020
12021
12022
12023
12024
12025
12026
12027
12028
12029
12030
12031
12032
12033
12034
12035
12036
12037
12038
12039
12040
12041
12042
12043
12044
12045
12046
12047
12048
12049
12050
12051
12052
12053
12054
12055
12056
12057
12058
12059
12060
12061
12062
12063
12064
12065
12066
12067
12068
12069
12070
12071
12072
12073
12074
12075
12076
12077
12078
12079
12080
12081
12082
12083
12084
12085
12086
12087
12088
12089
12090
12091
12092
12093
12094
12095
12096
12097
12098
12099
12100
12101
12102
12103
12104
12105
12106
12107
12108
12109
12110
12111
12112
12113
12114
12115
12116
12117
12118
12119
12120
12121
12122
12123
12124
12125
12126
12127
12128
12129
12130
12131
12132
12133
12134
12135
12136
12137
12138
12139
12140
12141
12142
12143
12144
12145
12146
12147
12148
12149
12150
12151
12152
12153
12154
12155
12156
12157
12158
12159
12160
12161
12162
12163
12164
12165
12166
12167
12168
12169
12170
12171
12172
12173
12174
12175
12176
12177
12178
12179
12180
12181
12182
12183
12184
12185
12186
12187
12188
12189
12190
12191
12192
12193
12194
12195
12196
12197
12198
12199
12200
12201
12202
12203
12204
12205
12206
12207
12208
12209
12210
12211
12212
12213
12214
12215
12216
12217
12218
12219
12220
12221
12222
12223
12224
12225
12226
12227
12228
12229
12230
12231
12232
12233
12234
12235
12236
12237
12238
12239
12240
12241
12242
12243
12244
12245
12246
12247
12248
12249
12250
12251
12252
12253
12254
12255
12256
12257
12258
12259
12260
12261
12262
12263
12264
12265
12266
12267
12268
12269
12270
12271
12272
12273
12274
12275
12276
12277
12278
12279
12280
12281
12282
12283
12284
12285
12286
12287
12288
12289
12290
12291
12292
12293
12294
12295
12296
12297
12298
12299
12300
12301
12302
12303
12304
12305
12306
12307
12308
12309
12310
12311
12312
12313
12314
12315
12316
12317
12318
12319
12320
12321
12322
12323
12324
12325
12326
12327
12328
12329
12330
12331
12332
12333
12334
12335
12336
12337
12338
12339
12340
12341
12342
12343
12344
12345
12346
12347
12348
12349
12350
12351
12352
12353
12354
12355
12356
12357
12358
12359
12360
12361
12362
12363
12364
12365
12366
12367
12368
12369
12370
12371
12372
12373
12374
12375
12376
12377
12378
12379
12380
12381
12382
12383
12384
12385
12386
12387
12388
12389
12390
12391
12392
12393
12394
12395
12396
12397
12398
12399
12400
12401
12402
12403
12404
12405
12406
12407
12408
12409
12410
12411
12412
12413
12414
12415
12416
12417
12418
12419
12420
12421
12422
12423
12424
12425
12426
12427
12428
12429
12430
12431
12432
12433
12434
12435
12436
12437
12438
12439
12440
12441
12442
12443
12444
12445
12446
12447
12448
12449
12450
12451
12452
12453
12454
12455
12456
12457
12458
12459
12460
12461
12462
12463
12464
12465
12466
12467
12468
12469
12470
12471
12472
12473
12474
12475
12476
12477
12478
12479
12480
12481
12482
12483
12484
12485
12486
12487
12488
12489
12490
12491
12492
12493
12494
12495
12496
12497
12498
12499
12500
12501
12502
12503
12504
12505
12506
12507
12508
12509
12510
12511
12512
12513
12514
12515
12516
12517
12518
12519
12520
12521
12522
12523
12524
12525
12526
12527
12528
12529
12530
12531
12532
12533
12534
12535
12536
12537
12538
12539
12540
12541
12542
12543
12544
12545
12546
12547
12548
12549
12550
12551
12552
12553
12554
12555
12556
12557
12558
12559
12560
12561
12562
12563
12564
12565
12566
12567
12568
12569
12570
12571
12572
12573
12574
12575
12576
12577
12578
12579
12580
12581
12582
12583
12584
12585
12586
12587
12588
12589
12590
12591
12592
12593
12594
12595
12596
12597
12598
12599
12600
12601
12602
12603
12604
12605
12606
12607
12608
12609
12610
12611
12612
12613
12614
12615
12616
12617
12618
12619
12620
12621
12622
12623
12624
12625
12626
12627
12628
12629
12630
12631
12632
12633
12634
12635
12636
12637
12638
12639
12640
12641
12642
12643
12644
12645
12646
12647
12648
12649
12650
12651
12652
12653
12654
12655
12656
12657
12658
12659
12660
12661
12662
12663
12664
12665
12666
12667
12668
12669
12670
12671
12672
12673
12674
12675
12676
12677
12678
12679
12680
12681
12682
12683
12684
12685
12686
12687
12688
12689
12690
12691
12692
12693
12694
12695
12696
12697
12698
12699
12700
12701
12702
12703
12704
12705
12706
12707
12708
12709
12710
12711
12712
12713
12714
12715
12716
12717
12718
12719
12720
12721
12722
12723
12724
12725
12726
12727
12728
12729
12730
12731
12732
12733
12734
12735
12736
12737
12738
12739
12740
12741
12742
12743
12744
12745
12746
12747
12748
12749
12750
12751
12752
12753
12754
12755
12756
12757
12758
12759
12760
12761
12762
12763
12764
12765
12766
12767
12768
12769
12770
12771
12772
12773
12774
12775
12776
12777
12778
12779
12780
12781
12782
12783
12784
12785
12786
12787
12788
12789
12790
12791
12792
12793
12794
12795
12796
12797
12798
12799
12800
12801
12802
12803
12804
12805
12806
12807
12808
12809
12810
12811
12812
12813
12814
12815
12816
12817
12818
12819
12820
12821
12822
12823
12824
12825
12826
12827
12828
12829
12830
12831
12832
12833
12834
12835
12836
12837
12838
12839
12840
12841
12842
12843
12844
12845
12846
12847
12848
12849
12850
12851
12852
12853
12854
12855
12856
12857
12858
12859
12860
12861
12862
12863
12864
12865
12866
12867
12868
12869
12870
12871
12872
12873
12874
12875
12876
12877
12878
12879
12880
12881
12882
12883
12884
12885
12886
12887
12888
12889
12890
12891
12892
12893
12894
12895
12896
12897
12898
12899
12900
12901
12902
12903
12904
12905
12906
12907
12908
12909
12910
12911
12912
12913
12914
12915
12916
12917
12918
12919
12920
12921
12922
12923
12924
12925
12926
12927
12928
12929
12930
12931
12932
12933
12934
12935
12936
12937
12938
12939
12940
12941
12942
12943
12944
12945
12946
12947
12948
12949
12950
12951
12952
12953
12954
12955
12956
12957
12958
12959
12960
12961
12962
12963
12964
12965
12966
12967
12968
12969
12970
12971
12972
12973
12974
12975
12976
12977
12978
12979
12980
12981
12982
12983
12984
12985
12986
12987
12988
12989
12990
12991
12992
12993
12994
12995
12996
12997
12998
12999
13000
13001
13002
13003
13004
13005
13006
13007
13008
13009
13010
13011
13012
13013
13014
13015
13016
13017
13018
13019
13020
13021
13022
13023
13024
13025
13026
13027
13028
13029
13030
13031
13032
13033
13034
13035
13036
13037
13038
13039
13040
13041
13042
13043
13044
13045
13046
13047
13048
13049
13050
13051
13052
13053
13054
13055
13056
13057
13058
13059
13060
13061
13062
13063
13064
13065
13066
13067
13068
13069
13070
13071
13072
13073
13074
13075
13076
13077
13078
13079
13080
13081
13082
13083
13084
13085
13086
13087
13088
13089
13090
13091
13092
13093
13094
13095
13096
13097
13098
13099
13100
13101
13102
13103
13104
13105
13106
13107
13108
13109
13110
13111
13112
13113
13114
13115
13116
13117
13118
13119
13120
13121
13122
13123
13124
13125
13126
13127
13128
13129
13130
13131
13132
13133
13134
13135
13136
13137
13138
13139
13140
13141
13142
13143
13144
13145
13146
13147
13148
13149
13150
13151
13152
13153
13154
13155
13156
13157
13158
13159
13160
13161
13162
13163
13164
13165
13166
13167
13168
13169
13170
13171
13172
13173
13174
13175
13176
13177
13178
13179
13180
13181
13182
13183
13184
13185
13186
13187
13188
13189
13190
13191
13192
13193
13194
13195
13196
13197
13198
13199
13200
13201
13202
13203
13204
13205
13206
13207
13208
13209
13210
13211
13212
13213
13214
13215
13216
13217
13218
13219
13220
13221
13222
13223
13224
13225
13226
13227
13228
13229
13230
13231
13232
13233
13234
13235
13236
13237
13238
13239
13240
13241
13242
13243
13244
13245
13246
13247
13248
13249
13250
13251
13252
13253
13254
13255
13256
13257
13258
13259
13260
13261
13262
13263
13264
13265
13266
13267
13268
13269
13270
13271
13272
13273
13274
13275
13276
13277
13278
13279
13280
13281
13282
13283
13284
13285
13286
13287
13288
13289
13290
13291
13292
13293
13294
13295
13296
13297
13298
13299
13300
13301
13302
13303
13304
13305
13306
13307
13308
13309
13310
13311
13312
13313
13314
13315
13316
13317
13318
13319
13320
13321
13322
13323
13324
13325
13326
13327
13328
13329
13330
13331
13332
13333
13334
13335
13336
13337
13338
13339
13340
13341
13342
13343
13344
13345
13346
13347
13348
13349
13350
13351
13352
13353
13354
13355
13356
13357
13358
13359
13360
13361
13362
13363
13364
13365
13366
13367
13368
13369
13370
13371
13372
13373
13374
13375
13376
13377
13378
13379
13380
13381
13382
13383
13384
13385
13386
13387
13388
13389
13390
13391
13392
13393
13394
13395
13396
13397
13398
13399
13400
13401
13402
13403
13404
13405
13406
13407
13408
13409
13410
13411
13412
13413
13414
13415
13416
13417
13418
13419
13420
13421
13422
13423
13424
13425
13426
13427
13428
13429
13430
13431
13432
13433
13434
13435
13436
13437
13438
13439
13440
13441
13442
13443
13444
13445
13446
13447
13448
13449
13450
13451
13452
13453
13454
13455
13456
13457
13458
13459
13460
13461
13462
13463
13464
13465
13466
13467
13468
13469
13470
13471
13472
13473
13474
13475
13476
13477
13478
13479
13480
13481
13482
13483
13484
13485
13486
13487
13488
13489
13490
13491
13492
13493
13494
13495
13496
13497
13498
13499
13500
13501
13502
13503
13504
13505
13506
13507
13508
13509
13510
13511
13512
13513
13514
13515
13516
13517
13518
13519
13520
13521
13522
13523
13524
13525
13526
13527
13528
13529
13530
13531
13532
13533
13534
13535
13536
13537
13538
13539
13540
13541
13542
13543
13544
13545
13546
13547
13548
13549
13550
13551
13552
13553
13554
13555
13556
13557
13558
13559
13560
13561
13562
13563
13564
13565
13566
13567
13568
13569
13570
13571
13572
13573
13574
13575
13576
13577
13578
13579
13580
13581
13582
13583
13584
13585
13586
13587
13588
13589
13590
13591
13592
13593
13594
13595
13596
13597
13598
13599
13600
13601
13602
13603
13604
13605
13606
13607
13608
13609
13610
13611
13612
13613
13614
13615
13616
13617
13618
13619
13620
13621
13622
13623
13624
13625
13626
13627
13628
13629
13630
13631
13632
13633
13634
13635
13636
13637
13638
13639
13640
13641
13642
13643
13644
13645
13646
13647
13648
13649
13650
13651
13652
13653
13654
13655
13656
13657
13658
13659
13660
13661
13662
13663
13664
13665
13666
13667
13668
13669
13670
13671
13672
13673
13674
13675
13676
13677
13678
13679
13680
13681
13682
13683
13684
13685
13686
13687
13688
13689
13690
13691
13692
13693
13694
13695
13696
13697
13698
13699
13700
13701
13702
13703
13704
13705
13706
13707
13708
13709
13710
13711
13712
13713
13714
13715
13716
13717
13718
13719
13720
13721
13722
13723
13724
13725
13726
13727
13728
13729
13730
13731
13732
13733
13734
13735
13736
13737
13738
13739
13740
13741
13742
13743
13744
13745
13746
13747
13748
13749
13750
13751
13752
13753
13754
13755
13756
13757
13758
13759
13760
13761
13762
13763
13764
13765
13766
13767
13768
13769
13770
13771
13772
13773
13774
13775
13776
13777
13778
13779
13780
13781
13782
13783
13784
13785
13786
13787
13788
13789
13790
13791
13792
13793
13794
13795
13796
13797
13798
13799
13800
13801
13802
13803
13804
13805
13806
13807
13808
13809
13810
13811
13812
13813
13814
13815
13816
13817
13818
13819
13820
13821
13822
13823
13824
13825
13826
13827
13828
13829
13830
13831
13832
13833
13834
13835
13836
13837
13838
13839
13840
13841
13842
13843
13844
13845
13846
13847
13848
13849
13850
13851
13852
13853
13854
13855
13856
13857
13858
13859
13860
13861
13862
13863
13864
13865
13866
13867
13868
13869
13870
13871
13872
13873
13874
13875
13876
13877
13878
13879
13880
13881
13882
13883
13884
13885
13886
13887
13888
13889
13890
13891
13892
13893
13894
13895
13896
13897
13898
13899
13900
13901
13902
13903
13904
13905
13906
13907
13908
13909
13910
13911
13912
13913
13914
13915
13916
13917
13918
13919
13920
13921
13922
13923
13924
13925
13926
13927
13928
13929
13930
13931
13932
13933
13934
13935
13936
13937
13938
13939
13940
13941
13942
13943
13944
13945
13946
13947
13948
13949
13950
13951
13952
13953
13954
13955
13956
13957
13958
13959
13960
13961
13962
13963
13964
13965
13966
13967
13968
13969
13970
13971
13972
13973
13974
13975
13976
13977
13978
13979
13980
13981
13982
13983
13984
13985
13986
13987
13988
13989
13990
13991
13992
13993
13994
13995
13996
13997
13998
13999
14000
14001
14002
14003
14004
14005
14006
14007
14008
14009
14010
14011
14012
14013
14014
14015
14016
14017
14018
14019
14020
14021
14022
14023
14024
14025
14026
14027
14028
14029
14030
14031
14032
14033
14034
14035
14036
14037
14038
14039
14040
14041
14042
14043
14044
14045
14046
14047
14048
14049
14050
14051
14052
14053
14054
14055
14056
14057
14058
14059
14060
14061
14062
14063
14064
14065
14066
14067
14068
14069
14070
14071
14072
14073
14074
14075
14076
14077
14078
14079
14080
14081
14082
14083
14084
14085
14086
14087
14088
14089
14090
14091
14092
14093
14094
14095
14096
14097
14098
14099
14100
14101
14102
14103
14104
14105
14106
14107
14108
14109
14110
14111
14112
14113
14114
14115
14116
14117
14118
14119
14120
14121
14122
14123
14124
14125
14126
14127
14128
14129
14130
14131
14132
14133
14134
14135
14136
14137
14138
14139
14140
14141
14142
14143
14144
14145
14146
14147
14148
14149
14150
14151
14152
14153
14154
14155
14156
14157
14158
14159
14160
14161
14162
14163
14164
14165
14166
14167
14168
14169
14170
14171
14172
14173
14174
14175
14176
14177
14178
14179
14180
14181
14182
14183
14184
14185
14186
14187
14188
14189
14190
14191
14192
14193
14194
14195
14196
14197
14198
14199
14200
14201
14202
14203
14204
14205
14206
14207
14208
14209
14210
14211
14212
14213
14214
14215
14216
14217
14218
14219
14220
14221
14222
14223
14224
14225
14226
14227
14228
14229
14230
14231
14232
14233
14234
14235
14236
14237
14238
14239
14240
14241
14242
14243
14244
14245
14246
14247
14248
14249
14250
14251
14252
14253
14254
14255
14256
14257
14258
14259
14260
14261
14262
14263
14264
14265
14266
14267
14268
14269
14270
14271
14272
14273
14274
14275
14276
14277
14278
14279
14280
14281
14282
14283
14284
14285
14286
14287
14288
14289
14290
14291
14292
14293
14294
14295
14296
14297
14298
14299
14300
14301
14302
14303
14304
14305
14306
14307
14308
14309
14310
14311
14312
14313
14314
14315
14316
14317
14318
14319
14320
14321
14322
14323
14324
14325
14326
14327
14328
14329
14330
14331
14332
14333
14334
14335
14336
14337
14338
14339
14340
14341
14342
14343
14344
14345
14346
14347
14348
14349
14350
14351
14352
14353
14354
14355
14356
14357
14358
14359
14360
14361
14362
14363
14364
14365
14366
14367
14368
14369
14370
14371
14372
14373
14374
14375
14376
14377
14378
14379
14380
14381
14382
14383
14384
14385
14386
14387
14388
14389
14390
14391
14392
14393
14394
14395
14396
14397
14398
14399
14400
14401
14402
14403
14404
14405
14406
14407
14408
14409
14410
14411
14412
14413
14414
14415
14416
14417
14418
14419
14420
14421
14422
14423
14424
14425
14426
14427
14428
14429
14430
14431
14432
14433
14434
14435
14436
14437
14438
14439
14440
14441
14442
14443
14444
14445
14446
14447
14448
14449
14450
14451
14452
14453
14454
14455
14456
14457
14458
14459
14460
14461
14462
14463
14464
14465
14466
14467
14468
14469
14470
14471
14472
14473
14474
14475
14476
14477
14478
14479
14480
14481
14482
14483
14484
14485
14486
14487
14488
14489
14490
14491
14492
14493
14494
14495
14496
14497
14498
14499
14500
14501
14502
14503
14504
14505
14506
14507
14508
14509
14510
14511
14512
14513
14514
14515
14516
14517
14518
14519
14520
14521
14522
14523
14524
14525
14526
14527
14528
14529
14530
14531
14532
14533
14534
14535
14536
14537
14538
14539
14540
14541
14542
14543
14544
14545
14546
14547
14548
14549
14550
14551
14552
14553
14554
14555
14556
14557
14558
14559
14560
14561
14562
14563
14564
14565
14566
14567
14568
14569
14570
14571
14572
14573
14574
14575
14576
14577
14578
14579
14580
14581
14582
14583
14584
14585
14586
14587
14588
14589
14590
14591
14592
14593
14594
14595
14596
14597
14598
14599
14600
14601
14602
14603
14604
14605
14606
14607
14608
14609
14610
14611
14612
14613
14614
14615
14616
14617
14618
14619
14620
14621
14622
14623
14624
14625
14626
14627
14628
14629
14630
14631
14632
14633
14634
14635
14636
14637
14638
14639
14640
14641
14642
14643
14644
14645
14646
14647
14648
14649
14650
14651
14652
14653
14654
14655
14656
14657
14658
14659
14660
14661
14662
14663
14664
14665
14666
14667
14668
14669
14670
14671
14672
14673
14674
14675
14676
14677
14678
14679
14680
14681
14682
14683
14684
14685
14686
14687
14688
14689
14690
14691
14692
14693
14694
14695
14696
14697
14698
14699
14700
14701
14702
14703
14704
14705
14706
14707
14708
14709
14710
14711
14712
14713
14714
14715
14716
14717
14718
14719
14720
14721
14722
14723
14724
14725
14726
14727
14728
14729
14730
14731
14732
14733
14734
14735
14736
14737
14738
14739
14740
14741
14742
14743
14744
14745
14746
14747
14748
14749
14750
14751
14752
14753
14754
14755
14756
14757
14758
14759
14760
14761
14762
14763
14764
14765
14766
14767
14768
14769
14770
14771
14772
14773
14774
14775
14776
14777
14778
14779
14780
14781
14782
14783
14784
14785
14786
14787
14788
14789
14790
14791
14792
14793
14794
14795
14796
14797
14798
14799
14800
14801
14802
14803
14804
14805
14806
14807
14808
14809
14810
14811
14812
14813
14814
14815
14816
14817
14818
14819
14820
14821
14822
14823
14824
14825
14826
14827
14828
14829
14830
14831
14832
14833
14834
14835
14836
14837
14838
14839
14840
14841
14842
14843
14844
14845
14846
14847
14848
14849
14850
14851
14852
14853
14854
14855
14856
14857
14858
14859
14860
14861
14862
14863
14864
14865
14866
14867
14868
14869
14870
14871
14872
14873
14874
14875
14876
14877
14878
14879
14880
14881
14882
14883
14884
14885
14886
14887
14888
14889
14890
14891
14892
14893
14894
14895
14896
14897
14898
14899
14900
14901
14902
14903
14904
14905
14906
14907
14908
14909
14910
14911
14912
14913
14914
14915
14916
14917
14918
14919
14920
14921
14922
14923
14924
14925
14926
14927
14928
14929
14930
14931
14932
14933
14934
14935
14936
14937
14938
14939
14940
14941
14942
14943
14944
14945
14946
14947
14948
14949
14950
14951
14952
14953
14954
14955
14956
14957
14958
14959
14960
14961
14962
14963
14964
14965
14966
14967
14968
14969
14970
14971
14972
14973
14974
14975
14976
14977
14978
14979
14980
14981
14982
14983
14984
14985
14986
14987
14988
14989
14990
14991
14992
14993
14994
14995
14996
14997
14998
14999
15000
15001
15002
15003
15004
15005
15006
15007
15008
15009
15010
15011
15012
15013
15014
15015
15016
15017
15018
15019
15020
15021
15022
15023
15024
15025
15026
15027
15028
15029
15030
15031
15032
15033
15034
15035
15036
15037
15038
15039
15040
15041
15042
15043
15044
15045
15046
15047
15048
15049
15050
15051
15052
15053
15054
15055
15056
15057
15058
15059
15060
15061
15062
15063
15064
15065
15066
15067
15068
15069
15070
15071
15072
15073
15074
15075
15076
15077
15078
15079
15080
15081
15082
15083
15084
15085
15086
15087
15088
15089
15090
15091
15092
15093
15094
15095
15096
15097
15098
15099
15100
15101
15102
15103
15104
15105
15106
15107
15108
15109
15110
15111
15112
15113
15114
15115
15116
15117
15118
15119
15120
15121
15122
15123
15124
15125
15126
15127
15128
15129
15130
15131
15132
15133
15134
15135
15136
15137
15138
15139
15140
15141
15142
15143
15144
15145
15146
15147
15148
15149
15150
15151
15152
15153
15154
15155
15156
15157
15158
15159
15160
15161
15162
15163
15164
15165
15166
15167
15168
15169
15170
15171
15172
15173
15174
15175
15176
15177
15178
15179
15180
15181
15182
15183
15184
15185
15186
15187
15188
15189
15190
15191
15192
15193
15194
15195
15196
15197
15198
15199
15200
15201
15202
15203
15204
15205
15206
15207
15208
15209
15210
15211
15212
15213
15214
15215
15216
15217
15218
15219
15220
15221
15222
15223
15224
15225
15226
15227
15228
15229
15230
15231
15232
15233
15234
15235
15236
15237
15238
15239
15240
15241
15242
15243
15244
15245
15246
15247
15248
15249
15250
15251
15252
15253
15254
15255
15256
15257
15258
15259
15260
15261
15262
15263
15264
15265
15266
15267
15268
15269
15270
15271
15272
15273
15274
15275
15276
15277
15278
15279
15280
15281
15282
15283
15284
15285
15286
15287
15288
15289
15290
15291
15292
15293
15294
15295
15296
15297
15298
15299
15300
15301
15302
15303
15304
15305
15306
15307
15308
15309
15310
15311
15312
15313
15314
15315
15316
15317
15318
15319
15320
15321
15322
15323
15324
15325
15326
15327
15328
15329
15330
15331
15332
15333
15334
15335
15336
15337
15338
15339
15340
15341
15342
15343
15344
15345
15346
15347
15348
15349
15350
15351
15352
15353
15354
15355
15356
15357
15358
15359
15360
15361
15362
15363
15364
15365
15366
15367
15368
15369
15370
15371
15372
15373
15374
15375
15376
15377
15378
15379
15380
15381
15382
15383
15384
15385
15386
15387
15388
15389
15390
15391
15392
15393
15394
15395
15396
15397
15398
15399
15400
15401
15402
15403
15404
15405
15406
15407
15408
15409
15410
15411
15412
15413
15414
15415
15416
15417
15418
15419
15420
15421
15422
15423
15424
15425
15426
15427
15428
15429
15430
15431
15432
15433
15434
15435
15436
15437
15438
15439
15440
15441
15442
15443
15444
15445
15446
15447
15448
15449
15450
15451
15452
15453
15454
15455
15456
15457
15458
15459
15460
15461
15462
15463
15464
15465
15466
15467
15468
15469
15470
15471
15472
15473
15474
15475
15476
15477
15478
15479
15480
15481
15482
15483
15484
15485
15486
15487
15488
15489
15490
15491
15492
15493
15494
15495
15496
15497
15498
15499
15500
15501
15502
15503
15504
15505
15506
15507
15508
15509
15510
15511
15512
15513
15514
15515
15516
15517
15518
15519
15520
15521
15522
15523
15524
15525
15526
15527
15528
15529
15530
15531
15532
15533
15534
15535
15536
15537
15538
15539
15540
15541
15542
15543
15544
15545
15546
15547
15548
15549
15550
15551
15552
15553
15554
15555
15556
15557
15558
15559
15560
15561
15562
15563
15564
15565
15566
15567
15568
15569
15570
15571
15572
15573
15574
15575
15576
15577
15578
15579
15580
15581
15582
15583
15584
15585
15586
15587
15588
15589
15590
15591
15592
15593
15594
15595
15596
15597
15598
15599
15600
15601
15602
15603
15604
15605
15606
15607
15608
15609
15610
15611
15612
15613
15614
15615
15616
15617
15618
15619
15620
15621
15622
15623
15624
15625
15626
15627
15628
15629
15630
15631
15632
15633
15634
15635
15636
15637
15638
15639
15640
15641
15642
15643
15644
15645
15646
15647
15648
15649
15650
15651
15652
15653
15654
15655
15656
15657
15658
15659
15660
15661
15662
15663
15664
15665
15666
15667
15668
15669
15670
15671
15672
15673
15674
15675
15676
15677
15678
15679
15680
15681
15682
15683
15684
15685
15686
15687
15688
15689
15690
15691
15692
15693
15694
15695
15696
15697
15698
15699
15700
15701
15702
15703
15704
15705
15706
15707
15708
15709
15710
15711
15712
15713
15714
15715
15716
15717
15718
15719
15720
15721
15722
15723
15724
15725
15726
15727
15728
15729
15730
15731
15732
15733
15734
15735
15736
15737
15738
15739
15740
15741
15742
15743
15744
15745
15746
15747
15748
15749
15750
15751
15752
15753
15754
15755
15756
15757
15758
15759
15760
15761
15762
15763
15764
15765
15766
15767
15768
15769
15770
15771
15772
15773
15774
15775
15776
15777
15778
15779
15780
15781
15782
15783
15784
15785
15786
15787
15788
15789
15790
15791
15792
15793
15794
15795
15796
15797
15798
15799
15800
15801
15802
15803
15804
15805
15806
15807
15808
15809
15810
15811
15812
15813
15814
15815
15816
15817
15818
15819
15820
15821
15822
15823
15824
15825
15826
15827
15828
15829
15830
15831
15832
15833
15834
15835
15836
15837
15838
15839
15840
15841
15842
15843
15844
15845
15846
15847
15848
15849
15850
15851
15852
15853
15854
15855
15856
15857
15858
15859
15860
15861
15862
15863
15864
15865
15866
15867
15868
15869
15870
15871
15872
15873
15874
15875
15876
15877
15878
15879
15880
15881
15882
15883
15884
15885
15886
15887
15888
15889
15890
15891
15892
15893
15894
15895
15896
15897
15898
15899
15900
15901
15902
15903
15904
15905
15906
15907
15908
15909
15910
15911
15912
15913
15914
15915
15916
15917
15918
15919
15920
15921
15922
15923
15924
15925
15926
15927
15928
15929
15930
15931
15932
15933
15934
15935
15936
15937
15938
15939
15940
15941
15942
15943
15944
15945
15946
15947
15948
15949
15950
15951
15952
15953
15954
15955
15956
15957
15958
15959
15960
15961
15962
15963
15964
15965
15966
15967
15968
15969
15970
15971
15972
15973
15974
15975
15976
15977
15978
15979
15980
15981
15982
15983
15984
15985
15986
15987
15988
15989
15990
15991
15992
15993
15994
15995
15996
15997
15998
15999
16000
16001
16002
16003
16004
16005
16006
16007
16008
16009
16010
16011
16012
16013
16014
16015
16016
16017
16018
16019
16020
16021
16022
16023
16024
16025
16026
16027
16028
16029
16030
16031
16032
16033
16034
16035
16036
16037
16038
16039
16040
16041
16042
16043
16044
16045
16046
16047
16048
16049
16050
16051
16052
16053
16054
16055
16056
16057
16058
16059
16060
16061
16062
16063
16064
16065
16066
16067
16068
16069
16070
16071
16072
16073
16074
16075
16076
16077
16078
16079
16080
16081
16082
16083
16084
16085
16086
16087
16088
16089
16090
16091
16092
16093
16094
16095
16096
16097
16098
16099
16100
16101
16102
16103
16104
16105
16106
16107
16108
16109
16110
16111
16112
16113
16114
16115
16116
16117
16118
16119
16120
16121
16122
16123
16124
16125
16126
16127
16128
16129
16130
16131
16132
16133
16134
16135
16136
16137
16138
16139
16140
16141
16142
16143
16144
16145
16146
16147
16148
16149
16150
16151
16152
16153
16154
16155
16156
16157
16158
16159
16160
16161
16162
16163
16164
16165
16166
16167
16168
16169
16170
16171
16172
16173
16174
16175
16176
16177
16178
16179
16180
16181
16182
16183
16184
16185
16186
16187
16188
16189
16190
16191
16192
16193
16194
16195
16196
16197
16198
16199
16200
16201
16202
16203
16204
16205
16206
16207
16208
16209
16210
16211
16212
16213
16214
16215
16216
16217
16218
16219
16220
16221
16222
16223
16224
16225
16226
16227
16228
16229
16230
16231
16232
16233
16234
16235
16236
16237
16238
16239
16240
16241
16242
16243
16244
16245
16246
16247
16248
16249
16250
16251
16252
16253
16254
16255
16256
16257
16258
16259
16260
16261
16262
16263
16264
16265
16266
16267
16268
16269
16270
16271
16272
16273
16274
16275
16276
16277
16278
16279
16280
16281
16282
16283
16284
16285
16286
16287
16288
16289
16290
16291
16292
16293
16294
16295
16296
16297
16298
16299
16300
16301
16302
16303
16304
16305
16306
16307
16308
16309
16310
16311
16312
16313
16314
16315
16316
16317
16318
16319
16320
16321
16322
16323
16324
16325
16326
16327
16328
16329
16330
16331
16332
16333
16334
16335
16336
16337
16338
16339
16340
16341
16342
16343
16344
16345
16346
16347
16348
16349
16350
16351
16352
16353
16354
16355
16356
16357
16358
16359
16360
16361
16362
16363
16364
16365
16366
16367
16368
16369
16370
16371
16372
16373
16374
16375
16376
16377
16378
16379
16380
16381
16382
16383
16384
16385
16386
16387
16388
16389
16390
16391
16392
16393
16394
16395
16396
16397
16398
16399
16400
16401
16402
16403
16404
16405
16406
16407
16408
16409
16410
16411
16412
16413
16414
16415
16416
16417
16418
16419
16420
16421
16422
16423
16424
16425
16426
16427
16428
16429
16430
16431
16432
16433
16434
16435
16436
16437
16438
16439
16440
16441
16442
16443
16444
16445
16446
16447
16448
16449
16450
16451
16452
16453
16454
16455
16456
16457
16458
16459
16460
16461
16462
16463
16464
16465
16466
16467
16468
16469
16470
16471
16472
16473
16474
16475
16476
16477
16478
16479
16480
16481
16482
16483
16484
16485
16486
16487
16488
16489
16490
16491
16492
16493
16494
16495
16496
16497
16498
16499
16500
16501
16502
16503
16504
16505
16506
16507
16508
16509
16510
16511
16512
16513
16514
16515
16516
16517
16518
16519
16520
16521
16522
16523
16524
16525
16526
16527
16528
16529
16530
16531
16532
16533
16534
16535
16536
16537
16538
16539
16540
16541
16542
16543
16544
16545
16546
16547
16548
16549
16550
16551
16552
16553
16554
16555
16556
16557
16558
16559
16560
16561
16562
16563
16564
16565
16566
16567
16568
16569
16570
16571
16572
16573
16574
16575
16576
16577
16578
16579
16580
16581
16582
16583
16584
16585
16586
16587
16588
16589
16590
16591
16592
16593
16594
16595
16596
16597
16598
16599
16600
16601
16602
16603
16604
16605
16606
16607
16608
16609
16610
16611
16612
16613
16614
16615
16616
16617
16618
16619
16620
16621
16622
16623
16624
16625
16626
16627
16628
16629
16630
16631
16632
16633
16634
16635
16636
16637
16638
16639
16640
16641
16642
16643
16644
16645
16646
16647
16648
16649
16650
16651
16652
16653
16654
16655
16656
16657
16658
16659
16660
16661
16662
16663
16664
16665
16666
16667
16668
16669
16670
16671
16672
16673
16674
16675
16676
16677
16678
16679
16680
16681
16682
16683
16684
16685
16686
16687
16688
16689
16690
16691
16692
16693
16694
16695
16696
16697
16698
16699
16700
16701
16702
16703
16704
16705
16706
16707
16708
16709
16710
16711
16712
16713
16714
16715
16716
16717
16718
16719
16720
16721
16722
16723
16724
16725
16726
16727
16728
16729
16730
16731
16732
16733
16734
16735
16736
16737
16738
16739
16740
16741
16742
16743
16744
16745
16746
16747
16748
16749
16750
16751
16752
16753
16754
16755
16756
16757
16758
16759
16760
16761
16762
16763
16764
16765
16766
16767
16768
16769
16770
16771
16772
16773
16774
16775
16776
16777
16778
16779
16780
16781
16782
16783
16784
16785
16786
16787
16788
16789
16790
16791
16792
16793
16794
16795
16796
16797
16798
16799
16800
16801
16802
16803
16804
16805
16806
16807
16808
16809
16810
16811
16812
16813
16814
16815
16816
16817
16818
16819
16820
16821
16822
16823
16824
16825
16826
16827
16828
16829
16830
16831
16832
16833
16834
16835
16836
16837
16838
16839
16840
16841
16842
16843
16844
16845
16846
16847
16848
16849
16850
16851
16852
16853
16854
16855
16856
16857
16858
16859
16860
16861
16862
16863
16864
16865
16866
16867
16868
16869
16870
16871
16872
16873
16874
16875
16876
16877
16878
16879
16880
16881
16882
16883
16884
16885
16886
16887
16888
16889
16890
16891
16892
16893
16894
16895
16896
16897
16898
16899
16900
16901
16902
16903
16904
16905
16906
16907
16908
16909
16910
16911
16912
16913
16914
16915
16916
16917
16918
16919
16920
16921
16922
16923
16924
16925
16926
16927
16928
16929
16930
16931
16932
16933
16934
16935
16936
16937
16938
16939
16940
16941
16942
16943
16944
16945
16946
16947
16948
16949
16950
16951
16952
16953
16954
16955
16956
16957
16958
16959
16960
16961
16962
16963
16964
16965
16966
16967
16968
16969
16970
16971
16972
16973
16974
16975
16976
16977
16978
16979
16980
16981
16982
16983
16984
16985
16986
16987
16988
16989
16990
16991
16992
16993
16994
16995
16996
16997
16998
16999
17000
17001
17002
17003
17004
17005
17006
17007
17008
17009
17010
17011
17012
17013
17014
17015
17016
17017
17018
17019
17020
17021
17022
17023
17024
17025
17026
17027
17028
17029
17030
17031
17032
17033
17034
17035
17036
17037
17038
17039
17040
17041
17042
17043
17044
17045
17046
17047
17048
17049
17050
17051
17052
17053
17054
17055
17056
17057
17058
17059
17060
17061
17062
17063
17064
17065
17066
17067
17068
17069
17070
17071
17072
17073
17074
17075
17076
17077
17078
17079
17080
17081
17082
17083
17084
17085
17086
17087
17088
17089
17090
17091
17092
17093
17094
17095
17096
17097
17098
17099
17100
17101
17102
17103
17104
17105
17106
17107
17108
17109
17110
17111
17112
17113
17114
17115
17116
17117
17118
17119
17120
17121
17122
17123
17124
17125
17126
17127
17128
17129
17130
17131
17132
17133
17134
17135
17136
17137
17138
17139
17140
17141
17142
17143
17144
17145
17146
17147
17148
17149
17150
17151
17152
17153
17154
17155
17156
17157
17158
17159
17160
17161
17162
17163
17164
17165
17166
17167
17168
17169
17170
17171
17172
17173
17174
17175
17176
17177
17178
17179
17180
17181
17182
17183
17184
17185
17186
17187
17188
17189
17190
17191
17192
17193
17194
17195
17196
17197
17198
17199
17200
17201
17202
17203
17204
17205
17206
17207
17208
17209
17210
17211
17212
17213
17214
17215
17216
17217
17218
17219
17220
17221
17222
17223
17224
17225
17226
17227
17228
17229
17230
17231
17232
17233
17234
17235
17236
17237
17238
17239
17240
17241
17242
17243
17244
17245
17246
17247
17248
17249
17250
17251
17252
17253
17254
17255
17256
17257
17258
17259
17260
17261
17262
17263
17264
17265
17266
17267
17268
17269
17270
17271
17272
17273
17274
17275
17276
17277
17278
17279
17280
17281
17282
17283
17284
17285
17286
17287
17288
17289
17290
17291
17292
17293
17294
17295
17296
17297
17298
17299
17300
17301
17302
17303
17304
17305
17306
17307
17308
17309
17310
17311
17312
17313
17314
17315
17316
17317
17318
17319
17320
17321
17322
17323
17324
17325
17326
17327
17328
17329
17330
17331
17332
17333
17334
17335
17336
17337
17338
17339
17340
17341
17342
17343
17344
17345
17346
17347
17348
17349
17350
17351
17352
17353
17354
17355
17356
17357
17358
17359
17360
17361
17362
17363
17364
17365
17366
17367
17368
17369
17370
17371
17372
17373
17374
17375
17376
17377
17378
17379
17380
17381
17382
17383
17384
17385
17386
17387
17388
17389
17390
17391
17392
17393
17394
17395
17396
17397
17398
17399
17400
17401
17402
17403
17404
17405
17406
17407
17408
17409
17410
17411
17412
17413
17414
17415
17416
17417
17418
17419
17420
17421
17422
17423
17424
17425
17426
17427
17428
17429
17430
17431
17432
17433
17434
17435
17436
17437
17438
17439
17440
17441
17442
17443
17444
17445
17446
17447
17448
17449
17450
17451
17452
17453
17454
17455
17456
17457
17458
17459
17460
17461
17462
17463
17464
17465
17466
17467
17468
17469
17470
17471
17472
17473
17474
17475
17476
17477
17478
17479
17480
17481
17482
17483
17484
17485
17486
17487
17488
17489
17490
17491
17492
17493
17494
17495
17496
17497
17498
17499
17500
17501
17502
17503
17504
17505
17506
17507
17508
17509
17510
17511
17512
17513
17514
17515
17516
17517
17518
17519
17520
17521
17522
17523
17524
17525
17526
17527
17528
17529
17530
17531
17532
17533
17534
17535
17536
17537
17538
17539
17540
17541
17542
17543
17544
17545
17546
17547
17548
17549
17550
17551
17552
17553
17554
17555
17556
17557
17558
17559
17560
17561
17562
17563
17564
17565
17566
17567
17568
17569
17570
17571
17572
17573
17574
17575
17576
17577
17578
17579
17580
17581
17582
17583
17584
17585
17586
17587
17588
17589
17590
17591
17592
17593
17594
17595
17596
17597
17598
17599
17600
17601
17602
17603
17604
17605
17606
17607
17608
17609
17610
17611
17612
17613
17614
17615
17616
17617
17618
17619
17620
17621
17622
17623
17624
17625
17626
17627
17628
17629
17630
17631
17632
17633
17634
17635
17636
17637
17638
17639
17640
17641
17642
17643
17644
17645
17646
17647
17648
17649
17650
17651
17652
17653
17654
17655
17656
17657
17658
17659
17660
17661
17662
17663
17664
17665
17666
17667
17668
17669
17670
17671
17672
17673
17674
17675
17676
17677
17678
17679
17680
17681
17682
17683
17684
17685
17686
17687
17688
17689
17690
17691
17692
17693
17694
17695
17696
17697
17698
17699
17700
17701
17702
17703
17704
17705
17706
17707
17708
17709
17710
17711
17712
17713
17714
17715
17716
17717
17718
17719
17720
17721
17722
17723
17724
17725
17726
17727
17728
17729
17730
17731
17732
17733
17734
17735
17736
17737
17738
17739
17740
17741
17742
17743
17744
17745
17746
17747
17748
17749
17750
17751
17752
17753
17754
17755
17756
17757
17758
17759
17760
17761
17762
17763
17764
17765
17766
17767
17768
17769
17770
17771
17772
17773
17774
17775
17776
17777
17778
17779
17780
17781
17782
17783
17784
17785
17786
17787
17788
17789
17790
17791
17792
17793
17794
17795
17796
17797
17798
17799
17800
17801
17802
17803
17804
17805
17806
17807
17808
17809
17810
17811
17812
17813
17814
17815
17816
17817
17818
17819
17820
17821
17822
17823
17824
17825
17826
17827
17828
17829
17830
17831
17832
17833
17834
17835
17836
17837
17838
17839
17840
17841
17842
17843
17844
17845
17846
17847
17848
17849
17850
17851
17852
17853
17854
17855
17856
17857
17858
17859
17860
17861
17862
17863
17864
17865
17866
17867
17868
17869
17870
17871
17872
17873
17874
17875
17876
17877
17878
17879
17880
17881
17882
17883
17884
17885
17886
17887
17888
17889
17890
17891
17892
17893
17894
17895
17896
17897
17898
17899
17900
17901
17902
17903
17904
17905
17906
17907
17908
17909
17910
17911
17912
17913
17914
17915
17916
17917
17918
17919
17920
17921
17922
17923
17924
17925
17926
17927
17928
17929
17930
17931
17932
17933
17934
17935
17936
17937
17938
17939
17940
17941
17942
17943
17944
17945
17946
17947
17948
17949
17950
17951
17952
17953
17954
17955
17956
17957
17958
17959
17960
17961
17962
17963
17964
17965
17966
17967
17968
17969
17970
17971
17972
17973
17974
17975
17976
17977
17978
17979
17980
17981
17982
17983
17984
17985
17986
17987
17988
17989
17990
17991
17992
17993
17994
17995
17996
17997
17998
17999
18000
18001
18002
18003
18004
18005
18006
18007
18008
18009
18010
18011
18012
18013
18014
18015
18016
18017
18018
18019
18020
18021
18022
18023
18024
18025
18026
18027
18028
18029
18030
18031
18032
18033
18034
18035
18036
18037
18038
18039
18040
18041
18042
18043
18044
18045
18046
18047
18048
18049
18050
18051
18052
18053
18054
18055
18056
18057
18058
18059
18060
18061
18062
18063
18064
18065
18066
18067
18068
18069
18070
18071
18072
18073
18074
18075
18076
18077
18078
18079
18080
18081
18082
18083
18084
18085
18086
18087
18088
18089
18090
18091
18092
18093
18094
18095
18096
18097
18098
18099
18100
18101
18102
18103
18104
18105
18106
18107
18108
18109
18110
18111
18112
18113
18114
18115
18116
18117
18118
18119
18120
18121
18122
18123
18124
18125
18126
18127
18128
18129
18130
18131
18132
18133
18134
18135
18136
18137
18138
18139
18140
18141
18142
18143
18144
18145
18146
18147
18148
18149
18150
18151
18152
18153
18154
18155
18156
18157
18158
18159
18160
18161
18162
18163
18164
18165
18166
18167
18168
18169
18170
18171
18172
18173
18174
18175
18176
18177
18178
18179
18180
18181
18182
18183
18184
18185
18186
18187
18188
18189
18190
18191
18192
18193
18194
18195
18196
18197
18198
18199
18200
18201
18202
18203
18204
18205
18206
18207
18208
18209
18210
18211
18212
18213
18214
18215
18216
18217
18218
18219
18220
18221
18222
18223
18224
18225
18226
18227
18228
18229
18230
18231
18232
18233
18234
18235
18236
18237
18238
18239
18240
18241
18242
18243
18244
18245
18246
18247
18248
18249
18250
18251
18252
18253
18254
18255
18256
18257
18258
18259
18260
18261
18262
18263
18264
18265
18266
18267
18268
18269
18270
18271
18272
18273
18274
18275
18276
18277
18278
18279
18280
18281
18282
18283
18284
18285
18286
18287
18288
18289
18290
18291
18292
18293
18294
18295
18296
18297
18298
18299
18300
18301
18302
18303
18304
18305
18306
18307
18308
18309
18310
18311
18312
18313
18314
18315
18316
18317
18318
18319
18320
18321
18322
18323
18324
18325
18326
18327
18328
18329
18330
18331
18332
18333
18334
18335
18336
18337
18338
18339
18340
18341
18342
18343
18344
18345
18346
18347
18348
18349
18350
18351
18352
18353
18354
18355
18356
18357
18358
18359
18360
18361
18362
18363
18364
18365
18366
18367
18368
18369
18370
18371
18372
18373
18374
18375
18376
18377
18378
18379
18380
18381
18382
18383
18384
18385
18386
18387
18388
18389
18390
18391
18392
18393
18394
18395
18396
18397
18398
18399
18400
18401
18402
18403
18404
18405
18406
18407
18408
18409
18410
18411
18412
18413
18414
18415
18416
18417
18418
18419
18420
18421
18422
18423
18424
18425
18426
18427
18428
18429
18430
18431
18432
18433
18434
18435
18436
18437
18438
18439
18440
18441
18442
18443
18444
18445
18446
18447
18448
18449
18450
18451
18452
18453
18454
18455
18456
18457
18458
18459
18460
18461
18462
18463
18464
18465
18466
18467
18468
18469
18470
18471
18472
18473
18474
18475
18476
18477
18478
18479
18480
18481
18482
18483
18484
18485
18486
18487
18488
18489
18490
18491
18492
18493
18494
18495
18496
18497
18498
18499
18500
18501
18502
18503
18504
18505
18506
18507
18508
18509
18510
18511
18512
18513
18514
18515
18516
18517
18518
18519
18520
18521
18522
18523
18524
18525
18526
18527
18528
18529
18530
18531
18532
18533
18534
18535
18536
18537
18538
18539
18540
18541
18542
18543
18544
18545
18546
18547
18548
18549
18550
18551
18552
18553
18554
18555
18556
18557
18558
18559
18560
18561
18562
18563
18564
18565
18566
18567
18568
18569
18570
18571
18572
18573
18574
18575
18576
18577
18578
18579
18580
18581
18582
18583
18584
18585
18586
18587
18588
18589
18590
18591
18592
18593
18594
18595
18596
18597
18598
18599
18600
18601
18602
18603
18604
18605
18606
18607
18608
18609
18610
18611
18612
18613
18614
18615
18616
18617
18618
18619
18620
18621
18622
18623
18624
18625
18626
18627
18628
18629
18630
18631
18632
18633
18634
18635
18636
18637
18638
18639
18640
18641
18642
18643
18644
18645
18646
18647
18648
18649
18650
18651
18652
18653
18654
18655
18656
18657
18658
18659
18660
18661
18662
18663
18664
18665
18666
18667
18668
18669
18670
18671
18672
18673
18674
18675
18676
18677
18678
18679
18680
18681
18682
18683
18684
18685
18686
18687
18688
18689
18690
18691
18692
18693
18694
18695
18696
18697
18698
18699
18700
18701
18702
18703
18704
18705
18706
18707
18708
18709
18710
18711
18712
18713
18714
18715
18716
18717
18718
18719
18720
18721
18722
18723
18724
18725
18726
18727
18728
18729
18730
18731
18732
18733
18734
18735
18736
18737
18738
18739
18740
18741
18742
18743
18744
18745
18746
18747
18748
18749
18750
18751
18752
18753
18754
18755
18756
18757
18758
18759
18760
18761
18762
18763
18764
18765
18766
18767
18768
18769
18770
18771
18772
18773
18774
18775
18776
18777
18778
18779
18780
18781
18782
18783
18784
18785
18786
18787
18788
18789
18790
18791
18792
18793
18794
18795
18796
18797
18798
18799
18800
18801
18802
18803
18804
18805
18806
18807
18808
18809
18810
18811
18812
18813
18814
18815
18816
18817
18818
18819
18820
18821
18822
18823
18824
18825
18826
18827
18828
18829
18830
18831
18832
18833
18834
18835
18836
18837
18838
18839
18840
18841
18842
18843
18844
18845
18846
18847
18848
18849
18850
18851
18852
18853
18854
18855
18856
18857
18858
18859
18860
18861
18862
18863
18864
18865
18866
18867
18868
18869
18870
18871
18872
18873
18874
18875
18876
18877
18878
18879
18880
18881
18882
18883
18884
18885
18886
18887
18888
18889
18890
18891
18892
18893
18894
18895
18896
18897
18898
18899
18900
18901
18902
18903
18904
18905
18906
18907
18908
18909
18910
18911
18912
18913
18914
18915
18916
18917
18918
18919
18920
18921
18922
18923
18924
18925
18926
18927
18928
18929
18930
18931
18932
18933
18934
18935
18936
18937
18938
18939
18940
18941
18942
18943
18944
18945
18946
18947
18948
18949
18950
18951
18952
18953
18954
18955
18956
18957
18958
18959
18960
18961
18962
18963
18964
18965
18966
18967
18968
18969
18970
18971
18972
18973
18974
18975
18976
18977
18978
18979
18980
18981
18982
18983
18984
18985
18986
18987
18988
18989
18990
18991
18992
18993
18994
18995
18996
18997
18998
18999
19000
19001
19002
19003
19004
19005
19006
19007
19008
19009
19010
19011
19012
19013
19014
19015
19016
19017
19018
19019
19020
19021
19022
19023
19024
19025
19026
19027
19028
19029
19030
19031
19032
19033
19034
19035
19036
19037
19038
19039
19040
19041
19042
19043
19044
19045
19046
19047
19048
19049
19050
19051
19052
19053
19054
19055
19056
19057
19058
19059
19060
19061
19062
19063
19064
19065
19066
19067
19068
19069
19070
19071
19072
19073
19074
19075
19076
19077
19078
19079
19080
19081
19082
19083
19084
19085
19086
19087
19088
19089
19090
19091
19092
19093
19094
19095
19096
19097
19098
19099
19100
19101
19102
19103
19104
19105
19106
19107
19108
19109
19110
19111
19112
19113
19114
19115
19116
19117
19118
19119
19120
19121
19122
19123
19124
19125
19126
19127
19128
19129
19130
19131
19132
19133
19134
19135
19136
19137
19138
19139
19140
19141
19142
19143
19144
19145
19146
19147
19148
19149
19150
19151
19152
19153
19154
19155
19156
19157
19158
19159
19160
19161
19162
19163
19164
19165
19166
19167
19168
19169
19170
19171
19172
19173
19174
19175
19176
19177
19178
19179
19180
19181
19182
19183
19184
19185
19186
19187
19188
19189
19190
19191
19192
19193
19194
19195
19196
19197
19198
19199
19200
19201
19202
19203
19204
19205
19206
19207
19208
19209
19210
19211
19212
19213
19214
19215
19216
19217
19218
19219
19220
19221
19222
19223
19224
19225
19226
19227
19228
19229
19230
19231
19232
19233
19234
19235
19236
19237
19238
19239
19240
19241
19242
19243
19244
19245
19246
19247
19248
19249
19250
19251
19252
19253
19254
19255
19256
19257
19258
19259
19260
19261
19262
19263
19264
19265
19266
19267
19268
19269
19270
19271
19272
19273
19274
19275
19276
19277
19278
19279
19280
19281
19282
19283
19284
19285
19286
19287
19288
19289
19290
19291
19292
19293
19294
19295
19296
19297
19298
19299
19300
19301
19302
19303
19304
19305
19306
19307
19308
19309
19310
19311
19312
19313
19314
19315
19316
19317
19318
19319
19320
19321
19322
19323
19324
19325
19326
19327
19328
19329
19330
19331
19332
19333
19334
19335
19336
19337
19338
19339
19340
19341
19342
19343
19344
19345
19346
19347
19348
19349
19350
19351
19352
19353
19354
19355
19356
19357
19358
19359
19360
19361
19362
19363
19364
19365
19366
19367
19368
19369
19370
19371
19372
19373
19374
19375
19376
19377
19378
19379
19380
19381
19382
19383
19384
19385
19386
19387
19388
19389
19390
19391
19392
19393
19394
19395
19396
19397
19398
19399
19400
19401
19402
19403
19404
19405
19406
19407
19408
19409
19410
19411
19412
19413
19414
19415
19416
19417
19418
19419
19420
19421
19422
19423
19424
19425
19426
19427
19428
19429
19430
19431
19432
19433
19434
19435
19436
19437
19438
19439
19440
19441
19442
19443
19444
19445
19446
19447
19448
19449
19450
19451
19452
19453
19454
19455
19456
19457
19458
19459
19460
19461
19462
19463
19464
19465
19466
19467
19468
19469
19470
19471
19472
19473
19474
19475
19476
19477
19478
19479
19480
19481
19482
19483
19484
19485
19486
19487
19488
19489
19490
19491
19492
19493
19494
19495
19496
19497
19498
19499
19500
19501
19502
19503
19504
19505
19506
19507
19508
19509
19510
19511
19512
19513
19514
19515
19516
19517
19518
19519
19520
19521
19522
19523
19524
19525
19526
19527
19528
19529
19530
19531
19532
19533
19534
19535
19536
19537
19538
19539
19540
19541
19542
19543
19544
19545
19546
19547
19548
19549
19550
19551
19552
19553
19554
19555
19556
19557
19558
19559
19560
19561
19562
19563
19564
19565
19566
19567
19568
19569
19570
19571
19572
19573
19574
19575
19576
19577
19578
19579
19580
19581
19582
19583
19584
19585
19586
19587
19588
19589
19590
19591
19592
19593
19594
19595
19596
19597
19598
19599
19600
19601
19602
19603
19604
19605
19606
19607
19608
19609
19610
19611
19612
19613
19614
19615
19616
19617
19618
19619
19620
19621
19622
19623
19624
19625
19626
19627
19628
19629
19630
19631
19632
19633
19634
19635
19636
19637
19638
19639
19640
19641
19642
19643
19644
19645
19646
19647
19648
19649
19650
19651
19652
19653
19654
19655
19656
19657
19658
19659
19660
19661
19662
19663
19664
19665
19666
19667
19668
19669
19670
19671
19672
19673
19674
19675
19676
19677
19678
19679
19680
19681
19682
19683
19684
19685
19686
19687
19688
19689
19690
19691
19692
19693
19694
19695
19696
19697
19698
19699
19700
19701
19702
19703
19704
19705
19706
19707
19708
19709
19710
19711
19712
19713
19714
19715
19716
19717
19718
19719
19720
19721
19722
19723
19724
19725
19726
19727
19728
19729
19730
19731
19732
19733
19734
19735
19736
19737
19738
19739
19740
19741
19742
19743
19744
19745
19746
19747
19748
19749
19750
19751
19752
19753
19754
19755
19756
19757
19758
19759
19760
19761
19762
19763
19764
19765
19766
19767
19768
19769
19770
19771
19772
19773
19774
19775
19776
19777
19778
19779
19780
19781
19782
19783
19784
19785
19786
19787
19788
19789
19790
19791
19792
19793
19794
19795
19796
19797
19798
19799
19800
19801
19802
19803
19804
19805
19806
19807
19808
19809
19810
19811
19812
19813
19814
19815
19816
19817
19818
19819
19820
19821
19822
19823
19824
19825
19826
19827
19828
19829
19830
19831
19832
19833
19834
19835
19836
19837
19838
19839
19840
19841
19842
19843
19844
19845
19846
19847
19848
19849
19850
19851
19852
19853
19854
19855
19856
19857
19858
19859
19860
19861
19862
19863
19864
19865
19866
19867
19868
19869
19870
19871
19872
19873
19874
19875
19876
19877
19878
19879
19880
19881
19882
19883
19884
19885
19886
19887
19888
19889
19890
19891
19892
19893
19894
19895
19896
19897
19898
19899
19900
19901
19902
19903
19904
19905
19906
19907
19908
19909
19910
19911
19912
19913
19914
19915
19916
19917
19918
19919
19920
19921
19922
19923
19924
19925
19926
19927
19928
19929
19930
19931
19932
19933
19934
19935
19936
19937
19938
19939
19940
19941
19942
19943
19944
19945
19946
19947
19948
19949
19950
19951
19952
19953
19954
19955
19956
19957
19958
19959
19960
19961
19962
19963
19964
19965
19966
19967
19968
19969
19970
19971
19972
19973
19974
19975
19976
19977
19978
19979
19980
19981
19982
19983
19984
19985
19986
19987
19988
19989
19990
19991
19992
19993
19994
19995
19996
19997
19998
19999
20000
20001
20002
20003
20004
20005
20006
20007
20008
20009
20010
20011
20012
20013
20014
20015
20016
20017
20018
20019
20020
20021
20022
20023
20024
20025
20026
20027
20028
20029
20030
20031
20032
20033
20034
20035
20036
20037
20038
20039
20040
20041
20042
20043
20044
20045
20046
20047
20048
20049
20050
20051
20052
20053
20054
20055
20056
20057
20058
20059
20060
20061
20062
20063
20064
20065
20066
20067
20068
20069
20070
20071
20072
20073
20074
20075
20076
20077
20078
20079
20080
20081
20082
20083
20084
20085
20086
20087
20088
20089
20090
20091
20092
20093
20094
20095
20096
20097
20098
20099
20100
20101
20102
20103
20104
20105
20106
20107
20108
20109
20110
20111
20112
20113
20114
20115
20116
20117
20118
20119
20120
20121
20122
20123
20124
20125
20126
20127
20128
20129
20130
20131
20132
20133
20134
20135
20136
20137
20138
20139
20140
20141
20142
20143
20144
20145
20146
20147
20148
20149
20150
20151
20152
20153
20154
20155
20156
20157
20158
20159
20160
20161
20162
20163
20164
20165
20166
20167
20168
20169
20170
20171
20172
20173
20174
20175
20176
20177
20178
20179
20180
20181
20182
20183
20184
20185
20186
20187
20188
20189
20190
20191
20192
20193
20194
20195
20196
20197
20198
20199
20200
20201
20202
20203
20204
20205
20206
20207
20208
20209
20210
20211
20212
20213
20214
20215
20216
20217
20218
20219
20220
20221
20222
20223
20224
20225
20226
20227
20228
20229
20230
20231
20232
20233
20234
20235
20236
20237
20238
20239
20240
20241
20242
20243
20244
20245
20246
20247
20248
20249
20250
20251
20252
20253
20254
20255
20256
20257
20258
20259
20260
20261
20262
20263
20264
20265
20266
20267
20268
20269
20270
20271
20272
20273
20274
20275
20276
20277
20278
20279
20280
20281
20282
20283
20284
20285
20286
20287
20288
20289
20290
20291
20292
20293
20294
20295
20296
20297
20298
20299
20300
20301
20302
20303
20304
20305
20306
20307
20308
20309
20310
20311
20312
20313
20314
20315
20316
20317
20318
20319
20320
20321
20322
20323
20324
20325
20326
20327
20328
20329
20330
20331
20332
20333
20334
20335
20336
20337
20338
20339
20340
20341
20342
20343
20344
20345
20346
20347
20348
20349
20350
20351
20352
20353
20354
20355
20356
20357
20358
20359
20360
20361
20362
20363
20364
20365
20366
20367
20368
20369
20370
20371
20372
20373
20374
20375
20376
20377
20378
20379
20380
20381
20382
20383
20384
20385
20386
20387
20388
20389
20390
20391
20392
20393
20394
20395
20396
20397
20398
20399
20400
20401
20402
20403
20404
20405
20406
20407
20408
20409
20410
20411
20412
20413
20414
20415
20416
20417
20418
20419
20420
20421
20422
20423
20424
20425
20426
20427
20428
20429
20430
20431
20432
20433
20434
20435
20436
20437
20438
20439
20440
20441
20442
20443
20444
20445
20446
20447
20448
20449
20450
20451
20452
20453
20454
20455
20456
20457
20458
20459
20460
20461
20462
20463
20464
20465
20466
20467
20468
20469
20470
20471
20472
20473
20474
20475
20476
20477
20478
20479
20480
20481
20482
20483
20484
20485
20486
20487
20488
20489
20490
20491
20492
20493
20494
20495
20496
20497
20498
20499
20500
20501
20502
20503
20504
20505
20506
20507
20508
20509
20510
20511
20512
20513
20514
20515
20516
20517
20518
20519
20520
20521
20522
20523
20524
20525
20526
20527
20528
20529
20530
20531
20532
20533
20534
20535
20536
20537
20538
20539
20540
20541
20542
20543
20544
20545
20546
20547
20548
20549
20550
20551
20552
20553
20554
20555
20556
20557
20558
20559
20560
20561
20562
20563
20564
20565
20566
20567
20568
20569
20570
20571
20572
20573
20574
20575
20576
20577
20578
20579
20580
20581
20582
20583
20584
20585
20586
20587
20588
20589
20590
20591
20592
20593
20594
20595
20596
20597
20598
20599
20600
20601
20602
20603
20604
20605
20606
20607
20608
20609
20610
20611
20612
20613
20614
20615
20616
20617
20618
20619
20620
20621
20622
20623
20624
20625
20626
20627
20628
20629
20630
20631
20632
20633
20634
20635
20636
20637
20638
20639
20640
20641
20642
20643
20644
20645
20646
20647
20648
20649
20650
20651
20652
20653
20654
20655
20656
20657
20658
20659
20660
20661
20662
20663
20664
20665
20666
20667
20668
20669
20670
20671
20672
20673
20674
20675
20676
20677
20678
20679
20680
20681
20682
20683
20684
20685
20686
20687
20688
20689
20690
20691
20692
20693
20694
20695
20696
20697
20698
20699
20700
20701
20702
20703
20704
20705
20706
20707
20708
20709
20710
20711
20712
20713
20714
20715
20716
20717
20718
20719
20720
20721
20722
20723
20724
20725
20726
20727
20728
20729
20730
20731
20732
20733
20734
20735
20736
20737
20738
20739
20740
20741
20742
20743
20744
20745
20746
20747
20748
20749
20750
20751
20752
20753
20754
20755
20756
20757
20758
20759
20760
20761
20762
20763
20764
20765
20766
20767
20768
20769
20770
20771
20772
20773
20774
20775
20776
20777
20778
20779
20780
20781
20782
20783
20784
20785
20786
20787
20788
20789
20790
20791
20792
20793
20794
20795
20796
20797
20798
20799
20800
20801
20802
20803
20804
20805
20806
20807
20808
20809
20810
20811
20812
20813
20814
20815
20816
20817
20818
20819
20820
20821
20822
20823
20824
20825
20826
20827
20828
20829
20830
20831
20832
20833
20834
20835
20836
20837
20838
20839
20840
20841
20842
20843
20844
20845
20846
20847
20848
20849
20850
20851
20852
20853
20854
20855
20856
20857
20858
20859
20860
20861
20862
20863
20864
20865
20866
20867
20868
20869
20870
20871
20872
20873
20874
20875
20876
20877
20878
20879
20880
20881
20882
20883
20884
20885
20886
20887
20888
20889
20890
20891
20892
20893
20894
20895
20896
20897
20898
20899
20900
20901
20902
20903
20904
20905
20906
20907
20908
20909
20910
20911
20912
20913
20914
20915
20916
20917
20918
20919
20920
20921
20922
20923
20924
20925
20926
20927
20928
20929
20930
20931
20932
20933
20934
20935
20936
20937
20938
20939
20940
20941
20942
20943
20944
20945
20946
20947
20948
20949
20950
20951
20952
20953
20954
20955
20956
20957
20958
20959
20960
20961
20962
20963
20964
20965
20966
20967
20968
20969
20970
20971
20972
20973
20974
20975
20976
20977
20978
20979
20980
20981
20982
20983
20984
20985
20986
20987
20988
20989
20990
20991
20992
20993
20994
20995
20996
20997
20998
20999
21000
21001
21002
21003
21004
21005
21006
21007
21008
21009
21010
21011
21012
21013
21014
21015
21016
21017
21018
21019
21020
21021
21022
21023
21024
21025
21026
21027
21028
21029
21030
21031
21032
21033
21034
21035
21036
21037
21038
21039
21040
21041
21042
21043
21044
21045
21046
21047
21048
21049
21050
21051
21052
21053
21054
21055
21056
21057
21058
21059
21060
21061
21062
21063
21064
21065
21066
21067
21068
21069
21070
21071
21072
21073
21074
21075
21076
21077
21078
21079
21080
21081
21082
21083
21084
21085
21086
21087
21088
21089
21090
21091
21092
21093
21094
21095
21096
21097
21098
21099
21100
21101
21102
21103
21104
21105
21106
21107
21108
21109
21110
21111
21112
21113
21114
21115
21116
21117
21118
21119
21120
21121
21122
21123
21124
21125
21126
21127
21128
21129
21130
21131
21132
21133
21134
21135
21136
21137
21138
21139
21140
21141
21142
21143
21144
21145
21146
21147
21148
21149
21150
21151
21152
21153
21154
21155
21156
21157
21158
21159
21160
21161
21162
21163
21164
21165
21166
21167
21168
21169
21170
21171
21172
21173
21174
21175
21176
21177
21178
21179
21180
21181
21182
21183
21184
21185
21186
21187
21188
21189
21190
21191
21192
21193
21194
21195
21196
21197
21198
21199
21200
21201
21202
21203
21204
21205
21206
21207
21208
21209
21210
21211
21212
21213
21214
21215
21216
21217
21218
21219
21220
21221
21222
21223
21224
21225
21226
21227
21228
21229
21230
21231
21232
21233
21234
21235
21236
21237
21238
21239
21240
21241
21242
21243
21244
21245
21246
21247
21248
21249
21250
21251
21252
21253
21254
21255
21256
21257
21258
21259
21260
21261
21262
21263
21264
21265
21266
21267
21268
21269
21270
21271
21272
21273
21274
21275
21276
21277
21278
21279
21280
21281
21282
21283
21284
21285
21286
21287
21288
21289
21290
21291
21292
21293
21294
21295
21296
21297
21298
21299
21300
21301
21302
21303
21304
21305
21306
21307
21308
21309
21310
21311
21312
21313
21314
21315
21316
21317
21318
21319
21320
21321
21322
21323
21324
21325
21326
21327
21328
21329
21330
21331
21332
21333
21334
21335
21336
21337
21338
21339
21340
21341
21342
21343
21344
21345
21346
21347
21348
21349
21350
21351
21352
21353
21354
21355
21356
21357
21358
21359
21360
21361
21362
21363
21364
21365
21366
21367
21368
21369
21370
21371
21372
21373
21374
21375
21376
21377
21378
21379
21380
21381
21382
21383
21384
21385
21386
21387
21388
21389
21390
21391
21392
21393
21394
21395
21396
21397
21398
21399
21400
21401
21402
21403
21404
21405
21406
21407
21408
21409
21410
21411
21412
21413
21414
21415
21416
21417
21418
21419
21420
21421
21422
21423
21424
21425
21426
21427
21428
21429
21430
21431
21432
21433
21434
21435
21436
21437
21438
21439
21440
21441
21442
21443
21444
21445
21446
21447
21448
21449
21450
21451
21452
21453
21454
21455
21456
21457
21458
21459
21460
21461
21462
21463
21464
21465
21466
21467
21468
21469
21470
21471
21472
21473
21474
21475
21476
21477
21478
21479
21480
21481
21482
21483
21484
21485
21486
21487
21488
21489
21490
21491
21492
21493
21494
21495
21496
21497
21498
21499
21500
21501
21502
21503
21504
21505
21506
21507
21508
21509
21510
21511
21512
21513
21514
21515
21516
21517
21518
21519
21520
21521
21522
21523
21524
21525
21526
21527
21528
21529
21530
21531
21532
21533
21534
21535
21536
21537
21538
21539
21540
21541
21542
21543
21544
21545
21546
21547
21548
21549
21550
21551
21552
21553
21554
21555
21556
21557
21558
21559
21560
21561
21562
21563
21564
21565
21566
21567
21568
21569
21570
21571
21572
21573
21574
21575
21576
21577
21578
21579
21580
21581
21582
21583
21584
21585
21586
21587
21588
21589
21590
21591
21592
21593
21594
21595
21596
21597
21598
21599
21600
21601
21602
21603
21604
21605
21606
21607
21608
21609
21610
21611
21612
21613
21614
21615
21616
21617
21618
21619
21620
21621
21622
21623
21624
21625
21626
21627
21628
21629
21630
21631
21632
21633
21634
21635
21636
21637
21638
21639
21640
21641
21642
21643
21644
21645
21646
21647
21648
21649
21650
21651
21652
21653
21654
21655
21656
21657
21658
21659
21660
21661
21662
21663
21664
21665
21666
21667
21668
21669
21670
21671
21672
21673
21674
21675
21676
21677
21678
21679
21680
21681
21682
21683
21684
21685
21686
21687
21688
21689
21690
21691
21692
21693
21694
21695
21696
21697
21698
21699
21700
21701
21702
21703
21704
21705
21706
21707
21708
21709
21710
21711
21712
21713
21714
21715
21716
21717
21718
21719
21720
21721
21722
21723
21724
21725
21726
21727
21728
21729
21730
21731
21732
21733
21734
21735
21736
21737
21738
21739
21740
21741
21742
21743
21744
21745
21746
21747
21748
21749
21750
21751
21752
21753
21754
21755
21756
21757
21758
21759
21760
21761
21762
21763
21764
21765
21766
21767
21768
21769
21770
21771
21772
21773
21774
21775
21776
21777
21778
21779
21780
21781
21782
21783
21784
21785
21786
21787
21788
21789
21790
21791
21792
21793
21794
21795
21796
21797
21798
21799
21800
21801
21802
21803
21804
21805
21806
21807
21808
21809
21810
21811
21812
21813
21814
21815
21816
21817
21818
21819
21820
21821
21822
21823
21824
21825
21826
21827
21828
21829
21830
21831
21832
21833
21834
21835
21836
21837
21838
21839
21840
21841
21842
21843
21844
21845
21846
21847
21848
21849
21850
21851
21852
21853
21854
21855
21856
21857
21858
21859
21860
21861
21862
21863
21864
21865
21866
21867
21868
21869
21870
21871
21872
21873
21874
21875
21876
21877
21878
21879
21880
21881
21882
21883
21884
21885
21886
21887
21888
21889
21890
21891
21892
21893
21894
21895
21896
21897
21898
21899
21900
21901
21902
21903
21904
21905
21906
21907
21908
21909
21910
21911
21912
21913
21914
21915
21916
21917
21918
21919
21920
21921
21922
21923
21924
21925
21926
21927
21928
21929
21930
21931
21932
21933
21934
21935
21936
21937
21938
21939
21940
21941
21942
21943
21944
21945
21946
21947
21948
21949
21950
21951
21952
21953
21954
21955
21956
21957
21958
21959
21960
21961
21962
21963
21964
21965
21966
21967
21968
21969
21970
21971
21972
21973
21974
21975
21976
21977
21978
21979
21980
21981
21982
21983
21984
21985
21986
21987
21988
21989
21990
21991
21992
21993
21994
21995
21996
21997
21998
21999
22000
22001
22002
22003
22004
22005
22006
22007
22008
22009
22010
22011
22012
22013
22014
22015
22016
22017
22018
22019
22020
22021
22022
22023
22024
22025
22026
22027
22028
22029
22030
22031
22032
22033
22034
22035
22036
22037
22038
22039
22040
22041
22042
22043
22044
22045
22046
22047
22048
22049
22050
22051
22052
22053
22054
22055
22056
22057
22058
22059
22060
22061
22062
22063
22064
22065
22066
22067
22068
22069
22070
22071
22072
22073
22074
22075
22076
22077
22078
22079
22080
22081
22082
22083
22084
22085
22086
22087
22088
22089
22090
22091
22092
22093
22094
22095
22096
22097
22098
22099
22100
22101
22102
22103
22104
22105
22106
22107
22108
22109
22110
22111
22112
22113
22114
22115
22116
22117
22118
22119
22120
22121
22122
22123
22124
22125
22126
22127
22128
22129
22130
22131
22132
22133
22134
22135
22136
22137
22138
22139
22140
22141
22142
22143
22144
22145
22146
22147
22148
22149
22150
22151
22152
22153
22154
22155
22156
22157
22158
22159
22160
22161
22162
22163
22164
22165
22166
22167
22168
22169
22170
22171
22172
22173
22174
22175
22176
22177
22178
22179
22180
22181
22182
22183
22184
22185
22186
22187
22188
22189
22190
22191
22192
22193
22194
22195
22196
22197
22198
22199
22200
22201
22202
22203
22204
22205
22206
22207
22208
22209
22210
22211
22212
22213
22214
22215
22216
22217
22218
22219
22220
22221
22222
22223
22224
22225
22226
22227
22228
22229
22230
22231
22232
22233
22234
22235
22236
22237
22238
22239
22240
22241
22242
22243
22244
22245
22246
22247
22248
22249
22250
22251
22252
22253
22254
22255
22256
22257
22258
22259
22260
22261
22262
22263
22264
22265
22266
22267
22268
22269
22270
22271
22272
22273
22274
22275
22276
22277
22278
22279
22280
22281
22282
22283
22284
22285
22286
22287
22288
22289
22290
22291
22292
22293
22294
22295
22296
22297
22298
22299
22300
22301
22302
22303
22304
22305
22306
22307
22308
22309
22310
22311
22312
22313
22314
22315
22316
22317
22318
22319
22320
22321
22322
22323
22324
22325
22326
22327
22328
22329
22330
22331
22332
22333
22334
22335
22336
22337
22338
22339
22340
22341
22342
22343
22344
22345
22346
22347
22348
22349
22350
22351
22352
22353
22354
22355
22356
22357
22358
22359
22360
22361
22362
22363
22364
22365
22366
22367
22368
22369
22370
22371
22372
22373
22374
22375
22376
22377
22378
22379
22380
22381
22382
22383
22384
22385
22386
22387
22388
22389
22390
22391
22392
22393
22394
22395
22396
22397
22398
22399
22400
22401
22402
22403
22404
22405
22406
22407
22408
22409
22410
22411
22412
22413
22414
22415
22416
22417
22418
22419
22420
22421
22422
22423
22424
22425
22426
22427
22428
22429
22430
22431
22432
22433
22434
22435
22436
22437
22438
22439
22440
22441
22442
22443
22444
22445
22446
22447
22448
22449
22450
22451
22452
22453
22454
22455
22456
22457
22458
22459
22460
22461
22462
22463
22464
22465
22466
22467
22468
22469
22470
22471
22472
22473
22474
22475
22476
22477
22478
22479
22480
22481
22482
22483
22484
22485
22486
22487
22488
22489
22490
22491
22492
22493
22494
22495
22496
22497
22498
22499
22500
22501
22502
22503
22504
22505
22506
22507
22508
22509
22510
22511
22512
22513
22514
22515
22516
22517
22518
22519
22520
22521
22522
22523
22524
22525
22526
22527
22528
22529
22530
22531
22532
22533
22534
22535
22536
22537
22538
22539
22540
22541
22542
22543
22544
22545
22546
22547
22548
22549
22550
22551
22552
22553
22554
22555
22556
22557
22558
22559
22560
22561
22562
22563
22564
22565
22566
22567
22568
22569
22570
22571
22572
22573
22574
22575
22576
22577
22578
22579
22580
22581
22582
22583
22584
22585
22586
22587
22588
22589
22590
22591
22592
22593
22594
22595
22596
22597
22598
22599
22600
22601
22602
22603
22604
22605
22606
22607
22608
22609
22610
22611
22612
22613
22614
22615
22616
22617
22618
22619
22620
22621
22622
22623
22624
22625
22626
22627
22628
22629
22630
22631
22632
22633
22634
22635
22636
22637
22638
22639
22640
22641
22642
22643
22644
22645
22646
22647
22648
22649
22650
22651
22652
22653
22654
22655
22656
22657
22658
22659
22660
22661
22662
22663
22664
22665
22666
22667
22668
22669
22670
22671
22672
22673
22674
22675
22676
22677
22678
22679
22680
22681
22682
22683
22684
22685
22686
22687
22688
22689
22690
22691
22692
22693
22694
22695
22696
22697
22698
22699
22700
22701
22702
22703
22704
22705
22706
22707
22708
22709
22710
22711
22712
22713
22714
22715
22716
22717
22718
22719
22720
22721
22722
22723
22724
22725
22726
22727
22728
22729
22730
22731
22732
22733
22734
22735
22736
22737
22738
22739
22740
22741
22742
22743
22744
22745
22746
22747
22748
22749
22750
22751
22752
22753
22754
22755
22756
22757
22758
22759
22760
22761
22762
22763
22764
22765
22766
22767
22768
22769
22770
22771
22772
22773
22774
22775
22776
22777
22778
22779
22780
22781
22782
22783
22784
22785
22786
22787
22788
22789
22790
22791
22792
22793
22794
22795
22796
22797
22798
22799
22800
22801
22802
22803
22804
22805
22806
22807
22808
22809
22810
22811
22812
22813
22814
22815
22816
22817
22818
22819
22820
22821
22822
22823
22824
22825
22826
22827
22828
22829
22830
22831
22832
22833
22834
22835
22836
22837
22838
22839
22840
22841
22842
22843
22844
22845
22846
22847
22848
22849
22850
22851
22852
22853
22854
22855
22856
22857
22858
22859
22860
22861
22862
22863
22864
22865
22866
22867
22868
22869
22870
22871
22872
22873
22874
22875
22876
22877
22878
22879
22880
22881
22882
22883
22884
22885
22886
22887
22888
22889
22890
22891
22892
22893
22894
22895
22896
22897
22898
22899
22900
22901
22902
22903
22904
22905
22906
22907
22908
22909
22910
22911
22912
22913
22914
22915
22916
22917
22918
22919
22920
22921
22922
22923
22924
22925
22926
22927
22928
22929
22930
22931
22932
22933
22934
22935
22936
22937
22938
22939
22940
22941
22942
22943
22944
22945
22946
22947
22948
22949
22950
22951
22952
22953
22954
22955
22956
22957
22958
22959
22960
22961
22962
22963
22964
22965
22966
22967
22968
22969
22970
22971
22972
22973
22974
22975
22976
22977
22978
22979
22980
22981
22982
22983
22984
22985
22986
22987
22988
22989
22990
22991
22992
22993
22994
22995
22996
22997
22998
22999
23000
23001
23002
23003
23004
23005
23006
23007
23008
23009
23010
23011
23012
23013
23014
23015
23016
23017
23018
23019
23020
23021
23022
23023
23024
23025
23026
23027
23028
23029
23030
23031
23032
23033
23034
23035
23036
23037
23038
23039
23040
23041
23042
23043
23044
23045
23046
23047
23048
23049
23050
23051
23052
23053
23054
23055
23056
23057
23058
23059
23060
23061
23062
23063
23064
23065
23066
23067
23068
23069
23070
23071
23072
23073
23074
23075
23076
23077
23078
23079
23080
23081
23082
23083
23084
23085
23086
23087
23088
23089
23090
23091
23092
23093
23094
23095
23096
23097
23098
23099
23100
23101
23102
23103
23104
23105
23106
23107
23108
23109
23110
23111
23112
23113
23114
23115
23116
23117
23118
23119
23120
23121
23122
23123
23124
23125
23126
23127
23128
23129
23130
23131
23132
23133
23134
23135
23136
23137
23138
23139
23140
23141
23142
23143
23144
23145
23146
23147
23148
23149
23150
23151
23152
23153
23154
23155
23156
23157
23158
23159
23160
23161
23162
23163
23164
23165
23166
23167
23168
23169
23170
23171
23172
23173
23174
23175
23176
23177
23178
23179
23180
23181
23182
23183
23184
23185
23186
23187
23188
23189
23190
23191
23192
23193
23194
23195
23196
23197
23198
23199
23200
23201
23202
23203
23204
23205
23206
23207
23208
23209
23210
23211
23212
23213
23214
23215
23216
23217
23218
23219
23220
23221
23222
23223
23224
23225
23226
23227
23228
23229
23230
23231
23232
23233
23234
23235
23236
23237
23238
23239
23240
23241
23242
23243
23244
23245
23246
23247
23248
23249
23250
23251
23252
23253
23254
23255
23256
23257
23258
23259
23260
23261
23262
23263
23264
23265
23266
23267
23268
23269
23270
23271
23272
23273
23274
23275
23276
23277
23278
23279
23280
23281
23282
23283
23284
23285
23286
23287
23288
23289
23290
23291
23292
23293
23294
23295
23296
23297
23298
23299
23300
23301
23302
23303
23304
23305
23306
23307
23308
23309
23310
23311
23312
23313
23314
23315
23316
23317
23318
23319
23320
23321
23322
23323
23324
23325
23326
23327
23328
23329
23330
23331
23332
23333
23334
23335
23336
23337
23338
23339
23340
23341
23342
23343
23344
23345
23346
23347
23348
23349
23350
23351
23352
23353
23354
23355
23356
23357
23358
23359
23360
23361
23362
23363
23364
23365
23366
23367
23368
23369
23370
23371
23372
23373
23374
23375
23376
23377
23378
23379
23380
23381
23382
23383
23384
23385
23386
23387
23388
23389
23390
23391
23392
23393
23394
23395
23396
23397
23398
23399
23400
23401
23402
23403
23404
23405
23406
23407
23408
23409
23410
23411
23412
23413
23414
23415
23416
23417
23418
23419
23420
23421
23422
23423
23424
23425
23426
23427
23428
23429
23430
23431
23432
23433
23434
23435
23436
23437
23438
23439
23440
23441
23442
23443
23444
23445
23446
23447
23448
23449
23450
23451
23452
23453
23454
23455
23456
23457
23458
23459
23460
23461
23462
23463
23464
23465
23466
23467
23468
23469
23470
23471
23472
23473
23474
23475
23476
23477
23478
23479
23480
23481
23482
23483
23484
23485
23486
23487
23488
23489
23490
23491
23492
23493
23494
23495
23496
23497
23498
23499
23500
23501
23502
23503
23504
23505
23506
23507
23508
23509
23510
23511
23512
23513
23514
23515
23516
23517
23518
23519
23520
23521
23522
23523
23524
23525
23526
23527
23528
23529
23530
23531
23532
23533
23534
23535
23536
23537
23538
23539
23540
23541
23542
23543
23544
23545
23546
23547
23548
23549
23550
23551
23552
23553
23554
23555
23556
23557
23558
23559
23560
23561
23562
23563
23564
23565
23566
23567
23568
23569
23570
23571
23572
23573
23574
23575
23576
23577
23578
23579
23580
23581
23582
23583
23584
23585
23586
23587
23588
23589
23590
23591
23592
23593
23594
23595
23596
23597
23598
23599
23600
23601
23602
23603
23604
23605
23606
23607
23608
23609
23610
23611
23612
23613
23614
23615
23616
23617
23618
23619
23620
23621
23622
23623
23624
23625
23626
23627
23628
23629
23630
23631
23632
23633
23634
23635
23636
23637
23638
23639
23640
23641
23642
23643
23644
23645
23646
23647
23648
23649
23650
23651
23652
23653
23654
23655
23656
23657
23658
23659
23660
23661
23662
23663
23664
23665
23666
23667
23668
23669
23670
23671
23672
23673
23674
23675
23676
23677
23678
23679
23680
23681
23682
23683
23684
23685
23686
23687
23688
23689
23690
23691
23692
23693
23694
23695
23696
23697
23698
23699
23700
23701
23702
23703
23704
23705
23706
23707
23708
23709
23710
23711
23712
23713
23714
23715
23716
23717
23718
23719
23720
23721
23722
23723
23724
23725
23726
23727
23728
23729
23730
23731
23732
23733
23734
23735
23736
23737
23738
23739
23740
23741
23742
23743
23744
23745
23746
23747
23748
23749
23750
23751
23752
23753
23754
23755
23756
23757
23758
23759
23760
23761
23762
23763
23764
23765
23766
23767
23768
23769
23770
23771
23772
23773
23774
23775
23776
23777
23778
23779
23780
23781
23782
23783
23784
23785
23786
23787
23788
23789
23790
23791
23792
23793
23794
23795
23796
23797
23798
23799
23800
23801
23802
23803
23804
23805
23806
23807
23808
23809
23810
23811
23812
23813
23814
23815
23816
23817
23818
23819
23820
23821
23822
23823
23824
23825
23826
23827
23828
23829
23830
23831
23832
23833
23834
23835
23836
23837
23838
23839
23840
23841
23842
23843
23844
23845
23846
23847
23848
23849
23850
23851
23852
23853
23854
23855
23856
23857
23858
23859
23860
23861
23862
23863
23864
23865
23866
23867
23868
23869
23870
23871
23872
23873
23874
23875
23876
23877
23878
23879
23880
23881
23882
23883
23884
23885
23886
23887
23888
23889
23890
23891
23892
23893
23894
23895
23896
23897
23898
23899
23900
23901
23902
23903
23904
23905
23906
23907
23908
23909
23910
23911
23912
23913
23914
23915
23916
23917
23918
23919
23920
23921
23922
23923
23924
23925
23926
23927
23928
23929
23930
23931
23932
23933
23934
23935
23936
23937
23938
23939
23940
23941
23942
23943
23944
23945
23946
23947
23948
23949
23950
23951
23952
23953
23954
23955
23956
23957
23958
23959
23960
23961
23962
23963
23964
23965
23966
23967
23968
23969
23970
23971
23972
23973
23974
23975
23976
23977
23978
23979
23980
23981
23982
23983
23984
23985
23986
23987
23988
23989
23990
23991
23992
23993
23994
23995
23996
23997
23998
23999
24000
24001
24002
24003
24004
24005
24006
24007
24008
24009
24010
24011
24012
24013
24014
24015
24016
24017
24018
24019
24020
24021
24022
24023
24024
24025
24026
24027
24028
24029
24030
24031
24032
24033
24034
24035
24036
24037
24038
24039
24040
24041
24042
24043
24044
24045
24046
24047
24048
24049
24050
24051
24052
24053
24054
24055
24056
24057
24058
24059
24060
24061
24062
24063
24064
24065
24066
24067
24068
24069
24070
24071
24072
24073
24074
24075
24076
24077
24078
24079
24080
24081
24082
24083
24084
24085
24086
24087
24088
24089
24090
24091
24092
24093
24094
24095
24096
24097
24098
24099
24100
24101
24102
24103
24104
24105
24106
24107
24108
24109
24110
24111
24112
24113
24114
24115
24116
24117
24118
24119
24120
24121
24122
24123
24124
24125
24126
24127
24128
24129
24130
24131
24132
24133
24134
24135
24136
24137
24138
24139
24140
24141
24142
24143
24144
24145
24146
24147
24148
24149
24150
24151
24152
24153
24154
24155
24156
24157
24158
24159
24160
24161
24162
24163
24164
24165
24166
24167
24168
24169
24170
24171
24172
24173
24174
24175
24176
24177
24178
24179
24180
24181
24182
24183
24184
24185
24186
24187
24188
24189
24190
24191
24192
24193
24194
24195
24196
24197
24198
24199
24200
24201
24202
24203
24204
24205
24206
24207
24208
24209
24210
24211
24212
24213
24214
24215
24216
24217
24218
24219
24220
24221
24222
24223
24224
24225
24226
24227
24228
24229
24230
24231
24232
24233
24234
24235
24236
24237
24238
24239
24240
24241
24242
24243
24244
24245
24246
24247
24248
24249
24250
24251
24252
24253
24254
24255
24256
24257
24258
24259
24260
24261
24262
24263
24264
24265
24266
24267
24268
24269
24270
24271
24272
24273
24274
24275
24276
24277
24278
24279
24280
24281
24282
24283
24284
24285
24286
24287
24288
24289
24290
24291
24292
24293
24294
24295
24296
24297
24298
24299
24300
24301
24302
24303
24304
24305
24306
24307
24308
24309
24310
24311
24312
24313
24314
24315
24316
24317
24318
24319
24320
24321
24322
24323
24324
24325
24326
24327
24328
24329
24330
24331
24332
24333
24334
24335
24336
24337
24338
24339
24340
24341
24342
24343
24344
24345
24346
24347
24348
24349
24350
24351
24352
24353
24354
24355
24356
24357
24358
24359
24360
24361
24362
24363
24364
24365
24366
24367
24368
24369
24370
24371
24372
24373
24374
24375
24376
24377
24378
24379
24380
24381
24382
24383
24384
24385
24386
24387
24388
24389
24390
24391
24392
24393
24394
24395
24396
24397
24398
24399
24400
24401
24402
24403
24404
24405
24406
24407
24408
24409
24410
24411
24412
24413
24414
24415
24416
24417
24418
24419
24420
24421
24422
24423
24424
24425
24426
24427
24428
24429
24430
24431
24432
24433
24434
24435
24436
24437
24438
24439
24440
24441
24442
24443
24444
24445
24446
24447
24448
24449
24450
24451
24452
24453
24454
24455
24456
24457
24458
24459
24460
24461
24462
24463
24464
24465
24466
24467
24468
24469
24470
24471
24472
24473
24474
24475
24476
24477
24478
24479
24480
24481
24482
24483
24484
24485
24486
24487
24488
24489
24490
24491
24492
24493
24494
24495
24496
24497
24498
24499
24500
24501
24502
24503
24504
24505
24506
24507
24508
24509
24510
24511
24512
24513
24514
24515
24516
24517
24518
24519
24520
24521
24522
24523
24524
24525
24526
24527
24528
24529
24530
24531
24532
24533
24534
24535
24536
24537
24538
24539
24540
24541
24542
24543
24544
24545
24546
24547
24548
24549
24550
24551
24552
24553
24554
24555
24556
24557
24558
24559
24560
24561
24562
24563
24564
24565
24566
24567
24568
24569
24570
24571
24572
24573
24574
24575
24576
24577
24578
24579
24580
24581
24582
24583
24584
24585
24586
24587
24588
24589
24590
24591
24592
24593
24594
24595
24596
24597
24598
24599
24600
24601
24602
24603
24604
24605
24606
24607
24608
24609
24610
24611
24612
24613
24614
24615
24616
24617
24618
24619
24620
24621
24622
24623
24624
24625
24626
24627
24628
24629
24630
24631
24632
24633
24634
24635
24636
24637
24638
24639
24640
24641
24642
24643
24644
24645
24646
24647
24648
24649
24650
24651
24652
24653
24654
24655
24656
24657
24658
24659
24660
24661
24662
24663
24664
24665
24666
24667
24668
24669
24670
24671
24672
24673
24674
24675
24676
24677
24678
24679
24680
24681
24682
24683
24684
24685
24686
24687
24688
24689
24690
24691
24692
24693
24694
24695
24696
24697
24698
24699
24700
24701
24702
24703
24704
24705
24706
24707
24708
24709
24710
24711
24712
24713
24714
24715
24716
24717
24718
24719
24720
24721
24722
24723
24724
24725
24726
24727
24728
24729
24730
24731
24732
24733
24734
24735
24736
24737
24738
24739
24740
24741
24742
24743
24744
24745
24746
24747
24748
24749
24750
24751
24752
24753
24754
24755
24756
24757
24758
24759
24760
24761
24762
24763
24764
24765
24766
24767
24768
24769
24770
24771
24772
24773
24774
24775
24776
24777
24778
24779
24780
24781
24782
24783
24784
24785
24786
24787
24788
24789
24790
24791
24792
24793
24794
24795
24796
24797
24798
24799
24800
24801
24802
24803
24804
24805
24806
24807
24808
24809
24810
24811
24812
24813
24814
24815
24816
24817
24818
24819
24820
24821
24822
24823
24824
24825
24826
24827
24828
24829
24830
24831
24832
24833
24834
24835
24836
24837
24838
24839
24840
24841
24842
24843
24844
24845
24846
24847
24848
24849
24850
24851
24852
24853
24854
24855
24856
24857
24858
24859
24860
24861
24862
24863
24864
24865
24866
24867
24868
24869
24870
24871
24872
24873
24874
24875
24876
24877
24878
24879
24880
24881
24882
24883
24884
24885
24886
24887
24888
24889
24890
24891
24892
24893
24894
24895
24896
24897
24898
24899
24900
24901
24902
24903
24904
24905
24906
24907
24908
24909
24910
24911
24912
24913
24914
24915
24916
24917
24918
24919
24920
24921
24922
24923
24924
24925
24926
24927
24928
24929
24930
24931
24932
24933
24934
24935
24936
24937
24938
24939
24940
24941
24942
24943
24944
24945
24946
24947
24948
24949
24950
24951
24952
24953
24954
24955
24956
24957
24958
24959
24960
24961
24962
24963
24964
24965
24966
24967
24968
24969
24970
24971
24972
24973
24974
24975
24976
24977
24978
24979
24980
24981
24982
24983
24984
24985
24986
24987
24988
24989
24990
24991
24992
24993
24994
24995
24996
24997
24998
24999
25000
25001
25002
25003
25004
25005
25006
25007
25008
25009
25010
25011
25012
25013
25014
25015
25016
25017
25018
25019
25020
25021
25022
25023
25024
25025
25026
25027
25028
25029
25030
25031
25032
25033
25034
25035
25036
25037
25038
25039
25040
25041
25042
25043
25044
25045
25046
25047
25048
25049
25050
25051
25052
25053
25054
25055
25056
25057
25058
25059
25060
25061
25062
25063
25064
25065
25066
25067
25068
25069
25070
25071
25072
25073
25074
25075
25076
25077
25078
25079
25080
25081
25082
25083
25084
25085
25086
25087
25088
25089
25090
25091
25092
25093
25094
25095
25096
25097
25098
25099
25100
25101
25102
25103
25104
25105
25106
25107
25108
25109
25110
25111
25112
25113
25114
25115
25116
25117
25118
25119
25120
25121
25122
25123
25124
25125
25126
25127
25128
25129
25130
25131
25132
25133
25134
25135
25136
25137
25138
25139
25140
25141
25142
25143
25144
25145
25146
25147
25148
25149
25150
25151
25152
25153
25154
25155
25156
25157
25158
25159
25160
25161
25162
25163
25164
25165
25166
25167
25168
25169
25170
25171
25172
25173
25174
25175
25176
25177
25178
25179
25180
25181
25182
25183
25184
25185
25186
25187
25188
25189
25190
25191
25192
25193
25194
25195
25196
25197
25198
25199
25200
25201
25202
25203
25204
25205
25206
25207
25208
25209
25210
25211
25212
25213
25214
25215
25216
25217
25218
25219
25220
25221
25222
25223
25224
25225
25226
25227
25228
25229
25230
25231
25232
25233
25234
25235
25236
25237
25238
25239
25240
25241
25242
25243
25244
25245
25246
25247
25248
25249
25250
25251
25252
25253
25254
25255
25256
25257
25258
25259
25260
25261
25262
25263
25264
25265
25266
25267
25268
25269
25270
25271
25272
25273
25274
25275
25276
25277
25278
25279
25280
25281
25282
25283
25284
25285
25286
25287
25288
25289
25290
25291
25292
25293
25294
25295
25296
25297
25298
25299
25300
25301
25302
25303
25304
25305
25306
25307
25308
25309
25310
25311
25312
25313
25314
25315
25316
25317
25318
25319
25320
25321
25322
25323
25324
25325
25326
25327
25328
25329
25330
25331
25332
25333
25334
25335
25336
25337
25338
25339
25340
25341
25342
25343
25344
25345
25346
25347
25348
25349
25350
25351
25352
25353
25354
25355
25356
25357
25358
25359
25360
25361
25362
25363
25364
25365
25366
25367
25368
25369
25370
25371
25372
25373
25374
25375
25376
25377
25378
25379
25380
25381
25382
25383
25384
25385
25386
25387
25388
25389
25390
25391
25392
25393
25394
25395
25396
25397
25398
25399
25400
25401
25402
25403
25404
25405
25406
25407
25408
25409
25410
25411
25412
25413
25414
25415
25416
25417
25418
25419
25420
25421
25422
25423
25424
25425
25426
25427
25428
25429
25430
25431
25432
25433
25434
25435
25436
25437
25438
25439
25440
25441
25442
25443
25444
25445
25446
25447
25448
25449
25450
25451
25452
25453
25454
25455
25456
25457
25458
25459
25460
25461
25462
25463
25464
25465
25466
25467
25468
25469
25470
25471
25472
25473
25474
25475
25476
25477
25478
25479
25480
25481
25482
25483
25484
25485
25486
25487
25488
25489
25490
25491
25492
25493
25494
25495
25496
25497
25498
25499
25500
25501
25502
25503
25504
25505
25506
25507
25508
25509
25510
25511
25512
25513
25514
25515
25516
25517
25518
25519
25520
25521
25522
25523
25524
25525
25526
25527
25528
25529
25530
25531
25532
25533
25534
25535
25536
25537
25538
25539
25540
25541
25542
25543
25544
25545
25546
25547
25548
25549
25550
25551
25552
25553
25554
25555
25556
25557
25558
25559
25560
25561
25562
25563
25564
25565
25566
25567
25568
25569
25570
25571
25572
25573
25574
25575
25576
25577
25578
25579
25580
25581
25582
25583
25584
25585
25586
25587
25588
25589
25590
25591
25592
25593
25594
25595
25596
25597
25598
25599
25600
25601
25602
25603
25604
25605
25606
25607
25608
25609
25610
25611
25612
25613
25614
25615
25616
25617
25618
25619
25620
25621
25622
25623
25624
25625
25626
25627
25628
25629
25630
25631
25632
25633
25634
25635
25636
25637
25638
25639
25640
25641
25642
25643
25644
25645
25646
25647
25648
25649
25650
25651
25652
25653
25654
25655
25656
25657
25658
25659
25660
25661
25662
25663
25664
25665
25666
25667
25668
25669
25670
25671
25672
25673
25674
25675
25676
25677
25678
25679
25680
25681
25682
25683
25684
25685
25686
25687
25688
25689
25690
25691
25692
25693
25694
25695
25696
25697
25698
25699
25700
25701
25702
25703
25704
25705
25706
25707
25708
25709
25710
25711
25712
25713
25714
25715
25716
25717
25718
25719
25720
25721
25722
25723
25724
25725
25726
25727
25728
25729
25730
25731
25732
25733
25734
25735
25736
25737
25738
25739
25740
25741
25742
25743
25744
25745
25746
25747
25748
25749
25750
25751
25752
25753
25754
25755
25756
25757
25758
25759
25760
25761
25762
25763
25764
25765
25766
25767
25768
25769
25770
25771
25772
25773
25774
25775
25776
25777
25778
25779
25780
25781
25782
25783
25784
25785
25786
25787
25788
25789
25790
25791
25792
25793
25794
25795
25796
25797
25798
25799
25800
25801
25802
25803
25804
25805
25806
25807
25808
25809
25810
25811
25812
25813
25814
25815
25816
25817
25818
25819
25820
25821
25822
25823
25824
25825
25826
25827
25828
25829
25830
25831
25832
25833
25834
25835
25836
25837
25838
25839
25840
25841
25842
25843
25844
25845
25846
25847
25848
25849
25850
25851
25852
25853
25854
25855
25856
25857
25858
25859
25860
25861
25862
25863
25864
25865
25866
25867
25868
25869
25870
25871
25872
25873
25874
25875
25876
25877
25878
25879
25880
25881
25882
25883
25884
25885
25886
25887
25888
25889
25890
25891
25892
25893
25894
25895
25896
25897
25898
25899
25900
25901
25902
25903
25904
25905
25906
25907
25908
25909
25910
25911
25912
25913
25914
25915
25916
25917
25918
25919
25920
25921
25922
25923
25924
25925
25926
25927
25928
25929
25930
25931
25932
25933
25934
25935
25936
25937
25938
25939
25940
25941
25942
25943
25944
25945
25946
25947
25948
25949
25950
25951
25952
25953
25954
25955
25956
25957
25958
25959
25960
25961
25962
25963
25964
25965
25966
25967
25968
25969
25970
25971
25972
25973
25974
25975
25976
25977
25978
25979
25980
25981
25982
25983
25984
25985
25986
25987
25988
25989
25990
25991
25992
25993
25994
25995
25996
25997
25998
25999
26000
26001
26002
26003
26004
26005
26006
26007
26008
26009
26010
26011
26012
26013
26014
26015
26016
26017
26018
26019
26020
26021
26022
26023
26024
26025
26026
26027
26028
26029
26030
26031
26032
26033
26034
26035
26036
26037
26038
26039
26040
26041
26042
26043
26044
26045
26046
26047
26048
26049
26050
26051
26052
26053
26054
26055
26056
26057
26058
26059
26060
26061
26062
26063
26064
26065
26066
26067
26068
26069
26070
26071
26072
26073
26074
26075
26076
26077
26078
26079
26080
26081
26082
26083
26084
26085
26086
26087
26088
26089
26090
26091
26092
26093
26094
26095
26096
26097
26098
26099
26100
26101
26102
26103
26104
26105
26106
26107
26108
26109
26110
26111
26112
26113
26114
26115
26116
26117
26118
26119
26120
26121
26122
26123
26124
26125
26126
26127
26128
26129
26130
26131
26132
26133
26134
26135
26136
26137
26138
26139
26140
26141
26142
26143
26144
26145
26146
26147
26148
26149
26150
26151
26152
26153
26154
26155
26156
26157
26158
26159
26160
26161
26162
26163
26164
26165
26166
26167
26168
26169
26170
26171
26172
26173
26174
26175
26176
26177
26178
26179
26180
26181
26182
26183
26184
26185
26186
26187
26188
26189
26190
26191
26192
26193
26194
26195
26196
26197
26198
26199
26200
26201
26202
26203
26204
26205
26206
26207
26208
26209
26210
26211
26212
26213
26214
26215
26216
26217
26218
26219
26220
26221
26222
26223
26224
26225
26226
26227
26228
26229
26230
26231
26232
26233
26234
26235
26236
26237
26238
26239
26240
26241
26242
26243
26244
26245
26246
26247
26248
26249
26250
26251
26252
26253
26254
26255
26256
26257
26258
26259
26260
26261
26262
26263
26264
26265
26266
26267
26268
26269
26270
26271
26272
26273
26274
26275
26276
26277
26278
26279
26280
26281
26282
26283
26284
26285
26286
26287
26288
26289
26290
26291
26292
26293
26294
26295
26296
26297
26298
26299
26300
26301
26302
26303
26304
26305
26306
26307
26308
26309
26310
26311
26312
26313
26314
26315
26316
26317
26318
26319
26320
26321
26322
26323
26324
26325
26326
26327
26328
26329
26330
26331
26332
26333
26334
26335
26336
26337
26338
26339
26340
26341
26342
26343
26344
26345
26346
26347
26348
26349
26350
26351
26352
26353
26354
26355
26356
26357
26358
26359
26360
26361
26362
26363
26364
26365
26366
26367
26368
26369
26370
26371
26372
26373
26374
26375
26376
26377
26378
26379
26380
26381
26382
26383
26384
26385
26386
26387
26388
26389
26390
26391
26392
26393
26394
26395
26396
26397
26398
26399
26400
26401
26402
26403
26404
26405
26406
26407
26408
26409
26410
26411
26412
26413
26414
26415
26416
26417
26418
26419
26420
26421
26422
26423
26424
26425
26426
26427
26428
26429
26430
26431
26432
26433
26434
26435
26436
26437
26438
26439
26440
26441
26442
26443
26444
26445
26446
26447
26448
26449
26450
26451
26452
26453
26454
26455
26456
26457
26458
26459
26460
26461
26462
26463
26464
26465
26466
26467
26468
26469
26470
26471
26472
26473
26474
26475
26476
26477
26478
26479
26480
26481
26482
26483
26484
26485
26486
26487
26488
26489
26490
26491
26492
26493
26494
26495
26496
26497
26498
26499
26500
26501
26502
26503
26504
26505
26506
26507
26508
26509
26510
26511
26512
26513
26514
26515
26516
26517
26518
26519
26520
26521
26522
26523
26524
26525
26526
26527
26528
26529
26530
26531
26532
26533
26534
26535
26536
26537
26538
26539
26540
26541
26542
26543
26544
26545
26546
26547
26548
26549
26550
26551
26552
26553
26554
26555
26556
26557
26558
26559
26560
26561
26562
26563
26564
26565
26566
26567
26568
26569
26570
26571
26572
26573
26574
26575
26576
26577
26578
26579
26580
26581
26582
26583
26584
26585
26586
26587
26588
26589
26590
26591
26592
26593
26594
26595
26596
26597
26598
26599
26600
26601
26602
26603
26604
26605
26606
26607
26608
26609
26610
26611
26612
26613
26614
26615
26616
26617
26618
26619
26620
26621
26622
26623
26624
26625
26626
26627
26628
26629
26630
26631
26632
26633
26634
26635
26636
26637
26638
26639
26640
26641
26642
26643
26644
26645
26646
26647
26648
26649
26650
26651
26652
26653
26654
26655
26656
26657
26658
26659
26660
26661
26662
26663
26664
26665
26666
26667
26668
26669
26670
26671
26672
26673
26674
26675
26676
26677
26678
26679
26680
26681
26682
26683
26684
26685
26686
26687
26688
26689
26690
26691
26692
26693
26694
26695
26696
26697
26698
26699
26700
26701
26702
26703
26704
26705
26706
26707
26708
26709
26710
26711
26712
26713
26714
26715
26716
26717
26718
26719
26720
26721
26722
26723
26724
26725
26726
26727
26728
26729
26730
26731
26732
26733
26734
26735
26736
26737
26738
26739
26740
26741
26742
26743
26744
26745
26746
26747
26748
26749
26750
26751
26752
26753
26754
26755
26756
26757
26758
26759
26760
26761
26762
26763
26764
26765
26766
26767
26768
26769
26770
26771
26772
26773
26774
26775
26776
26777
26778
26779
26780
26781
26782
26783
26784
26785
26786
26787
26788
26789
26790
26791
26792
26793
26794
26795
26796
26797
26798
26799
26800
26801
26802
26803
26804
26805
26806
26807
26808
26809
26810
26811
26812
26813
26814
26815
26816
26817
26818
26819
26820
26821
26822
26823
26824
26825
26826
26827
26828
26829
26830
26831
26832
26833
26834
26835
26836
26837
26838
26839
26840
26841
26842
26843
26844
26845
26846
26847
26848
26849
26850
26851
26852
26853
26854
26855
26856
26857
26858
26859
26860
26861
26862
26863
26864
26865
26866
26867
26868
26869
26870
26871
26872
26873
26874
26875
26876
26877
26878
26879
26880
26881
26882
26883
26884
26885
26886
26887
26888
26889
26890
26891
26892
26893
26894
26895
26896
26897
26898
26899
26900
26901
26902
26903
26904
26905
26906
26907
26908
26909
26910
26911
26912
26913
26914
26915
26916
26917
26918
26919
26920
26921
26922
26923
26924
26925
26926
26927
26928
26929
26930
26931
26932
26933
26934
26935
26936
26937
26938
26939
26940
26941
26942
26943
26944
26945
26946
26947
26948
26949
26950
26951
26952
26953
26954
26955
26956
26957
26958
26959
26960
26961
26962
26963
26964
26965
26966
26967
26968
26969
26970
26971
26972
26973
26974
26975
26976
26977
26978
26979
26980
26981
26982
26983
26984
26985
26986
26987
26988
26989
26990
26991
26992
26993
26994
26995
26996
26997
26998
26999
27000
27001
27002
27003
27004
27005
27006
27007
27008
27009
27010
27011
27012
27013
27014
27015
27016
27017
27018
27019
27020
27021
27022
27023
27024
27025
27026
27027
27028
27029
27030
27031
27032
27033
27034
27035
27036
27037
27038
27039
27040
27041
27042
27043
27044
27045
27046
27047
27048
27049
27050
27051
27052
27053
27054
27055
27056
27057
27058
27059
27060
27061
27062
27063
27064
27065
27066
27067
27068
27069
27070
27071
27072
27073
27074
27075
27076
27077
27078
27079
27080
27081
27082
27083
27084
27085
27086
27087
27088
27089
27090
27091
27092
27093
27094
27095
27096
27097
27098
27099
27100
27101
27102
27103
27104
27105
27106
27107
27108
27109
27110
27111
27112
27113
27114
27115
27116
27117
27118
27119
27120
27121
27122
27123
27124
27125
27126
27127
27128
27129
27130
27131
27132
27133
27134
27135
27136
27137
27138
27139
27140
27141
27142
27143
27144
27145
27146
27147
27148
27149
27150
27151
27152
27153
27154
27155
27156
27157
27158
27159
27160
27161
27162
27163
27164
27165
27166
27167
27168
27169
27170
27171
27172
27173
27174
27175
27176
27177
27178
27179
27180
27181
27182
27183
27184
27185
27186
27187
27188
27189
27190
27191
27192
27193
27194
27195
27196
27197
27198
27199
27200
27201
27202
27203
27204
27205
27206
27207
27208
27209
27210
27211
27212
27213
27214
27215
27216
27217
27218
27219
27220
%%% ====================================================================
%%%  BibTeX-file{
%%%     author          = "Nelson H. F. Beebe",
%%%     version         = "2.09",
%%%     date            = "26 March 1997",
%%%     time            = "08:21:19 MST",
%%%     filename        = "cacm1970.bib",
%%%     address         = "Center for Scientific Computing
%%%                        Department of Mathematics
%%%                        University of Utah
%%%                        Salt Lake City, UT 84112
%%%                        USA",
%%%     telephone       = "+1 801 581 5254",
%%%     FAX             = "+1 801 581 4148",
%%%     checksum        = "50673 40670 196033 1787829",
%%%     email           = "beebe at math.utah.edu (Internet)",
%%%     codetable       = "ISO/ASCII",
%%%     keywords        = "bibliography, CACM, Communications of the
%%%                        ACM",
%%%     supported       = "yes",
%%%     docstring       = "This is a bibliography of the journal
%%%                        Communications of the ACM, covering
%%%                        (incompletely) 1970 -- 1979.
%%%
%%%                        At version 2.09, the year coverage looked
%%%                        like this:
%%%
%%%                             1961 (  1)     1972 (168)     1983 (  0)
%%%                             1962 (  1)     1973 (158)     1984 (  0)
%%%                             1963 (  2)     1974 (127)     1985 (  2)
%%%                             1964 (  2)     1975 (107)     1986 (  0)
%%%                             1965 (  1)     1976 ( 97)     1987 (  0)
%%%                             1966 (  2)     1977 (117)     1988 (  0)
%%%                             1967 (  1)     1978 (118)     1989 (  0)
%%%                             1968 (  1)     1979 ( 78)     1990 (  2)
%%%                             1969 (  3)     1980 (  1)     1991 (  4)
%%%                             1970 (157)     1981 (  2)     1992 (  1)
%%%                             1971 (104)     1982 (  1)
%%%
%%%                             Article:       1252
%%%                             Book:             2
%%%                             InProceedings:    1
%%%                             Manual:           1
%%%                             MastersThesis:    1
%%%                             PhdThesis:        1
%%%
%%%                             Total entries: 1258
%%%
%%%                        The size of the original cacm.bib file
%%%                        covering 1958--1996 became too large (about
%%%                        4000 entries) for BibTeX and TeX to handle,
%%%                        so at version 1.44, it was split into
%%%                        cacm1950.bib, cacm1960.bib, cacm1970.bib,
%%%                        cacm1980.bib, and cacm1990.bib, each covering
%%%                        the decade starting with the year embedded in
%%%                        the filename.  Version numbers for these
%%%                        files begin at 2.00.
%%%
%%%                        Volumes from the 1990s average more than 200
%%%                        articles yearly, so a complete bibliography
%%%                        for this journal could contain more than 6000
%%%                        entries from 1958 to 2000.
%%%
%%%                        These bibliographies also include ACM
%%%                        Algorithms 1--492.  For Algorithms 493--686,
%%%                        including Algorithm 568, published in ACM
%%%                        Transactions on Programming Languages and
%%%                        Systems (TOPLAS), see the companion
%%%                        bibliographies, toms.bib and toplas.bib.
%%%
%%%                        All published Remarks and Corrigenda are
%%%                        cross-referenced in both directions, so
%%%                        that citing a paper will automatically
%%%                        generate citations for those Remarks and
%%%                        Corrigenda.  Cross-referenced entries are
%%%                        duplicated in cacm19*.bib and toms.bib, so
%%%                        that each is completely self-contained.
%%%
%%%                        Source code for ACM Algorithms from 380
%%%                        onwards, with some omissions, is available
%%%                        via the Netlib service at
%%%                        http://netlib.ornl.gov/, and
%%%                        ftp://netlib.bell-labs.com/netlib/toms.
%%%
%%%                        There is a World Wide Web search facility
%%%                        for articles published in this journal from
%%%                        1959 to 1979 at
%%%                        http://ciir.cs.umass.edu/cgi-bin/web_query_form/public/cacm2.1.
%%%
%%%                        The initial draft of entries for 1981 --
%%%                        1990 was extracted from the ACM Computing
%%%                        Archive CD ROM for the 1980s, with manual
%%%                        corrections and additions.  Additions were
%%%                        then made from all of the bibliographies in
%%%                        the TeX User Group collection, from
%%%                        bibliographies in the author's personal
%%%                        files, from the Compendex database
%%%                        (1970--1979), from the IEEE INSPEC database
%%%                        (1970--1979), from tables of contents
%%%                        information at http://www.acm.org/pubs/cacm/,
%%%                        from Zentralblatt fur Mathematik Mathematics
%%%                        Abstracts at
%%%                        http://www.emis.de/cgi-bin/MATH/, from
%%%                        bibliographies at Internet host
%%%                        netlib.bell-labs.com, and from the computer
%%%                        science bibliography collection on
%%%                        ftp.ira.uka.de in /pub/bibliography to which
%%%                        many people of have contributed.  The
%%%                        snapshot of this collection was taken on
%%%                        5-May-1994, and it consists of 441 BibTeX
%%%                        files, 2,672,675 lines, 205,289 entries, and
%%%                        6,375 <at>String{} abbreviations, occupying
%%%                        94.8MB of disk space.
%%%
%%%                        Numerous errors in the sources noted above
%%%                        have been corrected.   Spelling has been
%%%                        verified with the UNIX spell and GNU ispell
%%%                        programs using the exception dictionary
%%%                        stored in the companion file with extension
%%%                        .sok.
%%%
%%%                        BibTeX citation tags are uniformly chosen
%%%                        as name:year:abbrev, where name is the
%%%                        family name of the first author or editor,
%%%                        year is a 4-digit number, and abbrev is a
%%%                        3-letter condensation of important title
%%%                        words. Citation tags were automatically
%%%                        generated by software developed for the
%%%                        BibNet Project.
%%%
%%%                        In this bibliography, entries are sorted in
%%%                        publication order within each journal,
%%%                        using bibsort -byvolume.
%%%
%%%                        The checksum field above contains a CRC-16
%%%                        checksum as the first value, followed by the
%%%                        equivalent of the standard UNIX wc (word
%%%                        count) utility output of lines, words, and
%%%                        characters.  This is produced by Robert
%%%                        Solovay's checksum utility.",
%%%  }
%%% ====================================================================

@Preamble{"\input bibnames.sty " # "\input path.sty " # "\def \TM {${}^{\sc TM}$} " # "\hyphenation{ al-pha-mer-ic Balz-er Blom-quist Bo-ta-fo-go Bran-din Brans-comb Bu-tera Chris-tina Christ-o-fi-des Col-lins Cor-dell data-base econ-omies Fletch-er flow-chart flow-charts Fry-styk ge-dank-en Gar-fink-el Ge-ha-ni Glush-ko Goud-reau Gua-dan-go Hari-di Haw-thorn Hem-men-ding-er Hor-o-witz Hour-vitz Hirsch-berg Ike-da Ka-chi-tvi-chyan-u-kul Kat-ze-nel-son Kitz-miller Ko-ba-yashi Le-Me-tay-er Ken-ne-dy Law-rence Mac-kay Mai-net-ti Mar-sa-glia Max-well Mer-ner Mo-ran-di Na-ray-an New-ell Nich-ols para-digm pat-ent-ed Phi-lo-kyp-rou Prep-a-ra-ta pseu-do-chain-ing QUIK-SCRIPT Rad-e-mach-er re-eval-u-a-tion re-wind Ros-witha Scheu-er-mann Schwach-heim Schob-bens Schon-berg Sho-sha-ni Si-tha-ra-ma Skwa-rec-ki Streck-er Strin-gi-ni Tes-ler Te-zu-ka Teu-ho-la Till-quist Town-send Tsi-chri-tzis Tur-ski Vuille-min Wald-ing-er Za-bo-row-ski Za-mora }"}

%=======================================================================
% Acknowledgement abbreviations:

@String{ack-nhfb = "Nelson H. F. Beebe, Center for Scientific Computing, Department of Mathematics, University of Utah, Salt Lake City, UT 84112, USA, Tel: +1 801 581 5254, FAX: +1 801 581 4148, e-mail: \path|beebe@math.utah.edu|"}

@String{ack-nj = "Norbert Juffa, 2445 Mission College Blvd. Santa Clara, CA 95054 USA email: \path=norbert@iit.com="}

%=======================================================================
% Journal abbreviations:

@String{j-CACM = "Communications of the ACM"}

@String{j-COMP-SURV = "Computing Surveys"}

@String{j-J-ACM = "Journal of the ACM"}

@String{j-MANAGEMENT-SCIENCE = "Management Science"}

@String{j-SIAM-J-COMPUT = "SIAM Journal of Computing"}

@String{j-SPE =  "Software --- Practice and Experience"}

@String{j-TOMS = "ACM Transactions on Mathematical Software"}

%=======================================================================
% Publisher abbreviations:

@String{pub-ANSI = "American National Standards Institute"}

@String{pub-ANSI:adr = "1430 Broadway, New York, NY 10018, USA"}

@String{pub-AW = "Ad{\-d}i{\-s}on-Wes{\-l}ey"}

@String{pub-AW:adr = "Reading, MA, USA"}

@String{pub-SUCSLI = "Stanford University Center for the Study of Language and Information"}

@String{pub-SUCSLI:adr = "Stanford, CA, USA"}

@String{pub-SV = "Spring{\-}er-Ver{\-}lag"}

@String{pub-SV:adr = "Berlin, Germany~/ Heidelberg, Germany~/ London, UK~/ etc."}

%=======================================================================
% Bibliography entries (cross-references in notes necessitate
% inclusion of a few additional entries published elsewhere):

@Article{Herndon:1961:AAS,
  author =       "J. R. Herndon",
  title =        "{ACM} Algorithm 49: Spherical {Neumann} Function",
  journal =      j-CACM,
  volume =       "4",
  number =       "4",
  pages =        "179",
  month =        apr,
  year =         "1961",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Thu Sep 08 09:47:50 1994",
  note =         "See also \cite{Coleman:1978:RAS}.",
}

@Article{Merner:1962:AAC,
  author =       "J. N. Merner",
  title =        "{ACM} Algorithm 149: Complete Elliptic Integral",
  journal =      j-CACM,
  volume =       "5",
  number =       "12",
  pages =        "605",
  month =        dec,
  year =         "1962",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Thu Sep 08 09:47:50 1994",
  note =         "See also \cite{Skovgaard:1978:RCE}.",
}

@Article{Ludwig:1963:AAI,
  author =       "O. G. Ludwig",
  title =        "{ACM} Algorithm 179: Incomplete Beta Ratio",
  journal =      j-CACM,
  volume =       "6",
  number =       "6",
  pages =        "314",
  month =        jun,
  year =         "1963",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Thu Sep 08 09:47:50 1994",
  note =         "See also \cite{Pike:1976:RIB}.",
}

@Article{Kase:1963:AAT,
  author =       "R. H. Kase",
  title =        "{ACM} Algorithm 219: Topological Ordering for {Pert} Networks",
  journal =      j-CACM,
  volume =       "6",
  number =       "12",
  pages =        "738--739",
  month =        dec,
  year =         "1963",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Thu Sep 08 09:47:51 1994",
  note =         "See also \cite{Tenney:1977:RAT}.",
}

@Article{Gautschi:1964:AAB,
  author =       "W. Gautschi",
  title =        "{ACM} Algorithm 236: {Bessel} Functions of the First Kind",
  journal =      j-CACM,
  volume =       "7",
  number =       "8",
  pages =        "479--480",
  month =        aug,
  year =         "1964",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Thu Sep 08 09:47:54 1994",
  note =         "See also \cite{Skovgaard:1975:RBF}.",
}

@Article{Boothroyd:1964:AAG,
  author =       "J. Boothroyd",
  title =        "{ACM} Algorithm 246: Graycode",
  journal =      j-CACM,
  volume =       "7",
  number =       "12",
  pages =        "701",
  month =        dec,
  year =         "1964",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Thu Sep 08 09:47:54 1994",
  note =         "See also \cite{Misra:1975:RG,Er:1985:RG}.",
}

@Article{Gautschi:1965:AAL,
  author =       "W. Gautschi",
  title =        "{ACM} Algorithm 259: {Legendre} Functions for Arguments Larger than One",
  journal =      j-CACM,
  volume =       "8",
  number =       "8",
  pages =        "488--492",
  month =        aug,
  year =         "1965",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Thu Sep 08 09:47:54 1994",
  note =         "See also \cite{Jansen:1977:RLF}.",
}

@Article{Fletcher:1966:AAI,
  author =       "W. Fletcher",
  title =        "{ACM} Algorithm 284: Interchange of Two Blocks of Data",
  journal =      j-CACM,
  volume =       "9",
  number =       "5",
  pages =        "326",
  month =        may,
  year =         "1966",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Thu Sep 08 09:47:54 1994",
  note =         "See also \cite{Ito:1976:RIT}.",
}

@Article{Hill:1967:AAC,
  author =       "I. D. Hill and M. C. Pike",
  title =        "{ACM} Algorithm 299: Chi-Squared Integral",
  journal =      j-CACM,
  volume =       "10",
  number =       "4",
  pages =        "243--244",
  month =        apr,
  year =         "1967",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Thu Sep 08 09:47:54 1994",
  note =         "See also \cite{Lozy:1976:RCS,Hill:1985:RCS}.",
}

@Article{Dijkstra:1968:GSC,
  author =       "Edsger Wybe Dijkstra",
  title =        "Go to statement considered harmful",
  journal =      j-CACM,
  volume =       "11",
  number =       "3",
  pages =        "147--148",
  month =        mar,
  year =         "1968",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  note =         "This paper inspired scores of others, published mainly in SIGPLAN Notices up to the mid-1980s. The best-known is \cite{Knuth:1974:SPG}.",
}

@Article{ANSI:1969:CFS,
  author =       "{ANSI Subcommittee X3J3}",
  title =        "Clarification of {Fortran} Standards --- Initial Progress",
  journal =      j-CACM,
  volume =       "12",
  number =       "5",
  pages =        "289--294",
  month =        may,
  year =         "1969",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Mon Aug 29 18:26:25 1994",
  note =         "See also \cite{ANSI:1966:AF}.",
  acknowledgement = ack-nhfb,
}

@Article{Wirth:1969:MMC,
  author =       "N. Wirth",
  title =        "On Multiprogramming, Machine Coding, and Computer Organization",
  journal =      j-CACM,
  volume =       "12",
  number =       "9",
  pages =        "489--498",
  month =        sep,
  year =         "1969",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Fri Jan 17 18:23:22 1997",
  note =         "See corrigendum \cite{Wirth:1970:CMM}.",
}

@Article{Lum:1970:MAR,
  author =       "V. Y. Lum",
  title =        "Multi-Attribute Retrieval with Combined Indexes",
  journal =      j-CACM,
  volume =       "1",
  number =       "11",
  pages =        "660--665",
  month =        nov,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  annote =       "Construction of combined indexes with formulas for number needed.",
}

@Article{Lowe:1970:ASC,
  author =       "T. C. Lowe",
  title =        "Automatic segmentation of cyclic program structures based on connectivity and processor timing",
  journal =      j-CACM,
  volume =       "13",
  number =       "1",
  pages =        "3--6",
  month =        jan,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150C (Compilers, interpreters and other processors)",
  corpsource =   "Informatics Inc., Bethesda, MD, USA",
  keywords =     "input-output programs; multiprogramming; program processors; time-sharing programs",
}

@Article{Gautschi:1970:RCC,
  author =       "Walter Gautschi and Bruce J. Klein",
  title =        "Recursive computation of certain derivatives --- {A} study of error propagation",
  journal =      j-CACM,
  volume =       "13",
  number =       "1",
  pages =        "7--9",
  month =        jan,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65Q05",
  MRnumber =     "46 1115",
  mrreviewer =   "D. F. Mayers",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  abstract =     "A brief study is made of the propagation of errors in linear first-order difference equations. The recursive computation of successive derivatives of $(e^x)/x$ and $(\cos x)/x$ is considered as an illustration.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4110 (Error analysis in numerical methods)",
  corpsource =   "Purdue Univ., Lafayette, IN, USA",
  keywords =     "difference equations; error analysis; error propagation; recursive computation; successive derivatives",
}

@Article{Mullery:1970:PAM,
  author =       "A. P. Mullery and G. C. Driscoll",
  title =        "A processor allocation method for time-sharing",
  journal =      j-CACM,
  volume =       "13",
  number =       "1",
  pages =        "10--14",
  month =        jan,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150J (Operating systems)",
  corpsource =   "IBM, Thomas J. Watson Res. Center Yorktown Heights, NY, USA",
  keywords =     "storage allocation; time-sharing programs",
}

@Article{Simmons:1970:NLQ,
  author =       "R. F. Simmons",
  title =        "Natural Language Question-Answering Systems: 1969",
  journal =      j-CACM,
  volume =       "13",
  number =       "1",
  pages =        "15--30",
  month =        jan,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C7820 (Humanities computing)",
  corpsource =   "Univ. Texas, Austin, TX, USA",
  keywords =     "artificial intelligence; computational linguistics; language; translation and linguistics",
}

@Article{Irons:1970:EEL,
  author =       "E. T. Irons",
  title =        "Experience with an extensible language",
  journal =      j-CACM,
  volume =       "13",
  number =       "1",
  pages =        "31--40",
  month =        jan,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140D (High level languages)",
  corpsource =   "Inst. Defense Analyses Princeton, NJ, USA",
  keywords =     "procedure oriented languages",
}

@Article{Montanari:1970:NML,
  author =       "U. Montanari",
  title =        "A note on minimal length polygonal approximation to a digitized contour",
  journal =      j-CACM,
  volume =       "13",
  number =       "1",
  pages =        "41--47",
  month =        jan,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65.20",
  MRnumber =     "44\#2311",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  abstract =     "A method for extracting a smooth polygonal contour from a digitized image is illustrated. The ordered sequence of contour points and the connection graph of the image are first obtained by a modified Ledley algorithm in one image scan. A minimal perimeter polygon subjected to specified constraints is then chosen as the approximating contour. The determination of the minimal polygon can be reduced to a nonlinear programming problem, solved by an algorithm which takes into account the weak bonds between variables. Some examples are presented, and the corresponding computing times are listed.",
  acknowledgement = ack-nhfb,
  classcodes =   "B6140C (Optical information, image and video signal processing); C1250 (Pattern recognition)",
  corpsource =   "Consiglio Nazionale delle Richerche, Pisa, Italy",
  keywords =     "connection tree; digitized image; minimal polygon; nonlinear programming; optimal approximation; pattern recognition",
}

@Article{Stehfest:1970:AAN,
  author =       "Harald Stehfest",
  title =        "{ACM} Algorithm 368: Numerical Inversion of {Laplace} Transforms",
  journal =      j-CACM,
  volume =       "13",
  number =       "1",
  pages =        "47--49",
  month =        jan,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7300 (Natural sciences computing)",
  corpsource =   "J. W. Goethe Univ. Frankfurt am Main, West Germany",
  keywords =     "Laplace transforms; subroutines",
}

@Article{Schaffer:1970:AAG,
  author =       "H. E. Schaffer",
  title =        "{ACM} Algorithm 369: Generator of Random Numbers Satisfying the {Poisson} Distribution",
  journal =      j-CACM,
  volume =       "13",
  number =       "1",
  pages =        "49--49",
  month =        jan,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7890 (Other special applications of computing)",
  corpsource =   "North Carolina State Univ., Raleigh, NC, USA",
  keywords =     "random number generation; subroutines",
}

@Article{Butler:1970:AAG,
  author =       "E. L. Butler",
  title =        "{ACM} Algorithm 370: General Random Number Generator",
  journal =      j-CACM,
  volume =       "13",
  number =       "1",
  pages =        "49--52",
  month =        jan,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7890 (Other special applications of computing)",
  corpsource =   "Texas A and M Univ., College Station, TX, USA",
  keywords =     "random number generation; subroutines",
}

@Article{McKay:1970:AAP,
  author =       "J. K. S. McKay",
  title =        "{ACM} Algorithm 371: Partitions in Natural Order",
  journal =      j-CACM,
  volume =       "13",
  number =       "1",
  pages =        "52--52",
  month =        jan,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7300 (Natural sciences computing)",
  corpsource =   "California Inst. Technol. Pasadena, CA, USA",
  keywords =     "number theory; subroutines",
}

@Article{Dunham:1970:AAA,
  author =       "K. B. Dunham",
  title =        "{ACM} Algorithm 372: An Algorithm to Produce Complex Primes {CSIEVE}",
  journal =      j-CACM,
  volume =       "13",
  number =       "1",
  pages =        "52--54",
  month =        jan,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7300 (Natural sciences computing)",
  corpsource =   "Georgia Inst. Technol., Atlanta, GA, USA",
  keywords =     "number theory; subroutines",
}

@Article{Griffin:1970:RME,
  author =       "R. Griffin and K. A. Redich",
  title =        "Remark on {``Algorithm 347 [{M1}]: An Efficient Algorithm for Sorting with Minimal Storage'', by R. C. Singleton}",
  journal =      j-CACM,
  volume =       "13",
  number =       "1",
  pages =        "54--54",
  month =        jan,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Fri Jan 17 18:26:41 1997",
  keywords =     "digital computer sorting; minimal storage sorting; sorting",
}

@Article{Anonymous:1970:RCD,
  author =       "Anonymous",
  title =        "Representation for calendar date for machine-to-machine data interchange",
  journal =      j-CACM,
  volume =       "13",
  number =       "1",
  pages =        "55--55",
  month =        jan,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  keywords =     "codes; standards",
}

@Article{Anonymous:1970:IRP,
  author =       "Anonymous",
  title =        "Interchange rolls of perforated tape for information interchange",
  journal =      j-CACM,
  volume =       "13",
  number =       "1",
  pages =        "56--56",
  month =        jan,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C5320Z (Other digital storage); C5560 (Data preparation equipment); C7250 (Information storage and retrieval)",
  keywords =     "digital storage; equipment; information retrieval; punched tape; standards",
}

@Article{Payne:1970:FTP,
  author =       "W. H. Payne",
  title =        "{Fortran Tausworthe} pseudorandom number generator",
  journal =      j-CACM,
  volume =       "13",
  number =       "1",
  pages =        "57--57",
  month =        jan,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7890 (Other special applications of computing)",
  corpsource =   "Washington State Univ. Pullman, WA, USA",
  keywords =     "random number generation",
}

@Article{Hsiao:1970:FSI,
  author =       "David K. Hsiao and Frank D. Harary",
  title =        "A Formal System for Information Retrieval from Files",
  journal =      j-CACM,
  volume =       "13",
  number =       "2",
  pages =        "67--73",
  month =        feb,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  note =         "See corrigenda \cite{Hsiao:1970:CFS}.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C7250 (Information storage and retrieval)",
  corpsource =   "Univ. Pennsylvania, Philadelphia, PA, USA",
  keywords =     "file organisation; information retrieval",
}

@Article{vonGlaserfeld:1970:MPH,
  author =       "E. {von Glaserfeld} and P. P. Pisani",
  title =        "The multistore parser for hierarchical syntactic structures",
  journal =      j-CACM,
  volume =       "13",
  number =       "2",
  pages =        "74--82",
  month =        feb,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic)",
  corpsource =   "Univ. Georgia, Athens, GA, USA",
  keywords =     "computational linguistics",
}

@Article{Vere:1970:TE,
  author =       "Steven Vere",
  title =        "Translation equations",
  journal =      j-CACM,
  volume =       "13",
  number =       "2",
  pages =        "83--89",
  month =        feb,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A30",
  MRnumber =     "45 4925",
  mrreviewer =   "H. Maurer",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "See errata \cite{Vere:1970:TEE},",
  abstract =     "Input limited transduction expressions, or translation equations, are used to describe the syntax and left-context sensitive semantics for context-free languages. A formal procedure is given for deriving from a set of translation equations the specifications for a pushdown translator. The translator consists of Mealy form finite-state automata interacting by means of a pushdown stack. Within the framework described string recognition and parsing may be treated as special cases of the translation problem.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic)",
  corpsource =   "Univ. California, Los Angeles, CA, USA",
  keywords =     "automata; computational linguistics; context-free languages; finite state automata; formal languages; meta-compilers; parsing; pushdown transducer; recognizers; regular expression; syntax directed compilers; transduction expression; translation; Turing machines",
}

@Article{Morgan:1970:SCSa,
  author =       "H. L. Morgan",
  title =        "Spelling correction in systems programs",
  journal =      j-CACM,
  volume =       "13",
  number =       "2",
  pages =        "90--94",
  month =        feb,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150G (Diagnostic, testing, debugging and evaluating systems)",
  corpsource =   "Cornell Univ., Ithaca, NY, USA",
  keywords =     "program debugging; subroutines",
  xxnote =       "Check issue number: 2 or 3??",
}

@Article{Earley:1970:ECF,
  author =       "J. Earley",
  title =        "An Efficient Context-Free Parsing Algorithm",
  journal =      j-CACM,
  volume =       "13",
  number =       "2",
  pages =        "94--102",
  month =        feb,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Parallel/Multi.bib",
  abstract =     "A parsing algorithm which seems to be the most efficient general context-free algorithm known is described. It is similar to both Knuth's LR(k) algorithm and the familiar top-down algorithm. It has a time bound proportional to $n^3$ (where $n$ is the length of the string being parsed) in general; it has a $n^2$ bound for unambiguous grammars; and it runs in linear time on a large class of grammars, which seems to include most practical context-free programming language grammars. In an empirical comparison it appears to be superior to the top-down and bottom-up algorithms studied by Griffiths and Petrick.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic); C6150C (Compilers, interpreters and other processors)",
  corpsource =   "Univ. California, Berkeley, CA, USA",
  keywords =     "compilers; computational complexity; context-free grammar; parsing; syntax analysis",
  keywords =     "computational linguistics; program compilers",
}

@Article{Radke:1970:UQR,
  author =       "C. E. Radke",
  title =        "The Use of Quadratic Residue Research",
  journal =      j-CACM,
  volume =       "13",
  number =       "2",
  pages =        "103--105",
  month =        feb,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  corpsource =   "IBM, Endicott, NY, USA",
  keywords =     "data handling; programming",
}

@Article{Jones:1970:VSA,
  author =       "B. Jones",
  title =        "A Variation on Sorting by Address Calculation",
  journal =      j-CACM,
  volume =       "13",
  number =       "2",
  pages =        "105--107",
  month =        feb,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  corpsource =   "Martin Marietta Corp., Orlando, FL, USA",
  keywords =     "sorting",
}

@Article{Bell:1970:QQM,
  author =       "James R. Bell",
  title =        "The Quadratic Quotient Method: {A} Hash Code Eliminating Secondary Clustering",
  journal =      j-CACM,
  volume =       "13",
  number =       "2",
  pages =        "107--109",
  month =        feb,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  corpsource =   "Digital Equipment Corp., Maynard, MA, USA",
  keywords =     "table lookup",
}

@Article{Ness:1970:CEG,
  author =       "D. N. Ness and R. S. Green and W. A. Martin and G. A. Moulton",
  title =        "Computer education in a graduate school of management",
  journal =      j-CACM,
  volume =       "13",
  number =       "2",
  pages =        "110--114, 19",
  month =        feb,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C0220 (Computing education and training)",
  corpsource =   "M.I.T., Cambridge, MA, USA",
  keywords =     "education; management; simulation",
}

@Article{Robbins:1970:ICS,
  author =       "M. F. Robbins and J. D. Beyer",
  title =        "An interactive computer system using graphical flowchart input",
  journal =      j-CACM,
  volume =       "13",
  number =       "2",
  pages =        "115--119",
  month =        feb,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7400 (Engineering computing); C5540 (Terminals and graphic displays)",
  corpsource =   "Bell Telephone Labs. Inc., Holmdel, NJ, USA",
  keywords =     "applications of computers; computers; control system synthesis; electrical engineering; engineering applications of; online operation; sampled data systems; simulation",
}

@Article{White:1970:AAN,
  author =       "J. S. White",
  title =        "{ACM} Algorithm 373: Number of Doubly Restricted Partitions",
  journal =      j-CACM,
  volume =       "13",
  number =       "2",
  pages =        "120--120",
  month =        feb,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7300 (Natural sciences computing)",
  corpsource =   "Univ. Minnesota, Minneapolis, MN, USA",
  keywords =     "combinatorial mathematics; subroutines",
}

@Article{White:1970:AAR,
  author =       "J. S. White",
  title =        "{ACM} Algorithm 374: Restricted Partition Generator",
  journal =      j-CACM,
  volume =       "13",
  number =       "2",
  pages =        "120--120",
  month =        feb,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7300 (Natural sciences computing)",
  corpsource =   "Univ. Minnesota, Minneapolis, MN, USA",
  keywords =     "combinatorial mathematics; subroutines",
}

@Article{Spath:1970:AAF,
  author =       "H. Sp{\"{a}}th",
  title =        "{ACM} Algorithm 375: Fitting Data to One Exponential",
  journal =      j-CACM,
  volume =       "13",
  number =       "2",
  pages =        "120--121",
  month =        feb,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Thu Sep 08 09:33:48 1994",
}

@Article{Spath:1970:FDO,
  author =       "H. Spath",
  title =        "Fitting data to one exponential",
  journal =      j-CACM,
  volume =       "13",
  number =       "2",
  pages =        "120--121",
  month =        feb,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4150 (Nonlinear and functional equations); C7300 (Natural sciences computing)",
  corpsource =   "Inst. Neutronenphysik Reaktortechnik, Karlsruhe, West Germany",
  keywords =     "least squares approximations; nonlinear equations; subroutines",
}

@Article{Spath:1970:AAL,
  author =       "H. Sp{\"{a}}th",
  title =        "{ACM} Algorithm 376: Least Squares Fit by {$f(x)=A\cos(Bx+C)$}",
  journal =      j-CACM,
  volume =       "13",
  number =       "2",
  pages =        "121--122",
  month =        feb,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4150 (Nonlinear and functional equations); C7300 (Natural sciences computing)",
  corpsource =   "Inst. Neutronenphysik, Reaktortechnik, Karlsruhe, West Germany",
  keywords =     "least squares approximations; nonlinear equations; subroutines",
}

@Article{Morgan:1970:SCSb,
  author =       "H. L. Morgan",
  title =        "Spelling correction in systems programs",
  journal =      j-CACM,
  volume =       "13",
  number =       "3",
  pages =        "90--94",
  month =        mar,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue May 28 09:49:07 1996",
  abstract =     "Several specialized techniques are shown for efficiently incorporating spelling correction algorithms in to compilers and operating systems. These include the use of syntax and semantics information, the organization of restricted keyword and symbol tables, and the consideration of a limited class of spelling errors. Sample 360 coding for performing spelling correction is presented. By using systems which perform spelling correction, the number of debugging runs per program has been decreased, saving both programmer and machine time.",
  keywords =     "compilers; computer science and automata; debugging; diagnostics; error correction; error detection; lexical analysis systems programming; misspelling; operating systems; spelling correction",
  xxnote =       "Check issue number: 2 or 3??",
}

@Article{Fenichel:1970:PTP,
  author =       "R. R. Fenichel and J. Weizenbaum and J. C. Yochelson",
  title =        "A Program to Teach Programming",
  journal =      j-CACM,
  volume =       "13",
  number =       "3",
  pages =        "141--146",
  month =        mar,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The TEACH system was developed at MIT to ease the cost and improve the results of elementary instruction in programming. To the student, TEACH offers loosely guided experience with a conversational language which was designed with teaching in mind. Faculty involvement is limited. At the heart of the TEACH system is an interactive language which somewhat resembles Joss, but is somewhat more amenable to rational explanation. Surrounding the language processor is a teaching system which presents lessons to the student, supervises his progress, and permits him to exercise his skills. A term of experience with TEACH is discussed. Pedagogically, the system appears to be successful; straightforward reimplementation will make it economically successful as well.",
  acknowledgement = ack-nhfb,
  classcodes =   "C0310 (EDP management); C6150Z (Other systems operation programs)",
  corpsource =   "Massachusetts Inst. Technol., Cambridge, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer applications; computer-assisted learning; computers, programming; education; elementary programming; engineering education; programming; TEACH; UNCL; utility programs",
}

@Article{Slagle:1970:EMT,
  author =       "J. R. Slagle and J. K. Dixon",
  title =        "Experiments with the {M \& N} Tree-Searching Program",
  journal =      j-CACM,
  volume =       "13",
  number =       "3",
  pages =        "147--154, 159",
  month =        mar,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The M \& N procedure is an improvement to the mini-max backing-up procedure widely used in computer programs for game-playing and other purposes. It is based on the principle that it is desirable to have many options when making decisions in the face of uncertainty. The mini-max procedure assigns to a MAX (MIN) node the value of the highest (lowest) valued successor to that node. The M \& N procedure assigns to a MAX (MIN) node some function of the M (N) highest (lowest) valued successors. An M \& N procedure was written in LISP to play the game of kalah, and it was demonstrated that the M \& Nprocedure is significantly superior to the mini-max procedure. The statistical significance of important conclusions is given. Since information on statistical significance has often been lacking in papers on computer experiments in the artificial intelligence field, these experiments can perhaps serve as a model for future work.",
  acknowledgement = ack-nhfb,
  classcodes =   "C1230 (Artificial intelligence)",
  corpsource =   "Education Welfare, Bethesda, MD, USA",
  journalabr =   "Commun ACM",
  keywords =     "arg; artificial intelligence; automata theory; computers; game theory; heuristic programming; optimisation; programming; trees (mathematics)",
}

@Article{Batson:1970:MSS,
  author =       "A. Batson and Shy-Ming M. Ju and D. C. Wood",
  title =        "Measurements of Segment Size",
  journal =      j-CACM,
  volume =       "13",
  number =       "3",
  pages =        "155--159",
  month =        mar,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Distributions of segment sizes measured under routine operating conditions on a computer system which utilizes variable sized segments (the Burroughs B5500) are discussed. The most striking feature of the measurements is the large number of small segments-about 60\% of the segments in use contain less than 40 words. Although the results are certainly not installation independent, and although they are particularly influenced by features of the B5500 ALGOL system, they should be relevant to the design of new computer systems, especially with respect to the organization of paging schemes.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150J (Operating systems)",
  corpsource =   "Univ. Virginia, Charlottesville, VA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computers; dynamic memory management; operating systems; storage allocation",
}

@Article{Watson:1970:ANM,
  author =       "G. A. Watson",
  title =        "On an Algorithm for Nonlinear Minimax Approximation",
  journal =      j-CACM,
  volume =       "13",
  number =       "3",
  pages =        "160--162",
  month =        mar,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "90.50 (65.00)",
  MRnumber =     "44\#3694",
  mrreviewer =   "R. W. Cottle",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Certain nonlinear minimax approximation problems are characterized by properties which permit the application of special algorithms, mainly, based on the exchange algorithms of E. Y. Remes (1934, 1935), for their solution. The application to problems of this type of a general nonlinear algorithm due to M. R. Osborne and G. A. Watson (1969) is considered. Examples are given to illustrate that this algorithm can give satisfactory results and, in particular, can successfully solve problems which lead to difficulties with the more conventional specialist methods.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0260 (Optimisation techniques); C1180 (Optimisation techniques)",
  corpsource =   "Australian Nat. Univ., Canberra, Australia",
  journalabr =   "Commun ACM",
  keywords =     "linear programming; mathematics; minimax approximation; nonlinear approximation; numerical methods; optimisation; THO",
}

@Article{Schweikert:1970:CEI,
  author =       "D. G. Schweikert",
  title =        "A Comparison of Error Improvement Estimates for Adaptive Trapezoid Integration",
  journal =      j-CACM,
  volume =       "13",
  number =       "3",
  pages =        "163--166",
  month =        mar,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65.55",
  MRnumber =     "44\#7751",
  mrreviewer =   "R. E. Barnhill",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Various simple choices of error improvement estimates for the trapezoid rule are studied to demonstrate a comparison procedure which is relatively independent of the profusion of adaptive search and stopping strategies. Comparisons are based on $x^r1$; the inclusion of the noninteger powers makes this more realistic than the usual polynomial based comparison. Behavior near the singularity was found to be the dominant factor, and a new estimate, based on a constant curvature assumption and parametric differences, was considered slightly better than the other choices considered.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4110 (Error analysis in numerical methods); C4160 (Numerical integration and differentiation)",
  corpsource =   "Bell Telephone Labs. Inc., Murray Hill, NJ, USA",
  journalabr =   "Commun ACM",
  keywords =     "adaptive integration; error analysis; error improvement estimate; integration; mathematics; nonpolynomial error criteria; numerical methods; re; trapezoid rule",
}

@Article{Schwarcz:1970:DQA,
  author =       "Robert M. Schwarcz and John F. Burger and Robert F. Simmons",
  title =        "A Deductive Question Answerer for Natural Language Inference",
  journal =      j-CACM,
  volume =       "13",
  number =       "3",
  pages =        "167--183",
  month =        mar,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "The question-answering aspects of the Protosynthex III prototype language processing system are described and exemplified in detail. The system is written in LISP 1. 5 and operates on the Q-32 time-sharing system. The system's data structures and their semantic organization, the deductive question-answering formalism of relational properties and complex-relation-forming operators, and the question-answering procedures which employ these features in their operation are all described and illustrated. Examples of the system's performance and of the limitations of its question-answering capability are presented and discussed. It is shown that the use of semantic information in deductive question answering greatly facilitates the process, and that a top-down procedure which works from question to answer enables effective use to be made of this information.",
  acknowledgement = ack-nhfb,
  annote =       "Deductive inference driven by English: PROTOSYNTHEX III",
  classcodes =   "C7820 (Humanities computing)",
  corpsource =   "System Dev. Corp., Santa Monica, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "artificial intelligence; automata theory; computational linguistics",
  keywords =     "artificial intelligence; computational linguistics; information retrieval; language translation and linguistics",
}

@Article{Cardenas:1970:PLP,
  author =       "A. F. Cardenas and W. J. Karplus",
  title =        "{PDEL}, a Language for Partial Differential Equations",
  journal =      j-CACM,
  volume =       "13",
  number =       "3",
  pages =        "184--191 (or 184--190??)",
  month =        mar,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Conventional computer methods available to solve continuous system problems characterized by partial differential equations are very time-consuming and cumbersome. A convenient, easy to learn and to use, high level problem oriented language to solve and study partial differential equation problems has been designed; a practical translator for the language has also been designed, and a working version of it has been constructed for a significant portion of the language. This Partial Differential Equation Language, PDEL, is outlined, and the highlights of the translator are briefly summarized. PDEL can handle a large variety of fields. Time-dependent and time-independent fields can be defined. Any size of grid can be used to approximate regular and irregular geometries. Linear, nonlinear, uniform and nonuniform fields can be treated.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140D (High level languages)",
  corpsource =   "Univ. California, Los Angeles, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computers; differential equations; mathematics; problem oriented languages",
}

@Article{Levine:1970:AAS,
  author =       "M. J. Levine and S. M. Swanson",
  title =        "{ACM} Algorithm 377: Symbolic Expansion of Algebraic Expressions",
  journal =      j-CACM,
  volume =       "13",
  number =       "3",
  pages =        "191--192",
  month =        mar,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Misc/acm.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C7300 (Natural sciences computing)",
  corpsource =   "Carnegie-Mellon Univ., Pittsburgh, PA, USA",
  keywords =     "algebra; subroutines",
  xxauthor =     "J. L. Levine",
}

@Article{Kailas:1970:AMC,
  author =       "M. V. Kailas",
  title =        "Another method of converting from hexadecimal to decimal",
  journal =      j-CACM,
  volume =       "13",
  number =       "3",
  pages =        "193--193",
  month =        mar,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C5230 (Digital arithmetic methods)",
  keywords =     "digital arithmetic",
}

@Article{Pager:1970:NSP,
  author =       "D. Pager",
  title =        "A number system for the permutations",
  journal =      j-CACM,
  volume =       "13",
  number =       "3",
  pages =        "193--193",
  month =        mar,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C5230 (Digital arithmetic methods)",
  corpsource =   "Univ. Hawaii, Honolulu, HI, USA",
  keywords =     "number theory",
}

@Article{Dempster:1970:CPA,
  author =       "J. R. H. Dempster",
  title =        "Comment on a Paging Anomaly",
  journal =      j-CACM,
  volume =       "13",
  number =       "3",
  pages =        "193--194",
  month =        mar,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4290 (Other computer theory)",
  corpsource =   "Univ. British Columbia, Vancouver, BC, Canada",
  keywords =     "computation theory; demand paging; paging machines; replacement algorithm; storage allocation",
}

@Article{Maurer:1970:NCI,
  author =       "H. A. Maurer",
  title =        "A Note on the Complement of Inherently Ambiguous Context-Free Languages",
  journal =      j-CACM,
  volume =       "13",
  number =       "3",
  pages =        "194--194",
  month =        mar,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic)",
  corpsource =   "Univ. Calgary, Alta., Canada",
  keywords =     "ambiguity; bounded language; Chomsky-language; complement; context-free language; formal languages; inherent ambiguity; phrase structure language; production system; type 2 language",
}

@Article{Hsiao:1970:CFS,
  author =       "D. K. Hsiao and F. D. Harary",
  title =        "Corrigenda: {``A Formal System for Information Retrieval from Files''}",
  journal =      j-CACM,
  volume =       "13",
  number =       "3",
  pages =        "266--266",
  month =        mar,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Dec 26 18:33:42 1995",
  note =         "See \cite{Hsiao:1970:FSI}.",
}

@Article{DeSalvio:1970:CCI,
  author =       "A. J. DeSalvio and J. G. Purdy and J. Rau",
  title =        "Creation and Control of Internal Data Bases Under a {Fortran} Programming Environment",
  journal =      j-CACM,
  volume =       "13",
  number =       "4",
  pages =        "211--215",
  month =        apr,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A method is described for the definition of a user's COMMON structure and the automatic generation of the necessary COMMON, DIMENSION, EQUIVALENCE, and type declarations for each of the user's routines. The definition for the COMMON is contained in an easy to modify form, thus allowing the control of general communications of data between routines. The described system has been implemented on the IBM 7094, CDC 6000 series, and the IBM 360. The method has proved to be invaluable for the definition and control of COMMON in many large-scale programs.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques); C6140D (High level languages)",
  corpsource =   "TRW Systems, Redondo Beach and Sunnyvale, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computers; data handling; data structures; FORTRAN",
}

@Article{Mills:1970:SDP,
  author =       "H. D. Mills",
  title =        "Syntax-Directed Documentation for {PL360}",
  journal =      j-CACM,
  volume =       "13",
  number =       "4",
  pages =        "216--222",
  month =        apr,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The language PL360, together with its phrase structure grammar, is used as a concrete basis for illustrating an idea called syntax-directed documentation. This idea is-to use the phrase structure of a program to define the structure of a formal documentation for that program; to use the syntactic types and identifiers in the resulting structure to trigger the automatic formation of questions to the programmer, whose answers will become part of that documentation; and to provide automatic storage and retrieval facilities so that other programmers who want to understand or modify the index in various ways by syntactic types and objects. A small PL360 program, already found in the literature, is worked out as an example.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140D (High level languages); C6150G (Diagnostic, testing, debugging and evaluating systems)",
  corpsource =   "IBM, Gaithersburg, MD, USA",
  journalabr =   "Commun ACM",
  keywords =     "computers; computers, programming; documentation; procedure oriented languages; Program and system",
}

@Article{Bayer:1970:SCC,
  author =       "Rudolf Bayer and Christoph Witzgall",
  title =        "Some Complete Calculi for Matrices",
  journal =      j-CACM,
  volume =       "13",
  number =       "4",
  pages =        "223--237",
  month =        apr,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/reynolds.bib",
  abstract =     "A matrix calculus is introduced with the intention of developing data structures suitable for a high level algorithmic language for mathematical programming. It is shown how the special structure of matrices can be described and utilized for efficient computing by saving memory space and superfluous operations. Sequences of matrices (and sequences of sequences of matrices) are considered, and matrix operators are extended to sequence operators and cumulative operators. Algorithms are given which use symbol manipulation of matrix expressions so as to find the forms best suited for computation. These forms are called normalforms. Several completeness results are obtained in the sense that for each expression an equivalent expression in normal form can be found within a specified calculus.",
  acknowledgement = ack-nhfb,
  checked =      "29 June 1993",
  classcodes =   "B0260 (Optimisation techniques); C1180 (Optimisation techniques)",
  corpsource =   "Boeing Sci. Res. Labs., Seattle, WA, USA",
  journalabr =   "Commun ACM",
  keywords =     "algorithmic languages; computers; computers, programming; data structures; mathematical; mathematics; matrix algebra; programming",
}

@Article{BrinchHansen:1970:NMS,
  author =       "P. {Brinch Hansen}",
  title =        "The Nucleus of a Multiprogramming System",
  journal =      j-CACM,
  volume =       "13",
  number =       "4",
  pages =        "238--241, 250",
  month =        apr,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/os.bib",
  abstract =     "The philosophy and structure is described of a multiprogramming system that can be extended with a hierarchy of operating systems to suit diverse requirements of program scheduling and resource allocation. The system nucleus simulates an environment in which program execution and input\slash output are handled uniformly as parallel, cooperating processes. A fundamental set of primitives allows the dynamic creation and control of a hierarchy of processes as well as the communication among them.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150J (Operating systems)",
  corpsource =   "A/S Regnecentralen, Copenhagen, Denmark",
  journalabr =   "Commun ACM",
  keywords =     "computers; computers, time sharing; operating systems",
  keywords =     "multiprogramming",
}

@Article{Eastman:1970:RSP,
  author =       "C. M. Eastman",
  title =        "Representations for Space Planning",
  journal =      j-CACM,
  volume =       "13",
  number =       "4",
  pages =        "242--250",
  month =        apr,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Problems involving the arrangement of objects in two-or three-space where the objective function primarily consists of derivatives of the distance between objects or their arrangement are called space planning problems. The representational requirements for this problem area are defined and compared with current computer graphic languages. Four alternative data structures that allow automated space planning are described and compared.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  corpsource =   "Carnegie-Mellon Univ., Pittsburgh, PA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer-aided design; computers; computers, language; data structures; design automation; graphic methods; graphics",
}

@Article{Pomeranz:1970:CMP,
  author =       "J. E. Pomeranz and R. L. {Weil, Jr.}",
  title =        "The cyclical majority problem",
  journal =      j-CACM,
  volume =       "13",
  number =       "4",
  pages =        "251--254",
  month =        apr,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The unsolved combinational problem of the cyclical majority is presented and some mew, simulated results for 3, 4, 5,\ldots{}, 40 issues and 3, 5, 7,\ldots{}, 37 judges are reported. The method devised for simulating the voting process to estimate the probabilities does not solve the problem, but appears much more efficient than one previous simulation and more accurate than another.",
  acknowledgement = ack-nhfb,
  classcodes =   "C1160 (Combinatorial mathematics)",
  corpsource =   "Univ. Chicago, IL, USA",
  journalabr =   "Commun ACM",
  keywords =     "combinatorial mathematics; computers, simulation; simulation; statistical methods",
}

@Article{Nilson:1970:CSU,
  author =       "E. N. Nilson",
  title =        "Cubic Splines on Uniform Meshes",
  journal =      j-CACM,
  volume =       "13",
  number =       "4",
  pages =        "255--258",
  month =        apr,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65.20",
  MRnumber =     "44\#1189",
  mrreviewer =   "C. A. Hall",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A very simple procedure is presented for constructing cubic splines, periodic or nonperiodic, on uniform meshes. Arcs of two cubics suffice to construct a basis of cardinal splines. An algorithm is given which requires only minimal storage and computation and permits easy trade-off of one against the other. The application of these devices is of fundamental importance in the area of computer graphics where substantial savings in computing time and storage requirements have special significance.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4130 (Interpolation and function approximation)",
  corpsource =   "Pratt and Whitney Aircraft, East Hartford, CT, USA",
  journalabr =   "Commun ACM",
  keywords =     "cardinal splines; computers; mathematics; numerical methods; polynomials; simple spline representation; uniform mesh splines",
}

@Article{Pankiewicz:1970:AAD,
  author =       "W. Pankiewicz",
  title =        "{ACM} Algorithm 378: Discretized {Newton}-like Method for Solving a System of Simultaneous Nonlinear Equations",
  journal =      j-CACM,
  volume =       "13",
  number =       "4",
  pages =        "259--260",
  month =        apr,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4150 (Nonlinear and functional equations); C7300 (Natural sciences computing)",
  keywords =     "nonlinear equations; numerical methods; subroutines",
}

@Article{Lyness:1970:AAS,
  author =       "J. N. Lyness",
  title =        "{ACM} Algorithm 379: {SQUANK (Simpson Quadrature Used Adaptively-Noise Killed)}",
  journal =      j-CACM,
  volume =       "13",
  number =       "4",
  pages =        "260--263 (or 260--262??)",
  month =        apr,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4160 (Numerical integration and differentiation); C7300 (Natural sciences computing)",
  corpsource =   "Argonne Nat. Lab., IL, USA",
  keywords =     "integration; subroutines",
}

@Article{Heess:1970:CPW,
  author =       "W. F. {Heess, Jr.}",
  title =        "Comments on a paper by {Wallace} and {Mason}",
  journal =      j-CACM,
  volume =       "13",
  number =       "4",
  pages =        "264--265",
  month =        apr,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150J (Operating systems)",
  keywords =     "multiprogramming; storage allocation",
}

@Article{Smith:1970:CMU,
  author =       "J. L. Smith",
  title =        "Comment on multiprogramming under a page on demand strategy",
  journal =      j-CACM,
  volume =       "13",
  number =       "4",
  pages =        "265--265",
  month =        apr,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150J (Operating systems)",
  corpsource =   "CSIRO, Canberra City, ACT, Australia",
  keywords =     "multiprogramming",
}

@Article{deVries:1970:CLM,
  author =       "Ronald C. {de Vries}",
  title =        "Comment on {Lawler}'s Multilevel {Boolean} minimization",
  journal =      j-CACM,
  volume =       "13",
  number =       "4",
  pages =        "265--266",
  month =        apr,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68.00 (94.00)",
  MRnumber =     "44\#7801",
  mrreviewer =   "E. Maliszewski",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4230 (Switching theory)",
  corpsource =   "Univ. New Mexico, Albuquerque, NM, USA",
  keywords =     "generalized prime implicants; incompletely specified functions; minimal forms; minimization; multilevel logic design",
  keywords =     "minimisation of switching nets",
}

@Article{Knight:1970:ACP,
  author =       "K. R. Knight",
  title =        "An {Algol} construction for procedures as parameters of procedures",
  journal =      j-CACM,
  volume =       "13",
  number =       "4",
  pages =        "266--266",
  month =        apr,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140D (High level languages)",
  corpsource =   "Univ. Surrey, Guildford, UK",
  keywords =     "ALGOL; programming",
}

@Article{Wirth:1970:CMM,
  author =       "N. Wirth",
  title =        "Corrigenda: {``On Multiprogramming, Machine Coding, and Computer Organization}''",
  journal =      j-CACM,
  volume =       "13",
  number =       "4",
  pages =        "266--266",
  month =        apr,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Fri Jan 17 18:23:53 1997",
  note =         "See \cite{Wirth:1969:MMC}.",
}

@Article{Hodes:1970:PSO,
  author =       "L. Hodes",
  title =        "Programming System for the On-Line Analysis of Biomedical Images",
  journal =      j-CACM,
  volume =       "13",
  number =       "5",
  pages =        "279--283, 286",
  month =        may,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A preliminary description of the software for a computer-display system is given with special emphasis on the man-machine interaction. This system is intended for a wide variety of biomedical applications. As an example, the methods are applied to the karyotyping of chromosomes. The system is separated into four programming tasks-picture transformations, file maintenance, picture structuring, and display management. Picture structuring is considered as the vehicle for man-machine communication. A prototype data format for pictures, called a picture-form, is developed. Structure operators are defined which manipulate picture-forms to produce new picture-forms. Many of the ideas are taken from the symbolic mathematical laboratory at MIT conceived by M. Minsky.",
  acknowledgement = ack-nhfb,
  classcodes =   "C7300 (Natural sciences computing)",
  corpsource =   "Dept. Health, Education Welfare, Bethasda, MD, USA",
  journalabr =   "Commun ACM",
  keywords =     "bioengineering, computer applications; biology; computers; computers, programming; data handling; data reduction and analysis; graphics; image processing; machine systems; man-; medicine; pattern recognition",
}

@Article{Sitton:1970:OGA,
  author =       "G. A. Sitton",
  title =        "Operations on Generalized Arrays with the {Genie} Compiler",
  journal =      j-CACM,
  volume =       "13",
  number =       "5",
  pages =        "284--286",
  month =        may,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Operations on vectors, matrices, and higher dimensional storage arrays are standard features of most compilers today. The elements of such structures are usually restricted to be scalars For many sophisticated applications this restriction can impose cumbersome data representations. An efficient system has been devised and implemented which allows the elements of multidimensional arrays to themselves be multidimensional arrays. This system was developed from a storage structure in which the location, length, and content of each array is described by a codeword which can be interpreted by the system. Codewords may describe arrays containing more codewords, thus providing all needed descriptive information for hyperstructures of any form.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques); C6150C (Compilers, interpreters and other processors)",
  corpsource =   "Rice Univ., Houston, TX, USA",
  journalabr =   "Commun ACM",
  keywords =     "computers; computers, operating systems; data handling; data structures; E P; matrix operations; multidimensional arrays; program compilers; programming",
}

@Article{Vere:1970:TEE,
  author =       "S. Vere",
  title =        "Translation Equations (Errata)",
  journal =      j-CACM,
  volume =       "13",
  number =       "5",
  pages =        "286--286",
  month =        may,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Fri Jan 17 18:28:27 1997",
  note =         "See \cite{Vere:1970:TE}.",
  acknowledgement = ack-nhfb,
}

@Article{Sasser:1970:ASS,
  author =       "W. E. Sasser and D. S. Burdick and D. A. Graham and T. H. Naylor",
  title =        "Application of Sequential Sampling to Simulation. an Example Inventory Model",
  journal =      j-CACM,
  volume =       "13",
  number =       "5",
  pages =        "287--296",
  month =        may,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Four different sequential sampling procedures are applied to the analysis of data generated by a computer simulation experiment with a multi-item inventory model. For each procedure the cost of computer time required to achieve given levels of statistical precision is calculated. Also the cost of computer time using comparable fixed sample size methods is calculated. The computer costs of fixed sample size procedures vs sequential sampling procedures are compared. Details are given for the inventory model and sampling procedures.",
  acknowledgement = ack-nhfb,
  classcodes =   "C1220 (Simulation, modelling and identification)",
  corpsource =   "Duke Univ., Durham, NC, USA",
  journalabr =   "Commun ACM",
  keywords =     "computers; control; data reduction and analysis; industrial management, data processing; inventory control; modelling; sequential sampling; simulation; statistical methods; stock",
}

@Article{Loeckx:1970:ACB,
  author =       "J. Loeckx",
  title =        "Algorithm for the Construction of Bounded-Context Parsers",
  journal =      j-CACM,
  volume =       "13",
  number =       "5",
  pages =        "297--307",
  month =        may,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "An algorithm is described which accepts an arbitrary context-free grammar and constructs a bounded-context parser for it whenever such a parser exists. The definition of a context-free grammar and the working of a bounded-context parser are recalled. The notion of reduction class for a context-free grammar is then introduced and its connection with the structure of a bounded-context parser is indicated. Next, pushdown automata which generate the different reduction classes of a context-free grammar are defined. Finally, the algorithm is described; it essentially carries out an exhaustive study of all possible runs of the pushdown automata generating the reduction classes. The utility of the algorithm is discussed in the light of the experience gained from its use in compiler design.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic)",
  corpsource =   "MBLE Res. Lab., Brussels, Belgium",
  journalabr =   "Commun ACM",
  keywords =     "automata theory; compilers; computational linguistics; computers, language; context-free grammars; formal languages; grammars; low",
}

@Article{Reynolds:1970:GST,
  author =       "John C. Reynolds",
  title =        "{GEDANKEN} --- {A} Simple Typeless Language Based on the Principle of Completeness and the Reference Concept",
  journal =      j-CACM,
  volume =       "13",
  number =       "5",
  pages =        "308--319",
  month =        may,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/reynolds.bib",
  abstract =     "In this experimental programming language, any value which is permitted in some context of the language is permissible in any other meaningful context. In particular, functions and labels are permissible results of functions and values of variables. Assignment and indirect addressing are formalized by introducing values, called references, which in turn possess other values. The assignment operation always affects the relation between some reference and its values. All composed data structures are treated as functions. Type declarations are not permitted. Any data structure may be implicit; i.e., it may be specified by giving an arbitrary algorithm for computing or accessing its components. The existence of label variables permits the construction of coroutines, quasi-parallel processes, and other unorthodox control mechanisms. A variety of programming examples illustrates the generality of the language. Limitations and possible extensions are discussed briefly.",
  acknowledgement = ack-nhfb,
  checked =      "4 September 1990",
  classcodes =   "C6140D (High level languages)",
  corpsource =   "Argonne Nat. Lab., IL, USA",
  journalabr =   "Commun ACM",
  keywords =     "computers; data structures; gedanken; procedure oriented languages; programming languages",
}

@Article{Crespi-Reghizzi:1970:LTG,
  author =       "S. Crespi-Reghizzi and R. Morpurgo",
  title =        "A language for treating graphs",
  journal =      j-CACM,
  volume =       "13",
  number =       "5",
  pages =        "319--323",
  month =        may,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A language for the representation of graphs is described, and the formulation of graph operations such as node and\slash or link deletion or insertion, union, intersection, comparison, and traversal of graphs is given. Graphs are represented by linked lists. The language is syntactically defined as an extension to ALGOL 60, and it is translated into ALGOL by means of a syntax-driven compiler. Application areas for this language are operation research, network problems, control theory, traffic problems, etc.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques); C6140D (High level languages)",
  corpsource =   "Politecnico di Milano, Italy",
  journalabr =   "Commun ACM",
  keywords =     "automatic control, analysis; computers; data handling; data structures; electric circuits, analysis; graph theory; operations research; procedure oriented languages",
}

@Article{Laflin:1970:AAS,
  author =       "S. Laflin and M. A. Brebner",
  title =        "{ACM} Algorithm 380: In-situ Transposition of a Rectangular Matrix",
  journal =      j-CACM,
  volume =       "13",
  number =       "5",
  pages =        "324--326 (or 324--325??)",
  month =        may,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7300 (Natural sciences computing)",
  corpsource =   "Univ. Birmingham, UK",
  keywords =     "matrix algebra; subroutines",
}

@Article{Knop:1970:AAR,
  author =       "R. E. Knop",
  title =        "{ACM} Algorithm 381: Random Vectors Uniform In Solid Angle",
  journal =      j-CACM,
  volume =       "13",
  number =       "5",
  pages =        "326--326",
  month =        may,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7890 (Other special applications of computing)",
  corpsource =   "Rutgers Univ., New Brunswick, NJ, USA",
  keywords =     "random number generation; subroutines",
}

@Article{Elder:1970:FVI,
  author =       "H. A. Elder",
  title =        "On the Feasibility of Voice Input to an On-Line Computer Processing System",
  journal =      j-CACM,
  volume =       "13",
  number =       "6",
  pages =        "339--346",
  month =        jun,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "An on-line digital computer processing system is considered in which an ordinary telephone is the complete terminal device, input to the computer being provided as a sequence of spoken words, and output to the user being audio responses from the machine. The feasibility of implementing such a system with a FORTRAN-like algebraic compiler as the object processor is considered. Details of a specific word recognition program are given. This technique \ldots{} between each input word. Experimental results are presented giving error rates for different experimental conditions as well as the machine resources required to accommodate several users at a time. The results show that at this time it is both economically and logically feasible to handle at least 40 users at a time with an IBM 360\slash 65 computer.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5590 (Other computer peripheral equipment)",
  corpsource =   "Cornell Univ., Ithaca, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer peripheral equipment; computers; computers, input-output device; computers, pattern recognition; data processing; man-machine interfaces; online operation; recognition; speech; speech, recognition; telephony; voice input",
}

@Article{Muthukrishnan:1970:CDT,
  author =       "C. R. Muthukrishnan and V. Rajaraman",
  title =        "On the Conversion of Decision Tables to Computer Programs",
  journal =      j-CACM,
  volume =       "13",
  number =       "6",
  pages =        "347--351",
  month =        jun,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The use of execution time diagnostics in pinpointing ambiguities in decision tables is discussed. It is pointed out that any attempt at resolving ambiguities at compile time will, in general, be impossible. It is shown that, as a consequence, three methods of converting decision tables to programs are inadequate in regard to ambiguity detection. Two algorithms for programming decision tables whose merits are simplicity of implementation and detection of ambiguities at execution time are presented. The first algorithm is for limited entry decision tables and clarifies the importance of proper coding of the information in the decision table. The second algorithm programs a mixed entry decision table directly without going through the intermediate step of conversion to a limited entry form, thereby resulting in storage economy. A comparison of the algorithms and others proposed in the literature is made. Some features of a decision table to FORTRAN IV translator developed for the IBM 7044 are given.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6100 (Software techniques and systems)",
  corpsource =   "Indian Inst. Technol., Kanpur, India",
  journalabr =   "Commun ACM",
  keywords =     "computers; decision tables; operations research; programming",
}

@Article{Grimes:1970:SRC,
  author =       "J. E. Grimes",
  title =        "Scheduling to Reduce Conflict in Meetings",
  journal =      j-CACM,
  volume =       "13",
  number =       "6",
  pages =        "351--352",
  month =        jun,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Conflicts in scheduling can be treated as defining an undirected linear graph independently of the relation of the activities in conflict to additional constraints of time and space. Each connected component of such a graph, which can be found by an algorithm described by S. C. Gotlieb and D. C. Corneil, corresponds to a set of events that must be scheduled at different times. Applications are discussed in scheduling the presentation of papers at meetings and scheduling examinations.",
  acknowledgement = ack-nhfb,
  classcodes =   "C1160 (Combinatorial mathematics)",
  corpsource =   "Cornell Univ., Ithaca, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "co; computers; graph theory; programming; undirected linear graphs",
}

@Article{Frantz:1970:PPA,
  author =       "D. G. Frantz",
  title =        "A {PL\slash} 1 program to assist the comparative linguist",
  journal =      j-CACM,
  volume =       "13",
  number =       "6",
  pages =        "353--356",
  month =        jun,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7820 (Humanities computing)",
  corpsource =   "Univ. Alberta, Arrowwood, Alta., Canada",
  keywords =     "language translation and linguistics",
}

@Article{Damerau:1970:APC,
  author =       "F. J. Damerau",
  title =        "Automatic Parsing for Content Analysis",
  journal =      j-CACM,
  volume =       "13",
  number =       "6",
  pages =        "356--360",
  month =        jun,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Although automatic syntactic and semantic analysis is not yet possible for all of an unrestricted natural language text, some applications, of which content analysis is one, do not have such a stringent coverage requirement. Preliminary studies show that the Harvard Syntactic Analyzer can produce correct and unambiguous identification of the subject and object of certain verbs for approximately half of the relevant occurrences. This provides a degree of coverage for content analysis variables which compares favorably to manual methods, in which only a sample of the total available text is normally processed.",
  acknowledgement = ack-nhfb,
  classcodes =   "C7820 (Humanities computing)",
  corpsource =   "IBM, Yorktown Heights, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "computers, data processing; content analysis; E L; information storage and retrie; language translation and linguistics; linguistics; natural language processing; syntactic analysis",
}

@Article{Linz:1970:AFP,
  author =       "Peter Linz",
  title =        "Accurate Floating-Point Summation",
  journal =      j-CACM,
  volume =       "13",
  number =       "6",
  pages =        "361--362",
  month =        jun,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65.25",
  MRnumber =     "44\#3468",
  mrreviewer =   "R. P. Brent",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; garbo.uwasa.fi:/pc/doc-soft/fpbiblio.txt and ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1970.bib",
  abstract =     "This paper describes an alternate method for summing a set of floating-point numbers. Comparison of the error bound for this method with that of the standard summation method shows that it is considerably less sensitive to propagation of round-off error.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5230 (Digital arithmetic methods)",
  corpsource =   "New York Univ., NY, USA",
  descriptors =  "Simulation; statistics; numeric calculation;",
  journalabr =   "Commun ACM",
  keywords =     "computers, data processing; floating point arithmetic; floating-point addition; mathematics; numerical methods; round-off error; round-off errors; round-off propagation; summation",
  keywords =     "digital arithmetic",
}

@Article{Hillstrom:1970:CSA,
  author =       "K. E. Hillstrom",
  title =        "Comparison of Several Adaptive Newton-Cotes Quadrature Routines in Evaluating Definite Integrals with Peaked Integrands",
  journal =      j-CACM,
  volume =       "13",
  number =       "6",
  pages =        "362--365",
  month =        jun,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "It is shown, by numerical experiment only, that there are certain quadratures for which the rate of convergences increases with the use of higher degree Newton-Cotes rules, used adaptively. The advantage of adaptive methods over a nonadaptive rule in approximating integrals having peaked integrands is demonstrated. The performance of five different adaptive quadrature schemes, based on Newton-Cotes (2N plus 1) point rules (N equals 1, 2, 3, 4, 5), in approximating a set of definite integrals is compared.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4160 (Numerical integration and differentiation)",
  corpsource =   "Argonne Nat. Lab., IL, USA",
  journalabr =   "Commun ACM",
  keywords =     "computers, data processing; convergence of numerical methods; integral evaluation; integration; mathematics; methods; numerical; numerical integration; numerical methods; quadrature schemes",
}

@Article{Stewart:1970:IOS,
  author =       "G. W. Stewart",
  title =        "Incorporating Origin Shifts into the {QR} Algorithm for Symmetric Tridiagonal Matrices",
  journal =      j-CACM,
  volume =       "13",
  number =       "6",
  pages =        "365--367",
  month =        jun,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Theory/gvl.bib and ftp://ftp.ira.uka.de/pub/bibliography/Theory/Matrix.bib",
  abstract =     "The QR iteration for the eigenvalues of a symmetric tridiagonal matrix can be accelerated by incorporating a sequence of origin shifts. The origin shift may be either subtracted directly from the diagonal elements of the matrix or incorporated by means of an implicit algorithm. Both methods have drawbacks-the direct method can unnecessarily degrade small eigenvalues, while the implicit method can effectively loose the shift and thereby retard the convergence. A new method which has neither drawback is presented. Both the algorithm proposed here and the implicit algorithm are safer than the explicit algorithm. The implicit algorithm requires somewhat less computation, but the new algorithm will give faster convergence in some cases, an important consideration when eigenvectors are being calculated.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4140 (Linear algebra)",
  corpsource =   "Univ. Tex., Austin, TX, USA",
  journalabr =   "Commun ACM",
  keywords =     "computers, data processing; convergence of numerical methods; eigenfunctions; eigenvalues; eigenvalues and; eigenvectors; iterative methods; mathematics; matrix algebra; origin shifts; QR method; symmetric tridiagonal matrix; tridiagonal matrices",
  kwds =         "nla, eig, QR algorithm, symmetric matrix, tridiagonal matrix",
}

@Article{Chase:1970:AAC,
  author =       "P. J. Chase",
  title =        "{ACM} Algorithm 382: Combinations of ${M}$ Out of ${N}$ Objects",
  journal =      j-CACM,
  volume =       "13",
  number =       "6",
  pages =        "368--368",
  month =        jun,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7300 (Natural sciences computing)",
  corpsource =   "Dept. Defense, Fort Meade, MD, USA",
  keywords =     "algebra; subroutines",
}

@Article{Chase:1970:AAP,
  author =       "P. J. Chase",
  title =        "{ACM} Algorithm 383: Permutations of a Set with Repetitions",
  journal =      j-CACM,
  volume =       "13",
  number =       "6",
  pages =        "368--369",
  month =        jun,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7300 (Natural sciences computing)",
  corpsource =   "Dept. Defense, Fort Meade, MD, USA",
  keywords =     "algebra; subroutines",
}

@Article{Stewart:1970:AAE,
  author =       "G. W. Stewart",
  title =        "{ACM} Algorithm 384: Eigenvalues and Eigenvectors of a Real Symmetric Matrix [{F2}]",
  journal =      j-CACM,
  volume =       "13",
  number =       "6",
  pages =        "369--371",
  month =        jun,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "See errata \cite{Stewart:1970:EAA}.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4140 (Linear algebra); C7300 (Natural sciences computing)",
  corpsource =   "Univ. Texas, Austin, TX, USA",
  keywords =     "eigenvalues; eigenvalues and eigenfunctions; eigenvectors; matrix algebra; QR algorithm; real symmetric matrix; subroutines",
  kwds =         "nla, eig, QR algorithm, symmetric matrix",
}

@Article{London:1970:CAM,
  author =       "R. L. London",
  title =        "Certification of Algorithm 245 ({M1}) Treesort 3: Proof of Algorithms --- {A} New Kind of Certification",
  journal =      j-CACM,
  volume =       "13",
  number =       "6",
  pages =        "371--374",
  month =        jun,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Fri Jan 17 18:26:39 1997",
}

@Article{Chandler:1970:RS,
  author =       "J. P. Chandler and W. C. Harrison",
  title =        "{R201}--{SHELLSORT}",
  journal =      j-CACM,
  volume =       "13",
  number =       "6",
  pages =        "373--374",
  month =        jun,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Fri Jan 17 18:28:53 1997",
  keywords =     "digital computer sorting; minimal storage sorting; sorting",
}

@Article{Codd:1970:RMD,
  author =       "E. F. Codd",
  title =        "A Relational Model of Data for Large Shared Data Banks",
  journal =      j-CACM,
  volume =       "13",
  number =       "6",
  pages =        "377--387",
  month =        jun,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib and ftp://ftp.ira.uka.de/pub/bibliography/Database/database.bib",
  note =         "Also published in/as: `Readings in Database Systems', M. Stonebraker, Morgan-Kaufmann, 1988, pp. 5--15",
  abstract =     "Future users of large data banks must be protected from having to know how the data is organized in the machine (the internal representation). A prompting service which supplies such information is not a satisfactory solution. Activities of users at terminals and most application programs would remain unaffected when the internal representation of data is changed and even when some aspects of the external representation are changed. Changes in data representation will often be needed as a result of changes in query, update, and report traffic and natural growth in the types of stored information. Existing noninferential, formatted data systems provide users with tree-structured files or slightly more general network models of the data. In Section 1, inadequacies of these models are discussed. A model based on $n$-ary relations, a normal form for data base relations, and the concept of a universal data sublanguage are introduced. In Section 2, certain operations on relations (other than logical inference) are discussed and applied to the problems of redundancy and consistency in the user's model.",
  acknowledgement = ack-nhfb,
  annote =       "Shows problems of hierarchical data organization, presents a non-hierarchical `normal' structure, and discusses languages for describing relations of such normal structures.",
  classcodes =   "C6120 (File organisation); C7250 (Information storage and retrieval)",
  corpsource =   "IBM, San Jose, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "composition; computers, data storage; consistency; data bank; data banks; data base; data integrity; data organization; data structure; data structures; derivability; file organisation; hierarchies of data; information retrieval; information storage and retrie; join; networks of data; NOI; predicate calculus; redundancy; relations; retrieval language; security; systems",
  review =       "ACM CR 8905-0329",
}

@Article{Grant:1970:ICG,
  author =       "C. A. Grant",
  title =        "An interactive command generating facility",
  journal =      j-CACM,
  volume =       "13",
  number =       "7",
  pages =        "403--406",
  month =        jul,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A facility to permit conversationally controlled tasks to be executed in a noninteractive environment is proposed. A means by which programs can generate interactive time-sharing commands and receive the corresponding output response is presented. The commands will be invoked as if they had been typed at a console keyboard. It is argued that this facility will help overcome some of the current limitations in man-computer communication. A set of functions to accomplish the above which could be embedded into any string processing language is suggested, and necessary information pertinent to implementation of the facility on existing time-sharing systems is given.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140B (Machine-oriented languages); C6150J (Operating systems)",
  corpsource =   "Univ. California, Berkeley, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computers; computers, time sharing; interactive computing; machine oriented languages; operating systems; time-sharing systems",
}

@Article{Wilkes:1970:CAM,
  author =       "M. A. Wilkes",
  title =        "Conversational Access to a 2048-Word Machine",
  journal =      j-CACM,
  volume =       "13",
  number =       "7",
  pages =        "407--414",
  month =        jul,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "LAP6 is an on-line system running on 2048- word LINC which provides full facilities for text editing, automatic filing and file maintenance, and program preparation and assembly. It focuses on the preparation and editing of continuously displayed 23,040- character text strings (manuscripts) which can be positioned anywhere by the user and edited by simply adding and deleting lines as though working directly on an elastic scroll. Other features are available through a uniform command set which itself can be augmented by the user. The machine, although small, aids program design by providing display scope and premarked randomly addressable LINC tapes as standard items, in an environment similar to that of a sophisticated terminal. The tapes are logically similar to a disk. Priority was given to the design of efficient tape algorithms to minimize the limitations of the small memory. Techniques developed for handling scroll editing, filing, and the layered system structure are outlined.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150J (Operating systems)",
  corpsource =   "Washington Univ., St. Louis, MS, USA",
  journalabr =   "Commun ACM",
  keywords =     "computers; interactive computing; OD; online operation; operating systems; operating systems (computers); text editing",
}

@Article{Waite:1970:MPS,
  author =       "W. M. Waite",
  title =        "The mobile programming system: {STAGE} 2",
  journal =      j-CACM,
  volume =       "13",
  number =       "7",
  pages =        "415--421",
  month =        jul,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "STAGE 2 is the second level of a bootstrap sequence which is easily implemented on any computer. It is a flexible, powerful macro processor designed specifically as a tool for constructing machine-independent software. The features provided by STAGE 2 are summarized, and the implementation techniques which have made it possible to have STAGE 2 running on a new machine with less than one man-week of effort are discussed. The approach has been successful on over 15 machines of widely varying characteristics.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140E (Other programming languages)",
  corpsource =   "Univ. Colorado, Boulder, CO, USA",
  journalabr =   "Commun ACM",
  keywords =     "bootstrapping; computers; macro processors; programming languages; system",
}

@Article{Bloom:1970:STT,
  author =       "Burton H. Bloom",
  title =        "Space\slash Time Trade-offs in Hash Coding with Allowable Errors",
  journal =      j-CACM,
  volume =       "13",
  number =       "7",
  pages =        "422--426",
  month =        jul,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Trade-offs among certain computational factors in hash coding are analyzed. The paradigm problem considered is that of testing a series of messages one-by-one for membership in a given set of messages. Two new hash-coding methods are examined and compared with a particular conventional hash-coding method. The computational factors considered are the size of the hash area (space), the time required to identify a message as a nonmember of the given set (reject time), and an allowable error frequency. The new methods are intended to reduce the amount of space required to contain the hash-coded information from that associated with conventional methods. The reduction in space is accomplished by exploiting the possibility that a small fraction of errors of commission may be tolerable in some applications, in particular, applications in which a large amount of data is involved and a core resident hash area is consequently not feasible using conventional methods. An example is discussed which illustrates possible areas of application for the new method.",
  acknowledgement = ack-nhfb,
  annote =       "Phantom use of a direct access list.",
  classcodes =   "C6130 (Data handling techniques)",
  corpsource =   "Computer Usage Co. Newton Upper Falls, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "bit vector filter CACM; codes; computers; computers, errors; hash coding; inf",
}

@Article{Coffman:1970:FSU,
  author =       "E. G. {Coffman, Jr.} and J. Eve",
  title =        "File Structures Using Hashing Functions",
  journal =      j-CACM,
  volume =       "13",
  number =       "7",
  pages =        "427--432, 436",
  month =        jul,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "A general method of file structuring is proposed which uses a hashing function to define tree structure. Two types of such trees are examined, and their relation to trees studied in the past is explained. Results for the probability distributions of path lengths are derived and illustrated.",
  acknowledgement = ack-nhfb,
  annote =       "Tree structure with branching based on bit values of key code.",
  classcodes =   "C6120 (File organisation)",
  corpsource =   "Univ. Newcastle upon Tyne, UK",
  journalabr =   "Commun ACM",
  keywords =     "computers; data processing; data structures; file organization; hash coding; information storage and retrie; tree structures; trees (mathematics)",
}

@Article{Bradley:1970:ABG,
  author =       "Gordon H. Bradley",
  title =        "Algorithm and Bound for the Greatest Common Divisor of $n$ Integers",
  journal =      j-CACM,
  volume =       "13",
  number =       "7",
  pages =        "433--436",
  month =        jul,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "10A30",
  MRnumber =     "45 3313",
  mrreviewer =   "A. M. Cohen",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A new version of the Euclidean algorithm for finding the greatest common divisor of $n$ integers $a(i)$ and multipliers $x(i)$ such that $\mbox{gcd} = x(1)a(1) + \ldots + x(n)a(n)$ is presented. The number of arithmetic operations and the number of storage locations are linear in $n$. A theorem of Lame that gives a bound for the number of iterations of the Euclidean algorithm for two integers is extended to the case of $n$ integers. An algorithm to construct a minimal set of multipliers is presented. A Fortran program for the algorithm appears as Comm. ACM Algorithm 386.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4190 (Other numerical methods)",
  corpsource =   "Yale Univ., New Haven, CT, USA",
  journalabr =   "Commun ACM",
  keywords =     "computers, data processing; diophantine equations; Euclidean algorithm; greatest common divisor; iterative methods; mathematics; number theory; numerical methods",
}

@Article{Woods:1970:CSP,
  author =       "W. A. Woods",
  title =        "Context-Sensitive Parsing",
  journal =      j-CACM,
  volume =       "13",
  number =       "7",
  pages =        "437--445",
  month =        jul,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "This paper presents a canonical form for context-sensitive derivations and a parsing algorithm which finds each context-sensitive analysis once and only once. The amount of memory required by the algorithm is essentially no more than the required to store a single complete derivation. In addition, a modified version of the basic algorithm is presented which blocks infinite analyses for grammars which contain loops. The algorithm is also compared with several previous parsers for context-sensitive grammars and general rewriting systems, and the difference between the two types of analyses is discussed. The algorithm appears to be complementary to an algorithm by S. Kuno in several respects, including the space-time trade-off and the degree of context dependence involved.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic)",
  corpsource =   "Harvard Univ., Cambridge, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computational linguistics",
  keywords =     "automata theory; computational linguistics; context-sensitive grammars; context-sensitive parsing; formal grammars; formal language theory; parsing; parsing algorithms; recognition algorithms",
}

@Article{Paciorek:1970:AAE,
  author =       "K. A. Paciorek",
  title =        "{ACM} Algorithm 385: Exponential Integral ${E}_i(x)$",
  journal =      j-CACM,
  volume =       "13",
  number =       "7",
  pages =        "446--447",
  month =        jul,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4160 (Numerical integration and differentiation); C7300 (Natural sciences computing)",
  corpsource =   "Argonne Nat. Lab., IL, USA",
  keywords =     "integration; subroutines",
}

@Article{Bradley:1970:AAG,
  author =       "G. H. Bradley",
  title =        "{ACM} Algorithm 386: Greatest Common Divisor of $n$ Integers and Multipliers",
  journal =      j-CACM,
  volume =       "13",
  number =       "7",
  pages =        "447--448",
  month =        jul,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4190 (Other numerical methods); C7300 (Natural sciences computing)",
  corpsource =   "Yale Univ. New Haven, CT, USA",
  keywords =     "number theory; subroutines",
}

@Article{Sattley:1970:CPL,
  author =       "K. Sattley and R. Millstein",
  title =        "Comments on a paper by {Lowe}",
  journal =      j-CACM,
  volume =       "13",
  number =       "7",
  pages =        "450--451",
  month =        jul,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4290 (Other computer theory)",
  corpsource =   "Applied Data Res. Inc., NY, USA",
  keywords =     "computation theory; graph theory",
}

@Article{Baecker:1970:NDB,
  author =       "H. D. Baecker",
  title =        "A note on data base deadlocks",
  journal =      j-CACM,
  volume =       "13",
  number =       "7",
  pages =        "451--451",
  month =        jul,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7250 (Information storage and retrieval)",
  corpsource =   "Univ. Calgary, Alta., Canada",
  keywords =     "information retrieval",
}

@Article{Pomeranz:1970:NAP,
  author =       "J. E. Pomeranz",
  title =        "Note on an Anomaly in Paging",
  journal =      j-CACM,
  volume =       "13",
  number =       "7",
  pages =        "451--451",
  month =        jul,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  corpsource =   "Univ. Chicago, IL, USA",
  keywords =     "demand paging; paging machines; replacement algorithm; storage allocation",
}

@Article{Hunt:1970:CAA,
  author =       "B. R. Hunt",
  title =        "A Comment on Axiomatic Approaches to Programming",
  journal =      j-CACM,
  volume =       "13",
  number =       "7",
  pages =        "452--452",
  month =        jul,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4290 (Other computer theory)",
  corpsource =   "Univ. California, Los Alamos, NM, USA",
  keywords =     "axiomatic method; computability and decidability; homomorphic structure in programming; programming; proofs of programs",
}

@Article{Nielsen:1970:ACR,
  author =       "N. R. Nielsen",
  title =        "Allocation of Computer Resources. is Pricing the Answer",
  journal =      j-CACM,
  volume =       "13",
  number =       "8",
  pages =        "467--474",
  month =        aug,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The extent to which a pricing mechanism fits the mold is discussed. Inasmuch as pricing must serve as a rationing mechanism at times, consideration is given to the means by which prices can be adjusted flexibly in order to make a dynamic allocation of resources. Consideration is given to the means by which users can be insulated from the harmful effects of frequent price fluctuations. Two illustrative pricing systems are discussed in order to demonstrate the applicability of pricing in quite different environments.",
  acknowledgement = ack-nhfb,
  classcodes =   "C0200 (General computer topics)",
  corpsource =   "Stanford Univ., CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "CACMA; computers; cost accounting; digital computers; economics; industrial management; installation management; resource allocation; resources",
}

@Article{Nagy:1970:NTH,
  author =       "G. Nagy and N. Tuong",
  title =        "Normalization Techniques for Handprinted Numerals",
  journal =      j-CACM,
  volume =       "13",
  number =       "8",
  pages =        "475--481",
  month =        aug,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A family of pattern standardization techniques based on geometrical projection is applied to a file of digitized handprinted numerals obtained from sales clerks. The principle involves transforming a quadrilateral specified in terms of the convex hull of each pattern into a square. The amount of overlap within each class of characters vs the amount between classes is used to evaluate the degree of normalization achieved with respect to other published methods including size and shear normalization through moments.",
  acknowledgement = ack-nhfb,
  classcodes =   "B6140C (Optical information, image and video signal processing); C1250 (Pattern recognition)",
  corpsource =   "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "CACMA; computers digital, character R; computers, digital; pattern recognition; pattern recognition systems",
}

@Article{Day:1970:FTQ,
  author =       "A. C. Day",
  title =        "Full Table Quadratic Searching for Scatter Storage",
  journal =      j-CACM,
  volume =       "13",
  number =       "8",
  pages =        "481--482",
  month =        aug,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The quadratic residue search method for hash tables avoids much of the clustering experienced with a linear search method. The simple quadratic search only accesses half the table. It has been shown that when the length of the table is a prime of the form 4n plus 3, where n is an integer, the whole table may be accessed by two quadratic searches plus a separate access for the original entry point. A search method is presented which is computationally simple, has all the advantages of the quadratic search, and yet accesses all the table in one sweep.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  corpsource =   "Univ. Coll. London, UK",
  journalabr =   "Commun ACM",
  keywords =     "CACMA; computers; computers, data storage; hash coding; programming; table look-up; table lookup",
}

@Article{Brawn:1970:SPE,
  author =       "B. S. Brawn and F. G. Gustavson and E. S. Mankin",
  title =        "Sorting in a Paging Environment",
  journal =      j-CACM,
  volume =       "13",
  number =       "8",
  pages =        "483--494",
  month =        aug,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib",
  abstract =     "This sorting study was part of an extensive measurement project undertaken on the M44\slash 44X, an experimental paging system which was conceived and implemented at IBM Research in order to explore the virtual machine concept. The study was concerned with the implementation of sorting procedures in the context of the dynamic paging environment characteristic of virtual memory machines. Descriptions of the experimental sort programs and analysis of the performance measurement results obtained for them are presented. The insight gained from the experimental effort is used to arrive at a set of broad guidelines for writing sort programs for a paging environment.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  corpsource =   "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "CACMA; computer, memories; computers; computers, programming; dynamic memory management; External sort virtual memory CACM; operating systems; sorting; virtual machines",
}

@Article{Saltzer:1970:IM,
  author =       "J. H. Saltzer and J. W. Gintell",
  title =        "The instrumentation of {Multics}",
  journal =      j-CACM,
  volume =       "13",
  number =       "8",
  pages =        "495--500",
  month =        aug,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/monitor.bib and ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib",
  abstract =     "An array of measuring tools devised to aid in the implementation of a prototype computer utility is discussed. These tools include special hardware clocks and data channels, general purpose programmed probing and recording tools, and specialized measurement facilities. Some particular measurements of interest in a system which combines demand paging with multiprogramming are described in detail. Measuring techniques described here have been directed primarily toward understanding what goes on inside the operating system, rather than on measuring `throughput' system capacity, or the characteristics of system load.",
  acknowledgement = ack-nhfb,
  annote =       "An array of measuring tools devised to aid in the implementation of a prototype computer utility is discussed. These tools include (1) a hardware calendar clock (52 bit, 1 microsecond resolution) and an associated match register; (2) a memory reference counter; (3) an input/output channel which can be used by an attached processor to read memory; (4) a general metering package which records time spent executing selectable supervisor modules while the system is running; (5) a segment utilization metering facility which periodically probes for the current segment number; (6) a facility which records on a per-segment basis the number of missing pages and segments encountered during execution in that segment; (7) a tool which counts the number of times procedures are called; (8) a software package implemented on a PDP-8 which utilizes the special I/O channel (3); (9) the CLI, which prints out the time of day, the CPU time, and the number of times the process had to wait for a page to be brought in after every `ready message'; (10) a ring buffer containing the segment, page number, and time of day of the last 256 missing pages of the process under measurement; (11) a package to monitor the effect of the system's multiprogramming effort of an individual program; (12) a script driver implemented on a PDP-8; and (13) an internal script driver.",
  classcodes =   "C6150J (Operating systems)",
  corpsource =   "MIT, Cambridge, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "CACMA; computers; multiprogramming systems; operating distributed performance paging CACM; operating systems; operating systems (computers); performance measurement; system analysis",
}

@Article{Ichbiah:1970:TGA,
  author =       "J. D. Ichbiah and S. P. Morse",
  title =        "A technique for generating almost optimal {Floyd-Evans} productions for precedence grammars",
  journal =      j-CACM,
  volume =       "13",
  number =       "8",
  pages =        "501--508",
  month =        aug,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic)",
  corpsource =   "Co. Internat. l'Informatique, Les Clayes-sous-Bois, France",
  keywords =     "computational linguistics; grammars; optimisation",
}

@Article{Fielding:1970:AAF,
  author =       "K. Fielding",
  title =        "{ACM} Algorithm 387: Function Minimization and Linear Search",
  journal =      j-CACM,
  volume =       "13",
  number =       "8",
  pages =        "509--510",
  month =        aug,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7300 (Natural sciences computing)",
  corpsource =   "Univ. Essex, Wivenhoe Park, Colchester, UK",
  keywords =     "optimisation; subroutines",
}

@Article{Hubner:1970:AAR,
  author =       "H. H{\"{u}}bner and H. Kremer and K. O. Linn and W. Schwering",
  title =        "{ACM} Algorithm 388: {Rademacher} Function",
  journal =      j-CACM,
  volume =       "13",
  number =       "8",
  pages =        "510--511",
  month =        aug,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7300 (Natural sciences computing)",
  keywords =     "mathematics; subroutines",
}

@Article{Hubner:1970:AAB,
  author =       "H. H{\"{u}}bner and H. Kremer and K. O. Linn and W. Schwering",
  title =        "{ACM} Algorithm 389: Binary Ordered {Walsh} Functions",
  journal =      j-CACM,
  volume =       "13",
  number =       "8",
  pages =        "511--511",
  month =        aug,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7300 (Natural sciences computing)",
  keywords =     "mathematics; subroutines",
}

@Article{Hubner:1970:AAS,
  author =       "H. H{\"{u}}bner and H. Kremer and K. O. Linn and W. Schwering",
  title =        "{ACM} Algorithm 390: Sequency Ordered {Walsh} Functions",
  journal =      j-CACM,
  volume =       "13",
  number =       "8",
  pages =        "511--512 (or 511--511??)",
  month =        aug,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7300 (Natural sciences computing)",
  keywords =     "mathematics; subroutines",
}

@Article{McKay:1970:AAU,
  author =       "J. McKay",
  title =        "{ACM} Algorithm 391: Unitary Symmetric Polynomials",
  journal =      j-CACM,
  volume =       "13",
  number =       "8",
  pages =        "512--512",
  month =        aug,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7300 (Natural sciences computing)",
  corpsource =   "California Inst. Technol., Pasadena, CA, USA",
  keywords =     "polynomials; subroutines",
}

@Article{Anonymous:1970:ISU,
  author =       "Anonymous",
  title =        "Identification of {States of the United States} (including the {District of Columbia}) for information interchange",
  journal =      j-CACM,
  volume =       "13",
  number =       "8",
  pages =        "514--515",
  month =        aug,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  keywords =     "code standards",
}

@Article{Bouknight:1970:PGT,
  author =       "W. Jack Bouknight",
  title =        "A Procedure for Generation of Three-Dimensional Half-Toned Computer Graphics Presentations",
  journal =      j-CACM,
  volume =       "13",
  number =       "9",
  pages =        "527--536",
  month =        sep,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/siggraph/pre75.bib",
  abstract =     "A description is given of an algorithm for producing computer generated halftone presentations of three-dimensional polygonal surface structures. The history leading to the algorithm development and then the algorithm itself are described. Results are presented and are compared with computer runs achieved by the Warnock approach. An extension of the procedure to variable position illumination sources is also given.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4190 (Other numerical methods)",
  corpsource =   "Univ. Illinois, Urbana, IL, USA",
  journalabr =   "Commun ACM",
  keywords =     "CACMA; computer graphics; computers; half-tone images; hidden surface; image processing",
}

@Article{Bracchi:1970:ISS,
  author =       "G. Bracchi and M. Somalvico",
  title =        "Interactive Software System for Computer-Aided Design. an Application to Circuit Project",
  journal =      j-CACM,
  volume =       "13",
  number =       "9",
  pages =        "537--545",
  month =        sep,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Characteristics of an interactive software system, intended to constitute an interface between designer and computer during various steps of the design process, are presented. Main emphasis is given to the description of the features of the two high level user oriented languages, operating at different levels, on which the interaction is based. The first one is IMOL, an interactive monitor language, which is designed to perform the overall and control functions of the software system. The second one is COIF, a circuit oriented graphic language, which is designed to describe, generate, and manipulate graphic problem specifications. The application to computer-aided circuit design is in particular examined.",
  acknowledgement = ack-nhfb,
  classcodes =   "B1130B (Computer-aided circuit analysis and design); C7410D (Electronic engineering computing)",
  corpsource =   "Politecnico, Milano, Italy",
  journalabr =   "Commun ACM",
  keywords =     "CACMA; computer aided circuit design; computer-aided circuit design; computers; computers, graphics; computers, programming; electric circuits, analysis; language; online operation",
}

@Article{Hirschsohn:1970:AHL,
  author =       "I. Hirschsohn",
  title =        "{AMESPLOT}, a Higher Level Data Plotting Software System",
  journal =      j-CACM,
  volume =       "13",
  number =       "9",
  pages =        "546--555",
  month =        sep,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "System described is hardware independent. Elements common to all types of data plots are outlined and the way in which these elements may be combined into a system based on simple modules is demonstrated. Basic syntax of AMESPLOT is outlined, and a brief description is given of its current utility software, consisting of `macros' to produce self-scaled plots, formal tablets of text, interspersed with subplots, map coastlines and 3-D plots. Structuring of plots from multiple, independent, self-contained subplots is described.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140D (High level languages)",
  corpsource =   "Univ. California, San Diego, La Jolla, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "CACMA; computer graphics; computers; computers, language; data plotting; graphics; interactive computing; problem oriented languages",
}

@Article{Moler:1970:ISR,
  author =       "Cleve B. Moler and Louis P. Solomon",
  title =        "Integrating Square Roots",
  journal =      j-CACM,
  volume =       "13",
  number =       "9",
  pages =        "556--557",
  month =        sep,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65.60",
  MRnumber =     "44\#1223",
  mrreviewer =   "J. C. Butcher",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Differential equation of the $(y')^2 = f(y)$ are difficult to integrate numerically because of the singularity at points where $f(y)$ vanishes. A technique is described for removing the singularity and evaluating the expressions through the use of standard numerical methods for second order ordinary differential equations.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4170 (Differential equations)",
  corpsource =   "Univ. Michigan, Ann Arbor, MI, USA",
  journalabr =   "Commun ACM",
  keywords =     "CACMA; differential equations; mathematics; numerical methods; quadrature; Y F",
}

@Article{Kimble:1970:VGL,
  author =       "G. W. Kimble",
  title =        "A Variation of the {Goodman-Lance} Method for the Solution of Two-Point Boundary Value Problems",
  journal =      j-CACM,
  volume =       "13",
  number =       "9",
  pages =        "557--558",
  month =        sep,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65.62",
  MRnumber =     "44\#3500",
  mrreviewer =   "F. Odeh",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A recently published method for the interpolative solution of nonlinear equations is improved, and applied to give a significant variation of the Goodman-Lance method for the solution of two-point boundary value problems. The resulting method applies in particular to the numerical solution of optimal control problems in the Euler-Lagrange formulation. Quantitative estimates are presented which indicate that the variation is nearly twice as fast on some problems in the latter context.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4170 (Differential equations)",
  corpsource =   "Univ. Nevada, Reno, NV, USA",
  journalabr =   "Commun ACM",
  keywords =     "automatic control; boundary value problems; boundary-value problems; CACMA; differential equations; Goodman-Lance; interpolative solution; Newton's method; nonlinear equations; numerical methods; optimal control; optimization; ordinary differential equations; orthogonal matrices; secant method",
  keywords =     "boundary-value problems; differential equations",
}

@Article{Wilson:1970:OSA,
  author =       "M. Wayne Wilson",
  title =        "Optimal Starting Approximations for Generating Square Root for Slow or No Divide",
  journal =      j-CACM,
  volume =       "13",
  number =       "9",
  pages =        "559--561 (or 559--560??)",
  month =        sep,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65.50",
  MRnumber =     "44\#2338",
  mrreviewer =   "J. E. {Dennis, Jr.}",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; garbo.uwasa.fi:/pc/doc-soft/fpbiblio.txt",
  abstract =     "On computing machines with slow or no division, it is preferable to use an iterative scheme for the square root different from the classical Heron scheme. The problem of optimal initial approximants is considered, and some optimal polynomial initial approximations are tabulated.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5230 (Digital arithmetic methods)",
  corpsource =   "IBM, Houston, TX, USA",
  journalabr =   "Commun ACM",
  keywords =     "CACMA; digital arithmetic; ele; iterative methods; mathematics; numerical methods; optimisation",
}

@Article{Ehrlich:1970:CMI,
  author =       "L. W. Ehrlich",
  title =        "Complex Matrix Inversion Versus Real",
  journal =      j-CACM,
  volume =       "13",
  number =       "9",
  pages =        "561--562",
  month =        sep,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65.35",
  MRnumber =     "44\#1196",
  mrreviewer =   "C. G. Cullen",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A comparison of complex matrix with real matrix inversion is made. It is shown that the complex inversion can be up to twice as fast as the real inversion. Further, the rounding error bound for complex inversion is about one-eighth that of real, for Gaussian elimination. Using extended inner product accumulation the bound is half of the real system.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4140 (Linear algebra)",
  corpsource =   "Johns Hopkins Univ., Silver Spring, MD, USA",
  journalabr =   "Commun ACM",
  keywords =     "CACMA; complex matrix inversion; complex rounding error bounds; error bounds; GUL; inversion; mathematics; matrix algebra; matrix inversion; numerical methods; rounding error bound; rounding errors",
}

@Article{vanEmden:1970:IEQ,
  author =       "M. H. {van Emden}",
  title =        "Increasing the Efficiency of Quicksort",
  journal =      j-CACM,
  volume =       "13",
  number =       "9",
  pages =        "563--567 (or 563--566??)",
  month =        sep,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The average asymptotic number of comparisons needed is shown to be $! n log_2 (n)$. A formula is derived expressing $!$ in terms of the probability distribution of the `bound' of a partition. Another generalization of quicksort is presented which uses a bounding interval instead of a single element as bound. This generalization turns out to be easy to implement in a computer program. A numerical approximation shows that $!$ equals 1.140 for this version of quicksort compared with 1.386 for the original. This implies a decrease in number of comparisons of 18\%; actual tests showed about 15\% saving in computing time.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  corpsource =   "Math. Centre, Amsterdam, Netherlands",
  journalabr =   "Commun ACM",
  keywords =     "CACMA; computers; programming; SAL; sorting",
}

@Article{Smith:1970:AAS,
  author =       "Robert R. Smith and Dennis McCall",
  title =        "{ACM} Algorithm 392: Systems of Hyperbolic {P.D.E.}",
  journal =      j-CACM,
  volume =       "13",
  number =       "9",
  pages =        "567--570",
  month =        sep,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4170 (Differential equations); C7310 (Mathematics computing)",
  corpsource =   "US Naval Electronics Lab. Center, San Diego, CA, USA",
  keywords =     "boundary-value problems; partial differential equations",
}

@Article{Abdali:1970:AAS,
  author =       "S. K. Abdali",
  title =        "{ACM} Algorithm 393: Special Series Summation with Arbitrary Precision",
  journal =      j-CACM,
  volume =       "13",
  number =       "9",
  pages =        "570--570",
  month =        sep,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4120 (Functional analysis); C7310 (Mathematics computing)",
  corpsource =   "Univ. Wisconsin, Madison, WI, USA",
  keywords =     "function approximation; function evaluation; subroutines",
}

@Article{Dial:1970:AAD,
  author =       "R. B. Dial",
  title =        "{ACM} Algorithm 394: Decision Table Translation",
  journal =      j-CACM,
  volume =       "13",
  number =       "9",
  pages =        "571--573 (or 571--572??)",
  month =        sep,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150C (Compilers, interpreters and other processors)",
  corpsource =   "Univ. Washington, Seattle, WA, USA",
  keywords =     "decision tables; program interpreters; subroutines",
}

@Article{Lamport:1970:CBQ,
  author =       "Leslie Lamport and J. R. Bell",
  title =        "Comment on {Bell}'s Quadratic Quotient Method for Hash Code Searching",
  journal =      j-CACM,
  volume =       "13",
  number =       "9",
  pages =        "573--574",
  month =        sep,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  keywords =     "codes; data handling",
}

@Article{Bavel:1970:NAS,
  author =       "Z. Bavel",
  title =        "On the Number of Automorphisms of a Singly Generated Automaton",
  journal =      j-CACM,
  volume =       "13",
  number =       "9",
  pages =        "574--575",
  month =        sep,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4220 (Automata theory)",
  corpsource =   "Univ. Kansas, Lawrence, KS, USA",
  keywords =     "automata; automorphisms; finite automata; generators; length of state; minimal-length generators; orbit; singly generated automata",
}

@Article{Woods:1970:TNG,
  author =       "W. A. Woods",
  title =        "Transition Network Grammars for Natural Language Analysis",
  journal =      j-CACM,
  volume =       "13",
  number =       "10",
  pages =        "591--606",
  month =        oct,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic); C7820 (Humanities computing)",
  corpsource =   "Harvard Univ., Cambridge, MA, USA",
  keywords =     "grammars; language translation and linguistics",
}

@Article{Earley:1970:FTI,
  author =       "J. Earley and H. Sturgis",
  title =        "A formalism for translator interactions",
  journal =      j-CACM,
  volume =       "13",
  number =       "10",
  pages =        "607--617",
  month =        oct,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A formalism is presented for describing the actions of processors for programming languages-compilers, interpreters, assemblers-and their interactions in complex systems such as compiler-compilers or extendible languages. An algorithm is presented for deciding whether or not a given system can be produced from a given set of component processors.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic); C6150C (Compilers, interpreters and other processors)",
  corpsource =   "Univ. California, Berkeley, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "CACMA; compilers; computational linguistics; computer, digital; computers, digital, languages; computers, digital, operating; pre; program; program assemblers; program interpreters; program processors; programming languages",
}

@Article{Hill:1970:AASa,
  author =       "G. W. Hill",
  title =        "{ACM} Algorithm 395: {Student}'s $t$-Distribution",
  journal =      j-CACM,
  volume =       "13",
  number =       "10",
  pages =        "617--619",
  month =        oct,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "See also \cite{Lozy:1979:RSD,Hill:1981:RSD}.",
  acknowledgement = ack-nhfb,
  classcodes =   "C7310 (Mathematics computing)",
  corpsource =   "CSIRO, Glen Osmond, Australia",
  keywords =     "statistics; subroutines",
}

@Article{Hill:1970:AASb,
  author =       "G. W. Hill",
  title =        "{ACM} Algorithm 396: {Student}'s $t$-Quantiles",
  journal =      j-CACM,
  volume =       "13",
  number =       "10",
  pages =        "619--620",
  month =        oct,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "See also \cite{Hill:1981:RSQ}.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4120 (Functional analysis); C7310 (Mathematics computing)",
  corpsource =   "CSIRO, Glen Osmond, Australia",
  keywords =     "function evaluation; statistics; subroutines",
}

@Article{Chang:1970:AAI,
  author =       "S. K. Chang and A. Gill",
  title =        "{ACM} Algorithm 397: An Integer Programming Problem",
  journal =      j-CACM,
  volume =       "13",
  number =       "10",
  pages =        "620--621",
  month =        oct,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7310 (Mathematics computing)",
  corpsource =   "Univ. California, Berkeley, CA, USA",
  keywords =     "integer programming; subroutines",
}

@Article{Stone:1970:AAT,
  author =       "R. A. Stone",
  title =        "{ACM} Algorithm 398: Tableless Date Conversion",
  journal =      j-CACM,
  volume =       "13",
  number =       "10",
  pages =        "621--621",
  month =        oct,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  corpsource =   "Western Electric Co., Princeton, NJ, USA",
  keywords =     "code convertors; subroutines",
}

@Article{Seppanen:1970:AAS,
  author =       "J. J. Sepp{\"{a}}nen",
  title =        "{ACM} Algorithm 399: Spanning Tree",
  journal =      j-CACM,
  volume =       "13",
  number =       "10",
  pages =        "621--622",
  month =        oct,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7310 (Mathematics computing)",
  corpsource =   "Helsinki Univ. Technol., Otaniemi, Finland",
  keywords =     "graph theory; subroutines; trees (mathematics)",
}

@Article{Wallick:1970:AAM,
  author =       "G. C. Wallick",
  title =        "{ACM} Algorithm 400: Modified {Havie} Integration",
  journal =      j-CACM,
  volume =       "13",
  number =       "10",
  pages =        "622--624",
  month =        oct,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4160 (Numerical integration and differentiation); C7310 (Mathematics computing)",
  corpsource =   "Mobil Res. Dev. Corp., Dallas, TX, USA",
  keywords =     "integration; subroutines",
}

@Article{Peto:1970:RAM,
  author =       "R. Peto",
  title =        "Remark on {``Algorithm 347 [M1]: An Efficient Algorithm for Sorting with Minimal Storage''}",
  journal =      j-CACM,
  volume =       "13",
  number =       "10",
  pages =        "624",
  month =        oct,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue May 28 09:23:57 1996",
  keywords =     "digital computer sorting; minimal storage sorting; ranking; sorting",
}

@Article{Smith:1970:UIG,
  author =       "L. B. Smith",
  title =        "The use of interactive graphics to solve numerical problems",
  journal =      j-CACM,
  volume =       "13",
  number =       "10",
  pages =        "625--634",
  month =        oct,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4130 (Interpolation and function approximation); C7310 (Mathematics computing)",
  corpsource =   "CERN, Geneva, Switzerland",
  keywords =     "analysis; computer graphics; least squares approximations; numerical; online operation",
}

@Article{LaFata:1970:IDA,
  author =       "P. LaFata and J. B. Rosen",
  title =        "An interactive display for approximation by linear programming",
  journal =      j-CACM,
  volume =       "13",
  number =       "11",
  pages =        "651--659",
  month =        nov,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68.00 (90.00)",
  MRnumber =     "42\#2712",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  abstract =     "An interactive program with a graphical display has been developed for the approximation of data by means of a linear combination of functions (including splines) selected by the user. The coefficients of the approximation are determined by linear programming so as to minimize the error in either the L1 or L-infinity norm. Auxiliary conditions such as monotonicity or convexity of the approximation can also be imposed. This interactive system is described and several examples of its use are given.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4130 (Interpolation and function approximation); C7310 (Mathematics computing)",
  corpsource =   "Univ. Wisconsin, Madison, WI, USA",
  keywords =     "approximation; data fitting; function approximation; functional approximation; interactive graphical display; linear programming; online operation; spline functions",
}

@Article{Lum:1970:MRC,
  author =       "V. Y. Lum",
  title =        "Multi-attribute retrieval with combined indexes",
  journal =      j-CACM,
  volume =       "13",
  number =       "11",
  pages =        "660--665",
  month =        nov,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C7250 (Information storage and retrieval)",
  corpsource =   "IBM, San Jose, CA, USA",
  keywords =     "file organisation; information retrieval",
}

@Article{Mifsud:1970:MDA,
  author =       "C. J. Mifsud",
  title =        "A multiple-precision division algorithm",
  journal =      j-CACM,
  volume =       "13",
  number =       "11",
  pages =        "666--668",
  month =        nov,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C5230 (Digital arithmetic methods)",
  corpsource =   "Mitre Corp., McLean, VA, USA",
  keywords =     "digital arithmetic",
}

@Article{Conrow:1970:NPS,
  author =       "K. Conrow and R. G. Smith",
  title =        "{NEATER2}: {A PL/I} Source Statement Reformatter",
  journal =      j-CACM,
  volume =       "13",
  number =       "11",
  pages =        "669--675",
  month =        nov,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  abstract =     "NEATER2 accepts a PL/I source program and operates on it to produce a reformatted version. When in the LOGICAL mode, NEATER2 indicates the logical structure of the source program in the indentation pattern of its output. Logic errors discovered through NEATER2 logical analysis are discovered much more economically than is possible through compilation and trial runs. A number of options are available to give the user full control over the output format and to maximize the utility of NEATER2 as an aid during the early stages of development of a PL/I source deck. One option, USAGE, causes NEATER2 to insert into each logical unit of coding a statement which will case the number of times each one is executed to be recorded during execution. This feature is expected to provide a major aid in optimization of PL/I programs.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150C (Compilers, interpreters and other processors)",
  corpsource =   "Kansas State Univ., Manhattan, KS, USA",
  keywords =     "documentation aid; execution time usage data; logical analysis of PL/I source; optimisation; PL/1; prettyprinter; program processors; reformatting of PL/I source",
}

@Article{Bell:1970:LQH,
  author =       "James R. Bell and Charles H. Kaman",
  title =        "The Linear Quotient Hash Code",
  journal =      j-CACM,
  volume =       "13",
  number =       "11",
  pages =        "675--677",
  month =        nov,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "Independent discovery of technique of secondary hash functions first proposed by \cite{deBalbine:1969:CAR}.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  corpsource =   "Digital Equipment Corp., Maynard, MA, USA",
  keywords =     "codes",
}

@Article{Cheney:1970:NLC,
  author =       "C. J. Cheney",
  title =        "A Nonrecursive List Compacting Algorithm",
  journal =      j-CACM,
  volume =       "13",
  number =       "11",
  pages =        "677--678",
  month =        nov,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Compiler/garbage.collection.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  corpsource =   "Univ. Cambridge, UK",
  keywords =     "data structures; list processing; storage management",
}

@Article{Anonymous:1970:PANa,
  author =       "Anonymous",
  title =        "Proposed {American National Standard}. Recorded magnetic tape for information interchange (1600 {CPI}, phase encoded)",
  journal =      j-CACM,
  volume =       "13",
  number =       "11",
  pages =        "679--685",
  month =        nov,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C5320C (Storage on moving magnetic media)",
  keywords =     "magnetic recording; standards",
}

@Article{Anonymous:1970:PANb,
  author =       "Anonymous",
  title =        "Proposed {American National Standard}. Unrecorded magnetic tape for information interchange (9 track-200 and 800 {CPI}, {NRZI} and 1600 {CPI}, {P.E.})",
  journal =      j-CACM,
  volume =       "13",
  number =       "11",
  pages =        "686--692",
  month =        nov,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C5320C (Storage on moving magnetic media)",
  keywords =     "magnetic recording; standards",
}

@Article{Bratley:1970:AAI,
  author =       "P. Bratley",
  title =        "{ACM} Algorithm 401: An Improved Algorithm to Produce Complex Primes",
  journal =      j-CACM,
  volume =       "13",
  number =       "11",
  pages =        "693--693",
  month =        nov,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7310 (Mathematics computing)",
  corpsource =   "Univ. Montreal, Que., Canada",
  keywords =     "number theory; subroutines",
}

@Article{vanEmden:1970:AAI,
  author =       "M. H. {van Emden}",
  title =        "{ACM} Algorithm 402: Increasing the Efficiency of Quicksort",
  journal =      j-CACM,
  volume =       "13",
  number =       "11",
  pages =        "693--694",
  month =        nov,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  corpsource =   "Math. Centre, Amsterdam, Netherlands",
  keywords =     "sorting; subroutines",
}

@Article{Wilson:1970:GMG,
  author =       "W. J. Wilson",
  title =        "A generalized method for generating argument\slash function values",
  journal =      j-CACM,
  volume =       "13",
  number =       "11",
  pages =        "696--697",
  month =        nov,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming)",
  corpsource =   "Univac Div. Sperry Rand, Huntsville, AL, USA",
  keywords =     "decision tables; table lookup",
}

@Article{Ehrman:1970:CAC,
  author =       "J. R. Ehrman",
  title =        "Correction to 'logical' arithmetic on computers with two's complement binary arithmetic",
  journal =      j-CACM,
  volume =       "13",
  number =       "11",
  pages =        "697--698",
  month =        nov,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C5230 (Digital arithmetic methods)",
  corpsource =   "Stanford Linear Accelerator Center, CA, USA",
  keywords =     "digital arithmetic",
}

@Article{Bernstein:1970:CWS,
  author =       "A. Bernstein",
  title =        "Comment on the working set model for program behavior",
  journal =      j-CACM,
  volume =       "13",
  number =       "11",
  pages =        "698--699",
  month =        nov,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  corpsource =   "State Univ. New York, Stony Brook, NY, USA",
  keywords =     "storage management",
}

@Article{Rokne:1970:CNP,
  author =       "J. Rokne",
  title =        "Condition numbers of {Pei} matrices",
  journal =      j-CACM,
  volume =       "13",
  number =       "11",
  pages =        "699--699",
  month =        nov,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4140 (Linear algebra)",
  corpsource =   "Univ. Calgary, Alta., Canada",
  keywords =     "matrix algebra",
}

@Article{Mathews:1970:GPC,
  author =       "M. V. Mathews and F. R. Moore",
  title =        "{GROOVE-A} program to compose, store, and edit functions of time",
  journal =      j-CACM,
  volume =       "13",
  number =       "12",
  pages =        "715--721",
  month =        dec,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7420 (Control engineering computing); C7820 (Humanities computing)",
  corpsource =   "Bell Telephone Labs., Murray Hill, NJ, USA",
  keywords =     "compose store, edit, time functions; computer music; computers; conductor program; control engineering applications of computers; digital control; GROOVE; hybrid; hybrid systems; interactive software; luminescence; man computer system; man-machine systems; periodic functions; real-time; real-time control; sampled data systems; systems",
  treatment =    "P Practical",
}

@Article{Tiernan:1970:ESA,
  author =       "James C. Tiernan",
  title =        "An Efficient Search Algorithm to Find the Elementary Circuits of a Graph",
  journal =      j-CACM,
  volume =       "13",
  number =       "12",
  pages =        "722--726",
  month =        dec,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "94.30 (05.00)",
  MRnumber =     "42\#7427",
  mrreviewer =   "J. Mor{\'a}vek",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  abstract =     "A theoretically most efficient search algorithm is presented which uses an exhaustive search to find all of the elementary circuits of a graph. The algorithm can be easily modified to find all of the elementary circuits with a particular attribute such as length. A rigorous proof of the algorithm is given as well as an example of its application. Empirical bounds are presented relating the speed of the algorithm to the number of vertices and the number of arcs. The speed is also related to the number of circuits in the graph to give a relation between speed and complexity. Extensions to undirected and s-graphs are discussed.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0250 (Combinatorial mathematics); C1160 (Combinatorial mathematics)",
  corpsource =   "Univ. California, San Diego, La Jolla, CA, USA",
  keywords =     "algorithm; circuit search algorithm; elementary circuits; graph theory; path search; path search algorithm; searching",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Betourne:1970:PMR,
  author =       "C. Betourne and J. Boulenger and J. Ferrie and C. Kaiser and S. Krakowiak and J. Mossiere",
  title =        "Process management and resource sharing in the multiaccess system {ESOPE}",
  journal =      j-CACM,
  volume =       "13",
  number =       "12",
  pages =        "727--733",
  month =        dec,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150J (Operating systems)",
  keywords =     "ESOPE; multi-access systems; multiprogramming; parallel processes; parallel processing; primitive operations; process scheduling; programs; resource allocation; system; time sharing system; time-sharing",
  treatment =    "P Practical",
}

@Article{Morgan:1970:IBO,
  author =       "H. L. Morgan",
  title =        "An interrupt based organization for management information systems",
  journal =      j-CACM,
  volume =       "13",
  number =       "12",
  pages =        "734--739",
  month =        dec,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques); C6150J (Operating systems)",
  corpsource =   "Cornell Univ., Ithaca, NY, USA",
  keywords =     "data handling; integrated data processing; interrupt scheduling; management information systems; monitoring; parallel; parallel processing; processing; supervisory programs; supervisory systems; systems",
}

@Article{Thompson:1970:IRR,
  author =       "R. J. Thompson",
  title =        "Improving round-off in {Runge-Kutta} computations with {Gill}'s method",
  journal =      j-CACM,
  volume =       "13",
  number =       "12",
  pages =        "739--740",
  month =        dec,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4170 (Differential equations)",
  corpsource =   "Sandia Labs., Albuquerque, NM, USA",
  keywords =     "differential equations; error analysis; methods; numerical mathematics; ordinary differential equations; predictor-corrector; round-off error; Runge-Kutta-Gill methods",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Shapiro:1970:LSG,
  author =       "S. C. Shapiro",
  title =        "The list set generator: a construct for evaluating set expressions",
  journal =      j-CACM,
  volume =       "13",
  number =       "12",
  pages =        "741--744",
  month =        dec,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  corpsource =   "Univ. Wisconsin, Madison, WI, USA",
  keywords =     "construct; file; list processing; processing; programming; programming techniques; set generation; set manipulating",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Black:1970:OMM,
  author =       "N. A. Black",
  title =        "Optimum Merging from Mass Storage",
  journal =      j-CACM,
  volume =       "13",
  number =       "12",
  pages =        "745--749",
  month =        dec,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  corpsource =   "Computer Sci. Corp., Huntsville, AL, USA",
  keywords =     "access time; drum merging; magnetic storage systems; mass storage; merging; optimisation; optimum merging; sort timing; sorting",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Stewart:1970:EAA,
  author =       "G. W. Stewart",
  title =        "Errata: {ACM} Algorithm 384: Eigenvalues and Eigenvectors of a Real Symmetric Matrix [{F2}]",
  journal =      j-CACM,
  volume =       "13",
  number =       "12",
  pages =        "750--750",
  month =        dec,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue May 28 18:42:33 1996",
  note =         "See \cite{Stewart:1970:AAE}.",
  keywords =     "eigenvalues; eigenvectors; QR algorithm; real symmetric matrix",
  kwds =         "nla, eig, QR algorithm, symmetric matrix",
  xxnote =       "Check title??",
}

@Article{Fuchs:1970:EDR,
  author =       "E. A. Fuchs and P. E. Jackson",
  title =        "Estimates of Distributions of Random Variables for Certain Computer Communications Traffic Models",
  journal =      j-CACM,
  volume =       "13",
  number =       "12",
  pages =        "752--757",
  month =        dec,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/network.bib and ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1970.bib",
  note =         "Reproduced in Advances in Computer Commun., Chu, W. W., (Ed (1974), 2-7; in Computer Commun., Green, P. E., and Lucky, R. W. (Eds.), (1975), 577-582).",
  abstract =     "A study of multiaccess computer communications has characterized the distributions underlying an elementary model of the user-computer interactive process. The model used is elementary in the sense that many of the random variables that generally are of interest in computer communications studies can be decomposed into the elements of this model. Data were examined from four operational multiaccess systems, and the model is shown to be robust; that is each of the variables of the model has the same distribution independent of which of the four systems is being examined. It is shown that the gamma distribution can be used to describe the discrete variables. Approximations to the gamma distribution by the exponential distribution are discussed for the systems studied.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4290 (Other computer theory)",
  corpsource =   "Bell Telephone Labs. Inc., Holmdel, NJ, USA",
  descriptors =  "Random Process; Computer Communication; Traffic Model; Distribution; Estimation;",
  keywords =     "computation theory; computer communications; distribution of random variables; modelling; multi-access systems; multiaccess systems; operating systems; operating systems (computers); optimisation models; optimization models; time-sharing; time-sharing systems; user computer interactive processes",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Pinter:1970:DBF,
  author =       "C. C. Pinter",
  title =        "On decomposing a {Boolean} function and simplifying the components separately",
  journal =      j-CACM,
  volume =       "13",
  number =       "12",
  pages =        "758--758",
  month =        dec,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4230 (Switching theory)",
  corpsource =   "Bucknell Univ., Lewisburg, PA, USA",
  keywords =     "basic cells; Boolean functions; minimisation; minimisation of switching nets; of Boolean functions; prime implicants; simplification; vertices",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Raduchel:1970:EHB,
  author =       "W. J. Raduchel",
  title =        "Efficient handling of binary data",
  journal =      j-CACM,
  volume =       "13",
  number =       "12",
  pages =        "758--759",
  month =        dec,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  corpsource =   "Harvard Univ., Cambridge, MA, USA",
  keywords =     "binary variables; bit strings; cross-; data handling; dummy variables; efficiency; programming; programming techniques; tabulations",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Wagner:1970:FAI,
  author =       "Robert A. Wagner",
  title =        "Finiteness Assumptions and Intellectual Isolation of Computer Scientists",
  journal =      j-CACM,
  volume =       "13",
  number =       "12",
  pages =        "759--760",
  month =        dec,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C0200 (General computer topics)",
  corpsource =   "Cornell Univ., Ithaca, NY, USA",
  keywords =     "ALGOL versus FORTRAN; Algol vs. Fortran; finite; finite word size; finiteness assumptions; integer variable range; intellectual; intellectual isolation; isolation; memory finiteness; personnel; philosophical aspects; word size",
}

@Article{Lowry:1971:OCO,
  author =       "E. Lowry and C. W. Medlock",
  title =        "Object Code Optimization",
  journal =      j-CACM,
  volume =       "12",
  number =       "1",
  pages =        "13--22",
  month =        jan,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Dec 26 16:35:14 1995",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Compiler/opt.compiler.bib",
}

@Article{Hammer:1971:SSC,
  author =       "Carl Hammer",
  title =        "Signature Simulation and Certain Cryptographic Codes",
  journal =      j-CACM,
  volume =       "14",
  number =       "1",
  pages =        "3--14",
  month =        jan,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  abstract =     "Three cyphers allegedly authored by Thomas Jefferson Beale in 1822 have been the subject of intensive study for over 100 years. Generations of cryptanalysts have expended untold man-years, thus far without success, attempting tode code them; vast armies of fortune hunters and treasure seekers have devoted Herculean labors to digging up the rolling hills of Virginia trying to locate the promised bonanza. \par The history of pertinent activities would fill volumes, yet serious students of cryptography have always had nagging doubts about the cyphers' authenticity. It has been alleged that the ``known solution'' to Cypher Number Two: 115, 73, 24, 818, 37, 52, 49, \ldots{} (``I have deposited in the County of Bedford about four miles from Buford's in an excavation or vault \ldots{}'') with the aid of an unsanitized version of the Declaration of Independence was merely a superb, imaginative, and grandiose hoax perpetrated ages ago for whatever reasons. Modern computer technology could obviously perform signature analyses the process of encoding itself so as to yield new clues and deeper insights into their construction. For the benefit of the uninitiated, the encoding method used in the second cypher employs a specified document whose words are simply numbered consecutively, and first letters of these words are sought out at random to match the letters of these words are sought out at random to match the letters of the clear text or message. \par The sequence of numbers corresponding to these matches is then written down as the final code. While primitive, the process has the advantage of relative security until the source document becomes known; at that moment the cypher can be decoded even by second graders. The work now completed with the help of our UNIVAC 1108 includes numerous analytical studies of the Beale cyphers and various types of simulations. \par For example, we have turned the entire process of simulated encoding by various schemes over to the machine and analyzed the signatures of these synthetic codes; we have also encoded various messages by hand, using different texts and a variety of methods to obtain their signatures. These simulations provide convincing evidence that the signatures are both process and data dependent; they indicate also very strongly that Mr. Beale's cyphers are for real and that it is merely a matter of time before someone finds the correct source document and locates the right vault in the common-wealth of Virginia.",
  acknowledgement = ack-nhfb,
  classcodes =   "B6120B (Codes); C6130 (Data handling techniques)",
  keywords =     "Beale Cyphers codes; codes; computer applications; computer signature simulation; cryptanalysis; cyphers; Declaration of Independence; decoding; encoding; Magna Carta; numerical cryptographic codes; pseudotext; results analysis; signature; simulation; Thomas Jefferson Beale; treasure site identification",
  treatment =    "A Application",
}

@Article{Klinger:1971:PWA,
  author =       "A. Klinger",
  title =        "Pattern width at a given angle",
  journal =      j-CACM,
  volume =       "14",
  number =       "1",
  pages =        "15--20",
  month =        jan,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B6140C (Optical information, image and video signal processing); C1250 (Pattern recognition)",
  corpsource =   "Univ. California, Los Angeles, CA, USA",
  keywords =     "extent integral projections; feature extraction; figure properties; functions; geometrical concept; integral geometry; linear pattern measures; pattern recognition; picture processing; width; width at angle; word description",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Chang:1971:RBP,
  author =       "Shi-Kuo Chang",
  title =        "The Reconstruction of Binary Patterns from Their Projections",
  journal =      j-CACM,
  volume =       "14",
  number =       "1",
  pages =        "21--25",
  month =        jan,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68.00",
  MRnumber =     "44\#2379",
  mrreviewer =   "G. D. Chakerian",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Given the horizontal and vertical projections of a finite binary pattern $f$, can we construct the original pattern $f$? In this paper we give a characterization of patterns that are reconstructible from their projection. Three algorithms are developed to reconstruct both unambiguous and ambiguous patterns. It is shown that an unambiguous pattern can be perfectly reconstructed in time $m \times n$ and that a pattern similar to an ambiguous pattern can also be constructed in time $m \times n$, where $m$, $n$ are the dimensions of the pattern frame.",
  acknowledgement = ack-nhfb,
  classcodes =   "B6140C (Optical information, image and video signal processing); C1250 (Pattern recognition)",
  corpsource =   "IBM, Yorktown Heights, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "ATI; CACMA; computers, digital; data compression; finite binary pattern; image reconstruction; integral geometry; original pattern reconstruction; pattern frame dimensions; pattern recognition; pattern recognition systems; pattern reconstruction",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Bracchi:1971:LTG,
  author =       "G. Bracchi and D. Ferrari",
  title =        "Language for Treating Geometric Patterns in a Two-Dimensional Space",
  journal =      j-CACM,
  volume =       "14",
  number =       "1",
  pages =        "26--32",
  month =        jan,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "In this paper CADEP, a problem-oriented language for positioning geometric patterns in a two-dimensional space, is presented. Although the language has been specifically designed for the automatic generation of integrated circuit masks, it turns out to be well suited also for such other placement problems as architecture design, urban planning, logical and block diagram representation.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140D (High level languages)",
  corpsource =   "Politecnico Milano, Italy",
  journalabr =   "Commun ACM",
  keywords =     "2-dimensional space; architecture design; automation; block diagrams; CACMA; CADEP; computers, digital; computers, digital, pattern re; Fortran; Fortran extension; generation; geometric patterns; graphic; graphic displays; integrated circuit masks; integrated circuits; language; languages; layout problems; logic diagrams representation; pattern recognition; pattern recognition systems; planning; positioning; problem oriented language; problem oriented languages; urban; urban planning",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Broucke:1971:CRN,
  author =       "R. A. Broucke",
  title =        "Construction of rational and negative powers of a formal series",
  journal =      j-CACM,
  volume =       "14",
  number =       "1",
  pages =        "32--35",
  month =        jan,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4130 (Interpolation and function approximation)",
  corpsource =   "Univ. California, Los Angeles, CA, USA",
  keywords =     "binomial; Chebyshev approximation; Chebyshev series; construction; convergence; convergence of numerical methods; Fourier series; inversion; iterative methods; Newton iterations; Poisson's; rational negative power; root extraction; series; series expansion; theorem",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Holt:1971:CPS,
  author =       "R. C. Holt",
  title =        "Comments on Prevention of System Deadlocks",
  journal =      j-CACM,
  volume =       "14",
  number =       "1",
  pages =        "36--38",
  month =        jan,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A. N. Habermann's method of deadlock prevention is discussed, where deadlock is defined as a system state from which resource allocations to certain processes are not possible. It is shown that the scheduler may introduce `artificial' deadlocks which Habermann's method does not prevent. Permanent blocking is the situation where certain processes never receive their resource requests. It is shown that deadlock prevention does not necessarily eliminate permanent blocking. A method of preventing permanent blocking is given.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150J (Operating systems)",
  corpsource =   "Cornell Univ. Ithaca, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "CACMA; computers, digital; computers, digital, operation; deadly embrace; Habermann's method; interlock; knotting; layout; multiprogramming; operating systems (computers); permanent blocking preventions; resource allocation; scheduling; storage allocation; system deadlock prevention; system recovery; time sharing",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Hoare:1971:PPF,
  author =       "C. A. R. Hoare",
  title =        "Proof of a Program: {FIND}",
  journal =      j-CACM,
  volume =       "14",
  number =       "1",
  pages =        "39--45",
  month =        jan,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/ml.bib",
  abstract =     "An informal description is given of the purpose of the program and the method used. A systematic technique is described for constructing and the program proof during the process of coding it, in such a way as to prevent the intrusion of logical errors. The proof of termination is treated as a separate exercise. Some, conclusions relating to general programming methodology are drawn.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4290 (Other computer theory)",
  corpsource =   "Queen's Univ. Belfast, UK",
  journalabr =   "Commun ACM",
  keywords =     "algorithm correctness; algorithm theory; CACMA; coding; computers, digital; computers, digital, programming; documentation; FIND; ITI; languages; logical errors intrusion; programming methodology; programming theory; programs proofs",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Proll:1971:FEA,
  author =       "L. G. Proll",
  title =        "Further evidence for the analysis of algorithms for the zero-one programming problem",
  journal =      j-CACM,
  volume =       "14",
  number =       "1",
  pages =        "46--47",
  month =        jan,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The purpose of this note is to report computational experience additional to that recently summarized R. L. Gue et al, with two algorithms for the zero-one linear programming problem. An error in Gue's paper is corrected. The utility of one of the algorithms as a suboptimizer is indicated.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0260 (Optimisation techniques); C1180 (Optimisation techniques)",
  corpsource =   "Univ. Southampton, UK",
  journalabr =   "Commun ACM",
  keywords =     "algorithm analysis; algorithm theory; CACMA; computational; ES,; experience; integer programming; linear programming; mathematics; operations research; suboptimisation; zero one variables",
  treatment =    "T Theoretical or Mathematical",
  xxtitle =      "Further Evidence of the Analysis of Algorithms for the Zeroone Programming Problem",
}

@Article{Coleman:1971:AAC,
  author =       "M. W. Coleman and M. S. Taylor",
  title =        "{ACM} Algorithm 403: Circular Integer Partitioning",
  journal =      j-CACM,
  volume =       "14",
  number =       "1",
  pages =        "48--48",
  month =        jan,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Misc/acm.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C7310 (Mathematics computing)",
  corpsource =   "Aberdeen Proving Ground, MD, USA",
  keywords =     "circular integer partitioning; combinations; design; experiments design; number theory; statistical; subroutines",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Lucas:1971:AAC,
  author =       "C. W. {Lucas, Jr.} and C. W. Terrill",
  title =        "{ACM} Algorithm 404: Complex Gamma Function",
  journal =      j-CACM,
  volume =       "14",
  number =       "1",
  pages =        "48--49 (or 48--48??)",
  month =        jan,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4120 (Functional analysis); C7310 (Mathematics computing)",
  corpsource =   "Coll. William and Mary, Williamsburg, VA, USA",
  keywords =     "algorithm; CGAMMA; complex gamma function evaluation; formula; function evaluation; poles of gamma function; recursion formula; reflection; Stirling's asymptotic series; subroutine in ALGOL; subroutines",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Redish:1971:CLC,
  author =       "K. A. Redish",
  title =        "Comment on {London}'s Certification of Algorithm 245",
  journal =      j-CACM,
  volume =       "14",
  number =       "1",
  pages =        "50--51",
  month =        jan,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Fri Jan 17 18:29:55 1997",
  acknowledgement = ack-nhfb,
  keywords =     "certification; debugging; in-place sorting; metatheory; proof of algorithms; sorting",
}

@Article{Pollack:1971:CCD,
  author =       "S. L. Pollack",
  title =        "Comment on the conversion of decision tables to computer programs",
  journal =      j-CACM,
  volume =       "14",
  number =       "1",
  pages =        "52--52",
  month =        jan,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming)",
  corpsource =   "S. D. Leidesdorf and Co., NY, USA",
  keywords =     "aids; application; business; comments; communication; computer program; conversion; decision tables; diagnostic; systems analysis",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Schwayder:1971:CLE,
  author =       "K. Schwayder",
  title =        "Conversion of Limited-Entry Decision Tables to Computer Programs. a Proposed Modification to {Pollack}'s Algorithm",
  journal =      j-CACM,
  volume =       "14",
  number =       "2",
  pages =        "69--73",
  month =        feb,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Thu Jan 16 19:52:47 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "S. Pollack has proposed an algorithm for converting decision tables into flowcharts which minimize subsequent execution time when compiled into a computer program. Two modifications to this algorithm are proposed. The first relies on Shannon's noiseless coding theorem and the communications concept of entropy but does not completely test the ELSE Rule. The second modification completely tests the ELSE Rule but results in more executions than the first modification. Both modifications result in lower execution time than Pollack's algorithm. However, neither modification guarantees a globally optimal solution.",
  acknowledgement = ack-nhfb,
  journalabr =   "Commun ACM",
  keywords =     "CACMA; communication channels; computers, digital; information theory; programming; programs",
}

@Article{Shwayder:1971:CLE,
  author =       "K. Shwayder",
  title =        "Conversion of limited-entry decision tables to computer programs-a proposed modification to {Pollack}'s algorithm",
  journal =      j-CACM,
  volume =       "14",
  number =       "2",
  pages =        "69--73",
  month =        feb,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming)",
  corpsource =   "Univ. Chicago, IL, USA",
  keywords =     "computer; conversion; decision tables; flow charting; flowcharting; modifications; Pollack's algorithm; programming; programs",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Bernstein:1971:PST,
  author =       "A. J. Bernstein and J. C. Sharp",
  title =        "A policy-driven scheduler for a time-sharing system",
  journal =      j-CACM,
  volume =       "14",
  number =       "2",
  pages =        "74--78",
  month =        feb,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A scheduling and swapping algorithm which keeps the resource count of each process above its policy function will provide the specified level of service. Overhead can be reduced by avoiding swaps of processes which have received at least this level of service. The algorithm has been implemented in a general purpose operating system, and it has provided significantly better service to interactive and to batch jobs than the previous scheduler.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150J (Operating systems)",
  corpsource =   "General Electric, Schenectady, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "CACMA; computation theory; computers, digital; computers, digital, operating; operating; operating systems (computers); policy driven; scheduler; scheduling algorithm; supervisory and executive programs; supervisory programs; systems; time sharing; time sharing systems; time-sharing systems",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Nielsen:1971:AST,
  author =       "N. R. Nielsen",
  title =        "An analysis of some time-sharing techniques",
  journal =      j-CACM,
  volume =       "14",
  number =       "2",
  pages =        "79--90",
  month =        feb,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The effectiveness of certain time-sharing techniques such as program relocation, disk rotational delay minimization, and swap volume minimization is investigated. Summary data is presented, and the findings are discussed. The vehicle for this investigation was a SI-MULA based simulation model reflecting an early framework for a planned Burroughs B6500 time-sharing system. Inasmuch as the B6500 system is based upon the use of variable sized segments and a dynamic overlay procedure, data is also presented which provides some indication of the effectiveness of this type of organization in a time-sharing environment. The design characteristics and operational capabilities of the simulation model are also described.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150J (Operating systems)",
  corpsource =   "Stanford Univ., CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "CACMA; capabilities; computers, digital; computers, digital, operating; design characteristics; disk rotational delay; minimization; operating systems; operating systems (computers); operational; program relocation; simulation; simulation model; swap volume minimization; systems analysis; techniques; time sharing; time sharing systems; time-sharing systems",
  treatment =    "P Practical",
}

@Article{Slagle:1971:EAL,
  author =       "J. R. Slagle and C. D. Farrell",
  title =        "Experiments in Automatic Learning for a Multipurpose Heuristic Program",
  journal =      j-CACM,
  volume =       "14",
  number =       "2",
  pages =        "91--99 (or 91--98??)",
  month =        feb,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  abstract =     "An automatic learning capability has been developed and implemented for use with the MULTIPLE (MULTIpurpose Program that LEarns) heuristic tree-searching program, which is presently being applied to resolution theorem-proving in predicate calculus. MULTIPLE's proving program (PP) uses two evaluation functions to guide its search for a proof of whether or not a particular goal is achievable. Thirteen general features of predicate calculus clauses were created for use in the automatic learning of better evaluation functions for PP. A multiple regression program was used to produce optimal coefficients for linear polynomial functions in terms of the features.\par Also, automatic data-handling routines were written for passing data between the learning program and the proving program, and for analyzing and summarizing results. Data was generally collected for learning (regression analysis) from the experience of PP. A number of experiments were performed to test the effectiveness and generality of the learning program. Results showed that the learning produced dramatic improvements in the solutions to problems which were in the same domain as those used for collection learning data. Learning was also shown to generalize successfully to domains other than those used for data collection. Another experiment demonstrated that the learning program could simultaneously improve performance on problems in a specific domain and on problems in a variety of domains. Some variations of the learning program were also tested.",
  acknowledgement = ack-nhfb,
  classcodes =   "C1230 (Artificial intelligence)",
  corpsource =   "Nat. Inst. Health, Bethesda, MD, USA",
  keywords =     "adaptive; artificial intelligence; automatic learning; computer aided instruction; computer aided learning; education; experimental development; heuristic; heuristic programming; heuristic tree searching program; learning; learning systems; LISP; multiple regression; multipurpose heuristic program; problem-solving; resolution; self-modifying; system; theorem-providing; tree-searching; trees; trees (mathematics)",
  treatment =    "P Practical",
}

@Article{Hurwitz:1971:PDV,
  author =       "H. {Hurwitz, Jr.}",
  title =        "On the Probability Distribution of the Values of Binary Trees",
  journal =      j-CACM,
  volume =       "14",
  number =       "2",
  pages =        "99--102",
  month =        feb,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "\ldots{}unction for binary tree values, the values reflecting sorting effort. The analysis does not assume uniformly distributed branching ratios, and therefore is applicable to a family of sorting algorithms discussed by Hoare, Singleton, and van Emden. \par The solution to the integral equation indicates that using more advanced algorithms in the family makes only minor reductions in the expected sorting effort, but substantially reduces the variance in sorting effort. Statistical tests of the values of several thousand trees containing up to 10,000 points have given first, second, and third moments of the value distribution function in satisfactory agreement with the moments computed from the generating function. The empirical tests, as well as the analytical results, are in agreement with previously published results for the first moment in the cases of uniform and nonuniform distribution of branching ratio, and for the second moment in the case of uniform distribution of branching ratio.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  corpsource =   "General Electric, Schenectady, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "binary tree; binary trees; CACMA; generation; integral equation: function; integral equations; N T; probability distribution; sorting; statistical analysis; statistical tests; statistics; trees; trees (mathematics); values",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Slagle:1971:AGT,
  author =       "J. R. Slagle and R. C. T. Lee",
  title =        "Application of Game Tree Searching Techniques to Sequential Pattern Recognition",
  journal =      j-CACM,
  volume =       "14",
  number =       "2",
  pages =        "103--110",
  month =        feb,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A sequential pattern recognition (SPR) procedure does not test all the features of a pattern at once. Instead, it selects a feature to be tested. After receiving the result of that test, the procedure either classifies the unknown pattern or selects another feature to be tested, etc. Medical diagnosis is an example of SPR. In this paper the authors suggest that SPR be viewed as a one-person game played against nature (chance). Virtually all the powerful techniques developed for searching two-person, strictly competitive game trees can easily be incorporated either directly or by analogy into SPR procedures. \par In particular, one can incorporate the ``mini average backing-up procedure'' and the ``gamma procedure,'' which are the analogues of the ``minimax backing-up procedure'' and the ``alpha-beta procedure,'' respectively. \par Some computer simulated experiments in character recognition are presented. The results indicate that the approach is promising.",
  acknowledgement = ack-nhfb,
  classcodes =   "B6140C (Optical information, image and video signal processing); C1250 (Pattern recognition)",
  corpsource =   "Nat. Inst. Health, Bethesda, MD, USA",
  journalabr =   "Commun ACM",
  keywords =     "bioengineering, computer applications; branch-and-bound approach; CACMA; CAL; computers, digital, character; dynamic programming; game against nature; game theory; game theory application; game tree searching; gamma procedure; mini average backing-up procedure; optimal solution; pattern; pattern recognition; pattern recognition systems; recognition; sequential pattern recognition; techniques; trees; trees (mathematics)",
  treatment =    "P Practical",
}

@Article{Rokne:1971:CIA,
  author =       "J. Rokne and P. Lancaster",
  title =        "Complex Interval Arithmetic",
  journal =      j-CACM,
  volume =       "14",
  number =       "2",
  pages =        "111--112",
  month =        feb,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Complex interval arithmetic is defined using real interval arithmetic. Complex interval division is defined so as to assure smallest possible resulting intervals.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5230 (Digital arithmetic methods)",
  corpsource =   "Univ. Calgary, Alta., Canada",
  journalabr =   "Commun ACM",
  keywords =     "complex interval arithmetic; complex intervals; digital arithmetic; mathematics; numerical mathematics; numerical methods; on; real interval arithmetic; real intervals",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Dell:1971:AAR,
  author =       "A. M. Dell and R. L. Weil and G. L. Thompson",
  title =        "{ACM} Algorithm 405: Roots of Matrix Pencils: The Generalized Eigenvalue Problem",
  journal =      j-CACM,
  volume =       "14",
  number =       "2",
  pages =        "113--117",
  month =        feb,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4140 (Linear algebra); C7310 (Mathematics computing)",
  corpsource =   "Univ. Chicago, IL, USA",
  keywords =     "algebra; eigenvalues and eigenfunctions; generalised eigenvalue; linear; matrix algebra; problem; roots of matrix pencils; subroutines",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Noll:1971:SCG,
  author =       "A. M. Noll",
  title =        "Scanned-Display Computer Graphics",
  journal =      j-CACM,
  volume =       "14",
  number =       "3",
  pages =        "143--150",
  month =        mar,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A television-like scanned-display system has been successfully implemented on a Honeywell DDP-224 computer installation. The scanned image is stored in the core memory of the computer, and software scan conversion is used to convert the rectangular coordinates of a point to the appropriate work and bit in an output display array in core storage. Results thus far indicate that flicker-free displays of large amounts of data are possible with reasonably fast graphical interaction. A scanned image of size 240x254 points is displayed at a 30 frame-per-second rate.",
  acknowledgement = ack-nhfb,
  classcodes =   "B7260 (Display technology and systems); C5540 (Terminals and graphic displays)",
  corpsource =   "Bell Telephone Labs. Inc., Murray Hill, NJ, USA",
  journalabr =   "Commun ACM",
  keywords =     "CACMA; computer; computer graphics; computers, digital; core memory; display systems; ed.; graphical interaction; installation; raster displays; scan conversion; scanned image; software; stored; television like scanned display",
  treatment =    "A Application; P Practical",
}

@Article{Manna:1971:TAP,
  author =       "Z. Manna and R. J. Waldinger",
  title =        "Toward Automatic Program Synthesis",
  journal =      j-CACM,
  volume =       "14",
  number =       "3",
  pages =        "151--165",
  month =        mar,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "An elementary outline of the theorem-proving approach to automatic program synthesis is given, without dwelling on technical details. The method is illustrated by the automatic construction of both recursive and iterative programs operating on natural numbers,lists, and trees, In order to construct a program satisfying certain specifications a theorem induced by those specifications is proved, and the desired program is extracted from the proof. The same technique is applied to transform recursively defined functions into iterative programs, frequently with a major gain inefficiency. It is emphasized that in order to construct a program with loops or with recursion, the principle of mathematical induction must be applied. The relation between the version of the induction rule used and the form of the program constructed is explored in some detail.",
  acknowledgement = ack-nhfb,
  classcodes =   "C1230 (Artificial intelligence)",
  corpsource =   "Stanford Univ., CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "answer extraction; artificial; artificial intelligence; automata theory; automatic program synthesis; CACMA; computer metatheory; computers, languages; computers, programming; intelligence; lists; mathematical induction; mathematical induction principle; natural numbers; principle; problem solving; programs; recursive and iterative; theorem proving; trees",
  treatment =    "P Practical",
}

@Article{Winters:1971:SAC,
  author =       "W. K. Winters",
  title =        "Scheduling Algorithm for a Computer Assisted Registration System",
  journal =      j-CACM,
  volume =       "14",
  number =       "3",
  pages =        "166--171",
  month =        mar,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "This paper presents the scheduling algorithm used in the Computer Assisted Registration System at the University of Tennessee. Notation is defined and the logic of the algorithm necessary to implement educational policy is described. Results from the first term's implementation are presented.",
  acknowledgement = ack-nhfb,
  classcodes =   "C7110 (Educational administration)",
  corpsource =   "Univ. Tennessee, Knoxville, TN, USA",
  journalabr =   "Commun ACM",
  keywords =     "administrative data processing; CACMA; computer assisted registration system; data processing; educational administrative data processing; educational policy; implementation; logic; scheduling algorithm; timetable",
  treatment =    "A Application; P Practical",
}

@Article{Williams:1971:SUM,
  author =       "J. G. Williams",
  title =        "Storage Utilization in a Memory Hierarchy When Storage Assignment is Performed by a Hashing Algorithm",
  journal =      j-CACM,
  volume =       "14",
  number =       "3",
  pages =        "172--175",
  month =        mar,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The utilization of storage is studied in a two-level memory hierarchy. The first storage level, which is the fast store, is divided into a number of storage areas. When an entry is to be filed in the hierarchy, a hashing algorithm will attempt to place the entry into one of these areas. If this particular area is full, then the entry will be placed into the slower second-level store, even though other areas in the first-level store may have space available. Given that N entries have been filed in the entire hierarchy, an expression is derived for the expected number of entries filed in the first-level store. This expression gives a measure of how effectively the first-level store is being used. By means of examples, storage utilization is then studied as a function of the hashing algorithm, the number of storage areas into which the first-level store is divided and the total size of the first-level store.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  corpsource =   "RCA Labs., Princeton, NJ, USA",
  journalabr =   "Commun ACM",
  keywords =     "CACMA; computers, digital; hashing algorithm; hierarchical systems; memory allocation; memory hierarchy; storage allocation; storage assignment; storage units; storage utilization",
  treatment =    "A Application; P Practical",
}

@Article{Gear:1971:AIO,
  author =       "C. W. Gear",
  title =        "The Automatic Integration of Ordinary Differential Equations",
  journal =      j-CACM,
  volume =       "14",
  number =       "3",
  pages =        "176--179",
  month =        mar,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65L05",
  MRnumber =     "52 9612",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A criterion for the selection of the order of approximation is proposed. The objective of the criterion is to increase the step size so as to reduce solution time. An option permits the solution of `stiff' differential equations. A program embodying the techniques discussed appears as an algorithm which is specified.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4170 (Differential equations)",
  corpsource =   "Stanford Univ., CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "automatic; boundary value problems; boundary-value problems; CACMA; differential equations; initial value; integration; mathematics; numerical methods; order control; order of approximation; ordinary differential equations; problem; selection; step control; stiff equations",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Howell:1971:AAE,
  author =       "J. A. Howell",
  title =        "{ACM} Algorithm 406: Exact Solution of Linear Equations Using Residue Arithmetic",
  journal =      j-CACM,
  volume =       "14",
  number =       "3",
  pages =        "180--184",
  month =        mar,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7310 (Mathematics computing)",
  corpsource =   "Univ. Texas, Austin, TX, USA",
  keywords =     "adjoint matrix; determinant; Gaussian elimination; ill condition; inversion; linear equations; matrix; matrix algebra; modulus; prime number; residue arithmetic; subroutine; subroutines; symmetric mixed radix representation; symmetric residue",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Gear:1971:AAD,
  author =       "C. W. Gear",
  title =        "{ACM} Algorithm 407: {DIFSUB} for Solution of Ordinary Differential Equations",
  journal =      j-CACM,
  volume =       "14",
  number =       "3",
  pages =        "185--190",
  month =        mar,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7310 (Mathematics computing)",
  corpsource =   "Univ. Illinois, Urbana, IL, USA",
  keywords =     "control; differential equations; DIFSUB; estimated error; method; multistep predictor corrector; ordinary differential equations; stiff differential equations; subroutine; subroutines",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Wirth:1971:PDS,
  author =       "N. Wirth",
  title =        "Program Development by Stepwise Refinement",
  journal =      j-CACM,
  volume =       "14",
  number =       "4",
  pages =        "221--227",
  month =        apr,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Parallel/conc.scientific.computing.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming)",
  corpsource =   "Eidgenossische Tech. Hochschule, Zurich, Switzerland",
  keywords =     "development; education; programming; programming techniques; refinement; stepwise",
  treatment =    "P Practical",
}

@Article{Lum:1971:KAT,
  author =       "V. Y. Lum and P. S. T. Yuen and M. Dodd",
  title =        "Key-to-Address Transform Techniques: {A} Fundamental Performance Study on Large Existing Formatted Files",
  journal =      j-CACM,
  volume =       "14",
  number =       "4",
  pages =        "228--239",
  month =        apr,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib; ftp://ftp.ira.uka.de/pub/bibliography/Misc/hash.bib",
  note =         "Survey of several hash functions, with performance results.",
  abstract =     "The results of a study of eight different keyto-address transformation methods applied to a set of existing files are presented. As each method is applied to a particular file, load factor and bucket size are varied over a wide range. Appropriate variables pertinent only to a specific method take on different values. The performance of each method is summarized in terms of the number of accesses required to get to a record and the number of overflow records created by a transformation. Peculiarities of each method are discussed. Practical guidelines obtained from the results are stated. A proposal for further quantitative fundamental study is outlined.",
  acknowledgement = ack-nhfb,
  annote =       "Measurement of direct access methods",
  classcodes =   "C6120 (File organisation)",
  corpsource =   "IBM, San Jose, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "CACMA; computers, digital; computers, digital codes; file organization; has codes; information storage and retrie; random access storage",
  keywords =     "file management; file organisation; file organization; formatted files; information retrieval; key to address transform; techniques",
  treatment =    "P Practical",
}

@Article{Tucker:1971:DMP,
  author =       "A. B. Tucker and M. J. Flynn",
  title =        "Dynamic Microprogramming. Processor Organization and Programming",
  journal =      j-CACM,
  volume =       "14",
  number =       "4",
  pages =        "240--250",
  month =        apr,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A microassembly language is developed and the overhead involved in subroutine linkages is analyzed. The efficiency of a flexible software linkage scheme is examined as to its overhead for various subroutine characteristics. Three examples of problem-oriented programming are considered and the resulting coding is compared against a System/360 assembly language version, with the technology normalized.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150C (Compilers, interpreters and other processors)",
  corpsource =   "Northwestern Univ., Evanston, IL, USA",
  journalabr =   "Commun ACM",
  keywords =     "CACMA; computers, digital; dynamically microprogrammed processor; microassembly language; microprogramming; microstorage; problem oriented programming; problem-oriented languages; program processors; read write; subroutine linkage",
  treatment =    "P Practical",
}

@Article{Talbot:1971:AOT,
  author =       "P. A. Talbot and J. W. Carr and R. R. {Coulter, Jr.} and R. C. Hwang",
  title =        "Animator: an on-line two-dimensional film animation system",
  journal =      j-CACM,
  volume =       "14",
  number =       "4",
  pages =        "251--259",
  month =        apr,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C5540 (Terminals and graphic displays)",
  corpsource =   "Univ. Pennsylvania, Philadelphia, PA, USA",
  keywords =     "computer animation; computer graphics; dimensional languages; microfilm recorder; on line system; online operation; programming languages; two",
  treatment =    "P Practical",
}

@Article{Stein:1971:CD,
  author =       "M. L. Stein and W. D. Munro",
  title =        "On Complement Division",
  journal =      j-CACM,
  volume =       "14",
  number =       "4",
  pages =        "260--264",
  month =        apr,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The division algorithm theorem is expressed in a form that permits it to serve as the basis for devising division operations that produce both quotient and remainder in complement form. Algorithms for division yielding complement results are derived for numbers represented in any base greater than one. Both radix and radix-less-one complementation schemes are considered. The binary form of the algorithms thus includes both two's and one's complement implementation. The problem of quotient overflow for complement results is dealt with as is that of selecting an appropriate form of the remainder condition for complement division.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic)",
  corpsource =   "Univ. Minnesota, Minneapolis, MN, USA",
  journalabr =   "Commun ACM",
  keywords =     "algorithmic languages; CACMA; complement; digital arithmetic; division; division algorithm; mathematics; radix complementation schemes",
  treatment =    "P Practical",
}

@Article{McNamee:1971:AAS,
  author =       "J. M. McNamee",
  title =        "{ACM} Algorithm 408: {A} Sparse Matrix Package (Part {I})",
  journal =      j-CACM,
  volume =       "14",
  number =       "4",
  pages =        "265--273",
  month =        apr,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "See also \cite{Sipala:1977:RAS,Gustavson:1978:RAS,Harms:1980:RSM}.",
  acknowledgement = ack-nhfb,
  classcodes =   "C7410B (Power engineering computing)",
  corpsource =   "York Univ., Downsview, Ont., Canada",
  keywords =     "algebra; electrical engineering applications of computers; electrical network problems; Fortran subroutines; matrix; sparse matrix manipulation; subroutines; tests",
  treatment =    "P Practical",
}

@Article{Olle:1971:IFA,
  author =       "T. William {Olle (Chairman)} and {Codasyl Systems Committee}",
  title =        "Introduction to {`Feature analysis of generalized data base management systems'}",
  journal =      j-CACM,
  volume =       "14",
  number =       "5",
  pages =        "308--318",
  month =        may,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "This introduction gives a review of the current state of the art in the systems and discusses the differences and similarities between capabilities found in host language systems and those found in self-contained systems. Technical problems facing future designers are described. The use of Cobol as a basis for further development work is considered at some length with respect to data structures, host language capabilities, and self-contained capabilities.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C6130 (Data handling techniques)",
  keywords =     "data structures; feature analysis; generalised data base management systems; information; programming languages; retrieval; standards; storage management; transaction processing",
}

@Article{Nielsen:1971:MRC,
  author =       "N. R. Nielsen",
  title =        "The merit of regional computing networks",
  journal =      j-CACM,
  volume =       "14",
  number =       "5",
  pages =        "319--326",
  month =        may,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "One of the suggested means for stimulating the spread of computing capabilities in institutions of higher learning is through the construction of regional computing networks. One such network has been constructed in the San Francisco Bay Area of Stanford University. This paper reports upon the lessons learned from the operation of that network over the past 2 yr.",
  acknowledgement = ack-nhfb,
  classcodes =   "C0220 (Computing education and training); C5600 (Data communication equipment and techniques); C7810C (Computer-aided instruction)",
  corpsource =   "Stanford Univ., CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "CACMA; computer aided instruction; computer applications; computer sharing; computer utility; computers, digital, data proce; computing; cooperative networks; curriculum development; digital communication systems; education; educational computing; engineering education; R C; remote",
}

@Article{Krolak:1971:MAT,
  author =       "P. Krolak and W. Felts and G. Marble",
  title =        "A Man-Machine Approach Toward Solving the Traveling Salesman Problem",
  journal =      j-CACM,
  volume =       "14",
  number =       "5",
  pages =        "327--334",
  month =        may,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "This paper describes a computer aided heuristic technique which uses only a modest amount of computer time in real-time to solve large (100 to 200) point problems. This technique takes advantage of both the computer's and the human's problem-solving abilities. The computer is not asked to solve the problem in a brute force way as in many of today's heuristics, but it is asked to organize the data for the human so that the human can solve the problem easily. The technique used in this paper seems to point to new directions in the field of man-machine interaction and in the field of artificial intelligence.",
  acknowledgement = ack-nhfb,
  classcodes =   "C1230 (Artificial intelligence); C1270 (Man-machine systems)",
  corpsource =   "Vanderbilt Univ., Nashville, TN, USA",
  journalabr =   "Commun ACM",
  keywords =     "artificial intelligence; assignment; CACMA; computer aided heuristic techniques; computer applications; cybernetics; heuristic procedure; heuristic programming; interaction process; man machine interaction; man-machine systems; operations research; optimisation; problem; production planning and control; rubber band tour generator; travelling salesman problem",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Montanari:1971:ODC,
  author =       "Ugo Montanari",
  title =        "On the optimal detection of curves in noisy pictures",
  journal =      j-CACM,
  volume =       "14",
  number =       "5",
  pages =        "335--345",
  month =        may,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Misc/Reverse.eng.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "B6140C (Optical information, image and video signal processing); C1250 (Pattern recognition)",
  corpsource =   "Istituto Elaborazione Informazione, Pisa, Italy",
  keywords =     "curve; description; dynamic programming; edge; global recognition; heuristic; heuristic programming; interaction graph; line; methods; noise; optimal detection; optimisation; optimisation problem; parallel processing; pattern recognition; picture; picture processing; picture recognition; secondary",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Richards:1971:HKA,
  author =       "D. L. Richards",
  title =        "How to Keep the Addresses Short",
  journal =      j-CACM,
  volume =       "14",
  number =       "5",
  pages =        "346--349",
  month =        may,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/Compiler.Lins.bib",
  abstract =     "This paper demonstrates that a wide class of problems can be formulated as covering problems solvable by means of elementary arithmetic operations on the column vectors of a ternary matrix.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques); C6150C (Compilers, interpreters and other processors)",
  corpsource =   "Leasco Systems Corp., Tustin, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "addressing; assembler; CACMA; compilers; computers, digital; covering problem; data handling; integer; integer programming; minimisation; program; program assemblers; programming; variable length addressing",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Fenichel:1971:ILV,
  author =       "R. R. Fenichel",
  title =        "On Implementation of Label Variables",
  journal =      j-CACM,
  volume =       "14",
  number =       "5",
  pages =        "349--350",
  month =        may,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Variables of label mode are conventionally implemented with a technique which fails to trap certain programming errors. Fine-grained calender clocks have recently become available; these allow implementation of label variables via a new technique which traps all programming errors of this variety.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150C (Compilers, interpreters and other processors)",
  corpsource =   "MIT, Cambridge, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "CACMA; compiler; computers, digital; DS; fine grained calendar clocks; go; interpreter; label variables implementation; program compilers; program debugging; to; transfer",
  treatment =    "P Practical",
}

@Article{Morris:1971:ARI,
  author =       "James H. {Morris, Jr.}",
  title =        "Another Recursion Induction Principle",
  journal =      j-CACM,
  volume =       "14",
  number =       "5",
  pages =        "351--354",
  month =        may,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "02F25 (94A25)",
  MRnumber =     "45 57",
  mrreviewer =   "H. R. Strong",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "An inductive method for proving things about recursively defined functions is described. It is shown to be useful for proving partial functions equivalent and thus applicable in proofs about interpreters for programming languages.",
  acknowledgement = ack-nhfb,
  classcodes =   "C1230 (Artificial intelligence); C4210 (Formal logic)",
  corpsource =   "Univ. California, Berkeley, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "automata theory; CACMA; compiler correctness; compiler correctness proofs; computational linguistics; computers, digital, languages; computers, digital, programming; correctness; induction; interpreters; proofs; proving; recursion; recursion induction principle; recursive functions; theorem",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Schmitt:1971:AAD,
  author =       "H. Schmitt",
  title =        "{ACM} Algorithm 409: Discrete {Chebychev} Curve Fit",
  journal =      j-CACM,
  volume =       "14",
  number =       "5",
  pages =        "355--356",
  month =        may,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4130 (Interpolation and function approximation); C7310 (Mathematics computing)",
  corpsource =   "Tech. Hochschule, Darmstadt, West Germany",
  keywords =     "ALGOL procedure; algorithm; Chebyshev approximation; discrete Chebychev curve fit; exchange; Remez algorithm; subroutines",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Chambers:1971:AAP,
  author =       "J. M. Chambers",
  title =        "{ACM} Algorithm 410: Partial Sorting [{M1}]",
  journal =      j-CACM,
  volume =       "14",
  number =       "5",
  pages =        "357--358",
  month =        may,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Misc/acm.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  corpsource =   "Bell Telephone Labs., Murray Hill, NJ, USA",
  keywords =     "FORTRAN routine; order statistics; partial sorting; sorting; subroutines",
  keywords =     "partial sorting order statistics; sorting",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Harada:1971:GRP,
  author =       "Kazuaki Harada",
  title =        "Generation of rosary permutations expressed in {Hamiltonian} circuits",
  journal =      j-CACM,
  volume =       "14",
  number =       "6",
  pages =        "373--379",
  month =        jun,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "90.30 (05.00)",
  MRnumber =     "44\#3675",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  abstract =     "Systematic generation of a specific class of permutations fundamental to scheduling problems is described. In a nonoriented complete graph with n vertices, Hamiltonian circuits equivalent to $.5(n - 1)!$ specific permutations of $n$ elements, termed rosary permutations, can be defined. Each of them corresponds to two circular permutations which mirror-image each other, and is generated successively by a number system covering $3*4*\ldots*(n-1)$ sets of edges. Every set of edges $\{E[k]\}, 1 <= E[k] <= k, 3 <= k <= (n-1)$ is determined recursively by constructing a Hamiltonian circuit with $k$ vertices from a Hamiltonian circuit with $k-1$ vertices, starting with the Hamiltonian circuit of 3 vertices. The basic operation consists of transposition of a pair of adjacent vertices where the position of the pair in the permutation is determined by $\{E[k]\}$. Two algorithms treating the same example for five vertices are presented. It is very easy to derive all possible n! permutations from the $.5(n - 1 )!$ rosary permutations be cycling the permutations and by taking them in the reverse order-procedures which can be performed fairly efficiently by computer.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0250 (Combinatorial mathematics)",
  corpsource =   "Washington Univ., St. Louis, MO, USA",
  keywords =     "circuits; combinatorial algebra; graph theory; Hamiltonian; nonoriented complete graph; permutation; rosary permutations generation; scheduling",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Foley:1971:AOD,
  author =       "J. D. Foley",
  title =        "An approach to the optimum design of computer graphics systems",
  journal =      j-CACM,
  volume =       "14",
  number =       "6",
  pages =        "380--390",
  month =        jun,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4290 (Other computer theory)",
  corpsource =   "Univ. North Carolina, Chapel Hill, NC, USA",
  keywords =     "average response time prediction; computer graphics; computer graphics systems; computer metatheory; mathematical; model; optimisation; optimum design",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Amarel:1971:CSC,
  author =       "S. Amarel",
  title =        "Computer Science: {A} Conceptual Framework for Curriculum Planning",
  journal =      j-CACM,
  volume =       "14",
  number =       "6",
  pages =        "391--401",
  month =        jun,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  abstract =     "Two views of computer science are considered: a global view which attempts to capture broad characteristics of the field and its relationships to other fields, and a local view which focuses on the inner structure of the field. This structure is presented in terms of the kinds of knowledge, problems, and activities that exist within the discipline, as well as the relations between them. An approach to curriculum planning in computer science is presented which is guided by the structure of the field, by the fact that change is an important feature of the situation, and by the expectation that computer science will continue to increase its working contacts with other disciplines.",
  acknowledgement = ack-nhfb,
  classcodes =   "C0220 (Computing education and training)",
  corpsource =   "Rutgers Univ., New Brunswick, NJ, USA",
  keywords =     "computer science; curriculum planning; education",
  treatment =    "G General Review",
}

@Article{Bosarge:1971:NPR,
  author =       "W. E. {Bosarge, Jr.} and O. G. Johnson",
  title =        "Numerical properties of the {Ritz-Trefftz} algorithm for optimal control",
  journal =      j-CACM,
  volume =       "14",
  number =       "6",
  pages =        "402--406",
  month =        jun,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65.30",
  MRnumber =     "44\#7714",
  mrreviewer =   "A. Pasquali",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  abstract =     "In this paper the Ritz-Trefftz algorithm is applied to the computer solution of the state regulator problem. The algorithm represents a modification of the Ritz direct method and is designed to improve the speed of solution and the storage requirements to the point where real-time implementation becomes feasible. The modification is shown to be more stable computationally than the traditional Ritz approach. \par The first concern of the paper is to describe the algorithm and establish its properties as a valid and useful numerical technique. In particular such useful properties as definiteness and reasonableness of condition are established for the method. The second part of the paper is devoted to a comparison of the new techniques with the standard procedure of numerically integrating a matrix Riccati equation to determine a feedback matrix. The new technique is shown to be significantly faster for comparable accuracy.",
  acknowledgement = ack-nhfb,
  classcodes =   "C1330 (Optimal control); C4190 (Other numerical methods)",
  corpsource =   "IBM Sci. Center, Houston, TX, USA",
  keywords =     "control theory; equation; feedback matrix; matrix Riccati; numerical; numerical analysis; numerical integration; numerical methods; optimal control; properties; regulator problem; Ritz Trefftz algorithm; splines; state regulator problem",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Gladwin:1971:NCF,
  author =       "H. Tim Gladwin",
  title =        "A Note on Compiling Fixed Point Binary Multiplications",
  journal =      j-CACM,
  volume =       "14",
  number =       "6",
  pages =        "407--408",
  month =        jun,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  abstract =     "An algorithm is developed for compiling, as a sequence of shifts, additions,and subtractions, many fixed point binary multiplications involving a constant. The most significant characteristics of the algorithm are the simplicity of the test which determines if the algorithm should be applied and the degree to which it ``suggests'' efficient object code.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5230 (Digital arithmetic methods)",
  corpsource =   "Univ. Washington, Seattle, WA, USA",
  keywords =     "additions; compiling fixed point binary multiplications; compiling multiplications; digital arithmetic; fixed point arithmetic; program compilers; shifts; subtractions",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Fraser:1971:MNP,
  author =       "A. G. Fraser",
  title =        "On the Meaning of Names in Programming Systems",
  journal =      j-CACM,
  volume =       "14",
  number =       "6",
  pages =        "409--416",
  month =        jun,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Misc/Functional.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic)",
  corpsource =   "Bell Telephone Labs. Inc., Murray Hill, NJ, USA",
  keywords =     "computational linguistics; context manipulation; data names; file; functional; lambda calculus; names; operating system; operating systems (computers); programming; programming systems; programming theory; theory",
  treatment =    "G General Review",
}

@Article{Walker:1971:BS,
  author =       "R. J. Walker",
  title =        "Binary summation",
  journal =      j-CACM,
  volume =       "14",
  number =       "6",
  pages =        "417--417",
  month =        jun,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C5230 (Digital arithmetic methods)",
  corpsource =   "Cornell Univ., Ithaca, NY, USA",
  keywords =     "binary summation; digital arithmetic; floating point; roundoff errors; space; storage",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Zelkowitz:1971:IDP,
  author =       "M. Zelkowitz",
  title =        "Interrupt driven programming",
  journal =      j-CACM,
  volume =       "14",
  number =       "6",
  pages =        "417--418",
  month =        jun,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C5220 (Computer architecture)",
  corpsource =   "Cornell Univ., Ithaca, NY, USA",
  keywords =     "associative; control; debugging; interrupt drive programming; memories; microprogramming; parallel processing; program execution",
  treatment =    "P Practical",
}

@Article{McKenney:1971:SCO,
  author =       "J. L. McKenney and F. M. Tonge",
  title =        "The State of Computer-Oriented Curricula in Business Schools 1970",
  journal =      j-CACM,
  volume =       "14",
  number =       "7",
  pages =        "443--448",
  month =        jul,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C0220 (Computing education and training)",
  corpsource =   "Harvard Univ., Cambridge, MA, USA",
  keywords =     "business schools; computer curricula; education; reviews",
  treatment =    "G General Review",
}

@Article{Bernstein:1971:PTP,
  author =       "A. J. Bernstein",
  title =        "A programmer training project",
  journal =      j-CACM,
  volume =       "14",
  number =       "7",
  pages =        "449--452",
  month =        jul,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C0220 (Computing education and training)",
  corpsource =   "General Electric Res. and Dev. Center, Schenectady, NY, USA",
  keywords =     "black; course organisation; curriculum; jobs; programmer training project; programming; residents; training",
  treatment =    "G General Review",
}

@Article{DeRemer:1971:SLK,
  author =       "Franklin L. DeRemer",
  title =        "Simple {LR(k)} grammars",
  journal =      j-CACM,
  volume =       "14",
  number =       "7",
  pages =        "453--460",
  month =        jul,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A30",
  MRnumber =     "47 9893",
  mrreviewer =   "J. E. L. Peck",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  abstract =     "A class of context-free grammars, called the ``Simple LR(k)'' or SLR(k) grammars is defined.\par This class has been shown to include weak precedence and simple precedence grammars as proper subsets. \par How to construct parsers for the SLR(k) grammars is also shown. These parser-construction techniques are extendible to cover all of the LR(k) grammars of Knuth; they have been implemented and by direct comparison proved to be superior to precedence techniques, not only in the range of grammars covered, but also in the speed of parser construction and in the size and speed of the resulting parsers.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic)",
  corpsource =   "Univ. of California, Santa Cruz, CA, USA",
  keywords =     "context-free grammar; deterministic pushdown automaton; finite-state machine; LR(k) grammar; parser; parsing algorithm; precedence grammar; syntactic analysis",
  keywords =     "context free grammars; context-free grammars; grammars; parser construction; precedence; simple LR(K) grammars",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Pratt:1971:LEG,
  author =       "Terrence W. Pratt and Daniel P. Friedman",
  title =        "A Language Extension for Graph Processing, and Its Formal Semantics",
  journal =      j-CACM,
  volume =       "14",
  number =       "7",
  pages =        "460--467 (or 461--467??)",
  month =        jul,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A30",
  MRnumber =     "46 6657",
  mrreviewer =   "A. D. Booth",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Ai/lisp.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140D (High level languages)",
  corpsource =   "Univ. Texas, Austin, TX, USA",
  keywords =     "data structure; directed graph; flowchart; formal semantics; graph processing; Graspe; language extension; Lisp; problem oriented languages; syntax",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Paton:1971:ABC,
  author =       "Keith Paton",
  title =        "An algorithm for the blocks and cut nodes of a graph",
  journal =      j-CACM,
  volume =       "14",
  number =       "7",
  pages =        "468--475",
  month =        jul,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "05-04",
  MRnumber =     "46 5135",
  mrreviewer =   "E. M. Reingold",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "See corrigendum \cite{Paton:1971:CAB}.",
  abstract =     "An efficient method is presented for finding blocks and cutnodes of an arbitrary undirected graph. The graph may be represented either (i) as an ordered list of edges or (ii) as a packed adjacency matrix. If $w$ denotes the word length of the machine employed, the storage (in machine words) required for a graph with $n$ nodes and $m$ edges increases essentially as $2(m+n)$ in case (i), or $(n^2)/w$ in case (ii). A spanning tree with labeled edges is grown, two edges finally bearing different labels if and only if they belong to different blocks. For both representations the time required to analyze a graph on $n$ nodes increases as $n^G$ where $G$ depends on the type of graph, $1 <= G <= 2$, and both bounds are attained. \par Values of G are derived for each of several suitable families of test graphs, generated by an extension of the web grammar approach. The algorithm is compared in detail with that proposed by Read for which 1 <= G <= 3.",
  acknowledgement = ack-nhfb,
  classcodes =   "C1160 (Combinatorial mathematics)",
  corpsource =   "Medical Res. Council, London, UK",
  keywords =     "algorithm; block; block-cutpoint-tree; blocks; cut nodes; cutnode; fundamental cycle set; graph; graph theory; labelled edges; lobe; lobe decomposition; lobe decomposition graph; ordered list of edges; packed adjacency matrix; separable; spanning tree; undirected; web grammar",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Ferguson:1971:BAM,
  author =       "D. E. Ferguson",
  title =        "Buffer Allocation in Merge-Sorting",
  journal =      j-CACM,
  volume =       "14",
  number =       "7",
  pages =        "476--478",
  month =        jul,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  abstract =     "A fixed buffer allocation for merge-sorting is presented here which minimizes the number of input-output operations for a given order of merge. \par When sorting on movable arm disks, the number of seeks is equal to the number of input-output operations, and the seek time usually controls the sort time. First some standard terminology is introduced. Then the input buffer allocation method is described, followed by an analysis of the improvement to be expected over more conventional allocation. This analysis makes use of a particular distribution function. An analysis of a completely different distribution is given which yields similar results. This suggests that the results do not depend on a particular distribution function. An optimum output buffer size is also determined. It is concluded that this buffering allocation can significantly reduce the time of merge sorting on movable arm disks when the input data are not random, and that this output buffer allocation should be used whether the data is random or not.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  corpsource =   "Programmatics Inc., Los Angeles, CA, USA",
  keywords =     "file; fixed buffer allocation; gamma distribution function; input output operations; item; merge sort; movable arm disks; optimum; output buffer size; seek time; sorting; storage allocation; string",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Ramamoorthy:1971:SOE,
  author =       "C. V. Ramamoorthy and M. J. Gonzalez",
  title =        "Subexpression ordering in the execution of arithmetic expressions",
  journal =      j-CACM,
  volume =       "14",
  number =       "7",
  pages =        "479--485",
  month =        jul,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A20",
  MRnumber =     "46 6650",
  mrreviewer =   "A. D. Booth",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  abstract =     "An arithmetic expression can often be broken down into its component subexpressions. Depending on the hardware environment in which the expression is to be executed, these subexpressions can be evaluated in serials, in parallel, or in a combination of these modes. This paper shows that expression execution time can be minimized only if consideration is given to the ordering of the subexpressions. In particular, subexpressions should be executed in order of decreasing memory and processor time requirements. This observation is valid for configurations ranging from a uniprocessor with an unbuffered main memory to multiprocessor with a ``cache'' buffer memory. If the number of subexpressions which can be executed in parallel exceeds the number of available processors, then execution of some of these subexpressions must be postponed. A procedure is given which combines this requirement with the earlier ordering considerations to provide an optimal execution sequence.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5230 (Digital arithmetic methods); C6130 (Data handling techniques)",
  corpsource =   "Univ. Texas, Austin, TX, USA",
  keywords =     "arithmetic expression; arithmetic expressions; cache; compilers; computational trees; data handling; digital arithmetic; execution time; parallel processing; subexpression ordering",
  treatment =    "T Theoretical or Mathematical",
}

@Article{McVitie:1971:SMP,
  author =       "D. G. McVitie and L. B. Wilson",
  title =        "The Stable Marriage Problem",
  journal =      j-CACM,
  volume =       "14",
  number =       "7",
  pages =        "486--490",
  month =        jul,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "90B99 (68A10)",
  MRnumber =     "46 6808",
  mrreviewer =   "R. B. Potts",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  abstract =     "The original work of Gale and Shapley on an assignment method using the stable marriage criterion has been extended to find all the stable marriage assignments.\par The algorithm derived for finding all the stable marriage assignments is proved to satisfy all the conditions of the problem. Algorithm 411 applies to this paper.",
  acknowledgement = ack-nhfb,
  classcodes =   "C1160 (Combinatorial mathematics); C7310 (Mathematics computing)",
  corpsource =   "Univ. Newcastle upon Tyne, UK",
  keywords =     "assignment; assignment problems; assignment procedures; combinatorial mathematics; combinatorics; discrete mathematics; operational research; operations research; stable marriage problem; university entrance",
  treatment =    "T Theoretical or Mathematical",
}

@Article{McVitie:1971:AAT,
  author =       "D. G. McVitie and L. B. Wilson",
  title =        "{ACM} Algorithm 411: Three Procedures for the Stable Marriage Problem",
  journal =      j-CACM,
  volume =       "14",
  number =       "7",
  pages =        "491--492",
  month =        jul,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7310 (Mathematics computing)",
  corpsource =   "Univ. Newcastle upon Tyne, UK",
  keywords =     "ALGOL procedures; assignment; combinatorial mathematics; operations research; stable marriage problem; subroutines",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Cermak:1971:AAG,
  author =       "J. {\v{C}}erm{\'{a}}k",
  title =        "{ACM} Algorithm 412: Graph Plotter",
  journal =      j-CACM,
  volume =       "14",
  number =       "7",
  pages =        "492--493",
  month =        jul,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Misc/acm.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150E (General utility programs)",
  corpsource =   "Univ. Chem. Technol., Pardubice, Czechoslovakia",
  keywords =     "ALGOL procedure; computer graphics; graph; line; multivalued function; plot; printer; subroutines; utility programs",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Anonymous:1971:PSS,
  author =       "Anonymous",
  title =        "Papers from the 2nd symposium on symbolic and algebraic manipulation",
  journal =      j-CACM,
  volume =       "14",
  number =       "8",
  pages =        "??--??",
  month =        aug,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0210 (Algebra); C1110 (Algebra)",
  conflocation = "Los Angeles, CA, USA; 23-25 March 1971",
  conftitle =    "Papers from the 2nd symposium on symbolic and algebraic manipulation",
  keywords =     "algebra; algebraic expressions; equivalence; greatest common divisors; polynomial; polynomials; resultants; roots; subresultants; symbolic and algebraic manipulation; zero",
  sponsororg =   "Assoc. Computing Machinery",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Hearn:1971:ASM,
  author =       "Anthony C. Hearn",
  title =        "Applications of Symbolic Manipulation in Theoretical Physics",
  journal =      j-CACM,
  volume =       "14",
  number =       "8",
  pages =        "511--516",
  month =        aug,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Theory/reduce.bib",
  abstract =     "This paper surveys the applications of symbolic computation techniques to problems in theoretical physics. Particular emphasis is placed on applications in quantum electrodynamics where the most activity has occurred.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  conflocation = "Los Angeles, CA, USA; 23-25 March 1971",
  conftitle =    "Papers from the 2nd symposium on symbolic and algebraic manipulation",
  corpsource =   "Univ. Utah, Salt Lake City, UT, USA",
  keywords =     "algebraic; algebraic simplification; computational physics; data handling; physics; quantum electrodynamics; simplification; symbol manipulation; symbolic computation; symbolic manipulation; theoretical physics",
  sponsororg =   "Assoc. Computing Machinery",
  treatment =    "T Theoretical or Mathematical",
  xxtitle =      "Applications of symbol manipulation in theoretical physics",
}

@Article{Hall:1971:ASR,
  author =       "A. D. {Hall, Jr.}",
  title =        "The {Altran} system for rational function manipulation --- a survey",
  journal =      j-CACM,
  volume =       "14",
  number =       "8",
  pages =        "517--521",
  month =        aug,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C6140D (High level languages); C7310 (Mathematics computing)",
  conflocation = "Los Angeles, CA, USA; 23-25 March 1971",
  conftitle =    "Papers from the 2nd symposium on symbolic and algebraic manipulation",
  corpsource =   "Bell Telephone Labs. Inc., Murray Hill, NJ, USA",
  keywords =     "algebra; Altran; coefficients; computation; data structures; integer; language; languages; polynomial manipulation; polynomials; problem oriented; rational function manipulation; run time data structures; symbolic",
  sponsororg =   "Assoc. Computing Machinery",
  treatment =    "P Practical; T Theoretical or Mathematical",
}

@Article{Fenichel:1971:LTS,
  author =       "Robert R. Fenichel",
  title =        "List Tracing in Systems Allowing Multiple Cell Types",
  journal =      j-CACM,
  volume =       "14",
  number =       "8",
  pages =        "522--526",
  month =        aug,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Compiler/garbage.collection.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  conflocation = "Los Angeles, CA, USA; 23-25 March 1971",
  conftitle =    "Papers from the 2nd symposium on symbolic and algebraic manipulation",
  corpsource =   "MIT, Cambridge, MA, USA",
  keywords =     "configuration; list processing; list tracing; multiple cell types; size; storage allocation",
  sponsororg =   "Assoc. Computing Machinery",
  treatment =    "P Practical",
}

@Article{Moses:1971:ASG,
  author =       "J. Moses",
  title =        "Algebraic Simplification: {A} Guide for the Perplexed",
  journal =      j-CACM,
  volume =       "14",
  number =       "8",
  pages =        "527--537",
  month =        aug,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A15",
  MRnumber =     "46 8465",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Theory/Comp.Alg.1.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "B0210 (Algebra); C1110 (Algebra)",
  conflocation = "Los Angeles, CA, USA; 23-25 March 1971",
  conftitle =    "Papers from the 2nd symposium on symbolic and algebraic manipulation",
  corpsource =   "MIT, Cambridge, MA, USA",
  keywords =     "algebra; algebraic simplification; automatic; simplification capabilities; substitution",
  sponsororg =   "Assoc. Computing Machinery",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Jefferys:1971:AAM,
  author =       "W. H. Jefferys",
  title =        "Automatic algebraic manipulation in celestial mechanics",
  journal =      j-CACM,
  volume =       "14",
  number =       "8",
  pages =        "538--541",
  month =        aug,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7320 (Physics and chemistry computing)",
  conflocation = "Los Angeles, CA, USA; 23-25 March 1971",
  conftitle =    "Papers from the 2nd symposium on symbolic and algebraic manipulation",
  corpsource =   "Univ. Texas, Austin, TX, USA",
  keywords =     "algebra; automated algebraic manipulation; celestial mechanics; integration; perturbation theory; physics; Poisson series; processors",
  sponsororg =   "Assoc. Computing Machinery",
  treatment =    "P Practical",
}

@Article{Barton:1971:GRA,
  author =       "D. Barton and J. P. Fitch",
  title =        "General relativity and the application of algebraic manipulative systems",
  journal =      j-CACM,
  volume =       "14",
  number =       "8",
  pages =        "542--547",
  month =        aug,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "83.53",
  MRnumber =     "48 1640",
  mrreviewer =   "I. K. Marek",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  abstract =     "The paper describes some applications of symbolic algebra systems to problems of general relativity including the derivation of the field equations, the Petrov classification of a metric, and the solution of the field equations in the presence of matter in a simple case. Attention is drawn to the strictly algebraic difficulties encountered in this work.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0210 (Algebra); C1110 (Algebra)",
  conflocation = "Los Angeles, CA, USA; 23-25 March 1971",
  conftitle =    "Papers from the 2nd symposium on symbolic and algebraic manipulation",
  corpsource =   "Computer Lab., Cambridge, UK",
  keywords =     "algebra; algebraic manipulation; algebraic manipulative systems; equation manipulation; field equations; general relativity; nonnumerical mathematics; Petrov classification; symbolic; symbolic mathematics",
  sponsororg =   "Assoc. Computing Machinery",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Moses:1971:SIS,
  author =       "Joel Moses",
  title =        "Symbolic Integration: The Stormy Decade",
  journal =      j-CACM,
  volume =       "14",
  number =       "8",
  pages =        "548--560",
  month =        aug,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A15",
  MRnumber =     "46 8466",
  mrreviewer =   "D. B. Hunter",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  abstract =     "Three approaches to symbolic integration in the 1960's are described. The first, from artificial intelligence, led to Slagle's SAINT and to a large degree to Moses' SIN. The second, from algebraic manipulation, led to Manove's implementation and to Horowitz' and Tobey's reexamination of the Hermite algorithm for integrating rational functions. The third, from mathematics, led to Richardson's proof of the unsolvability of the problem for a class of functions and for Risch's decision procedure for the elementary functions.Generalizations of Risch's algorithm to a class of special functions and programs for solving differential equations and for finding the definite integral are also described.",
  acknowledgement = ack-nhfb,
  classcodes =   "C1230 (Artificial intelligence); C4160 (Numerical integration and differentiation)",
  conflocation = "Los Angeles, CA, USA; 23-25 March 1971",
  conftitle =    "Papers from the 2nd symposium on symbolic and algebraic manipulation",
  corpsource =   "MIT, Cambridge, MA, USA",
  keywords =     "algorithm; artificial intelligence; definite; definite integrals; differential equations; Hermite; integral; integrating rational functions; integration; Manove's implementation; Moses' SIN; proof; rational functions; Richardson's; Risch's decision procedure; SAINT; Slagle's; symbolic integration; unsolvability",
  sponsororg =   "Assoc. Computing Machinery",
  treatment =    "G General Review; T Theoretical or Mathematical",
}

@Article{Teichroew:1971:ERU,
  author =       "Daniel Teichroew",
  title =        "Education Related to the Use of Computers in Organizations",
  journal =      j-CACM,
  volume =       "14",
  number =       "9",
  pages =        "573--588",
  month =        sep,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  acknowledgement = ack-nhfb,
  annote =       "Learn about data bases and management. Extensive bibliography.",
  classcodes =   "C0220 (Computing education and training)",
  keywords =     "colleges; computer education; curriculum development; education; information systems; management; management information systems; professional; societies; universities",
  treatment =    "G General Review",
}

@Article{Isoda:1971:EBT,
  author =       "Sadahiro Isoda and Eiichi Goto and Izumi Kimura",
  title =        "An Efficient Bit Table Technique for Dynamic Storage Allocation of $2^n$-word Blocks",
  journal =      j-CACM,
  volume =       "14",
  number =       "9",
  pages =        "589--592",
  month =        sep,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  abstract =     "An efficient bit table technique for dynamic storage allocation of $2^n$-word blocks, which requires a minimized amount of memory for bookkeeping purposes, is described. The technique has been tested in an implementation of the list processing language $L^6$. A number of ideas incorporated in the processor are also described.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  corpsource =   "Tokyo Univ., Japan",
  keywords =     "$L^6$; 2/sup n/ word blocks; bit table; bit table technique; bookkeeping; buddy system; dynamic storage allocation; free storage; L/sup 6/; list processing; list processing language; minimum memory; storage allocation",
  treatment =    "P Practical",
}

@Article{Paton:1971:CAB,
  author =       "Keith Paton",
  title =        "Corrigendum: ``{An algorithm for the blocks and cutnodes of a graph}''",
  journal =      j-CACM,
  volume =       "14",
  number =       "9",
  pages =        "592--592",
  month =        sep,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Fri Jan 17 18:33:19 1997",
  note =         "See \cite{Paton:1971:ABC}.",
  acknowledgement = ack-nhfb,
}

@Article{Wong:1971:CSA,
  author =       "Eugene Wong and T. C. Chiang",
  title =        "Canonical Structure in Attribute Based File Organization",
  journal =      j-CACM,
  volume =       "14",
  number =       "9",
  pages =        "593--597",
  month =        sep,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  note =         "Also published in/as: PhD Th., UCB, EECS, 1973.",
  acknowledgement = ack-nhfb,
  annote =       "Combinatorial retrieval of multi-attribute subsets, applicable when there are few keyword choices. Thisis of T. C. Chiang.",
  classcodes =   "C6120 (File organisation)",
  corpsource =   "Univ. California, Berkeley, CA, USA",
  keywords =     "arbitrary Boolean functions; atoms; attribute based; boolean algebra; canonical structure; file organisation; file organization; intersections; lists; queries",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Phillips:1971:NBO,
  author =       "David L. Phillips",
  title =        "A note on best one-sided approximations",
  journal =      j-CACM,
  volume =       "14",
  number =       "9",
  pages =        "598--600",
  month =        sep,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65D15",
  MRnumber =     "45 6158",
  mrreviewer =   "H. L. Loeb",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4130 (Interpolation and function approximation)",
  corpsource =   "Argonne Nat. Lab., IL, USA",
  keywords =     "best; best approximation; best approximations; error; function approximation; goodness of fit; logarithmic; multiplicative constant; one sided approximations; one-sided approximation; relationship; relative error; uniform norm",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Liniger:1971:SCN,
  author =       "W. Liniger",
  title =        "A stopping criterion for the {Newton-Raphson} method in implicit multistep integration algorithms for nonlinear systems of ordinary differential equations",
  journal =      j-CACM,
  volume =       "14",
  number =       "9",
  pages =        "600--601",
  month =        sep,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65.60",
  MRnumber =     "44\#7754",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4170 (Differential equations)",
  corpsource =   "IBM, Yorktown Heights, NY, USA",
  keywords =     "implicit multistep integration; integration; linear multistep formulas; Newton-Raphson method; nonlinear differential equations; nonlinear systems; ordinary differential equations; stopping criterion",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Flores:1971:ABS,
  author =       "Ivan Flores and George Madpis",
  title =        "Average Binary Search Length for Dense Ordered Lists",
  journal =      j-CACM,
  volume =       "14",
  number =       "9",
  pages =        "602--603",
  month =        sep,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "See corrigendum \cite{Flores:1972:CAB}.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  corpsource =   "City Univ. New York, NY, USA",
  keywords =     "average length; binary search; dense ordered lists; information retrieval; list processing",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Fenichel:1971:CCL,
  author =       "R. R. Fenichel",
  title =        "Comment on Cheney's List-Compaction Algorithm",
  journal =      j-CACM,
  volume =       "14",
  number =       "9",
  pages =        "603--604",
  month =        sep,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Fri Jan 17 18:31:54 1997",
  keywords =     "garbage collector; LISP; list processing; storage allocation; virtual memory",
}

@Article{Earley:1971:TUD,
  author =       "Jay Earley",
  title =        "Toward an Understanding of Data Structures",
  journal =      j-CACM,
  volume =       "14",
  number =       "10",
  pages =        "617--627",
  month =        oct,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  corpsource =   "Univ. California, Berkeley, CA, USA",
  keywords =     "data structures; formalism; graph; implementation; programming language; semantic",
  treatment =    "P Practical",
}

@Article{ANSI:1971:CFS,
  author =       "{ANSI Subcommittee X3J3}",
  title =        "Clarification of {Fortran} Standards --- Second Report",
  journal =      j-CACM,
  volume =       "14",
  number =       "10",
  pages =        "628--642",
  month =        oct,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "See also \cite{ANSI:1966:AF}.",
  acknowledgement = ack-nhfb,
  classcodes =   "C0200 (General computer topics); C6140D (High level languages)",
  keywords =     "American National Standard; Basic Fortran; Fortran; FORTRAN; language; language standard; language standard interpretation; language standard maintenance; programming language; specification; standard clarification; standardization; standardization committee; standards",
  treatment =    "G General Review",
}

@Article{Oldehoeft:1971:EAI,
  author =       "A. E. Oldehoeft and S. D. Conte",
  title =        "Experiments with an automated instructional system for numerical methods",
  journal =      j-CACM,
  volume =       "14",
  number =       "10",
  pages =        "643--650",
  month =        oct,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7810C (Computer-aided instruction)",
  corpsource =   "Iowa State Univ., Ames, IA, USA",
  keywords =     "computer aided; computer aided instruction; instruction; instructional systems; numerical methods",
  treatment =    "X Experimental",
}

@Article{Newman:1971:DP,
  author =       "W. M. Newman",
  title =        "Display procedures",
  journal =      j-CACM,
  volume =       "14",
  number =       "10",
  pages =        "651--660",
  month =        oct,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C5540 (Terminals and graphic displays)",
  corpsource =   "Univ. Utah, Salt Lake City, UT, USA",
  keywords =     "computer graphics; display files; display systems; programming languages",
  treatment =    "G General Review",
}

@Article{Nemeth:1971:UPM,
  author =       "A. G. Nemeth and P. D. Rovner",
  title =        "User program measurement in a time-shared environment",
  journal =      j-CACM,
  volume =       "14",
  number =       "10",
  pages =        "661--666",
  month =        oct,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Misc/monitor.bib and ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1971.bib",
  abstract =     "A general discussion of the measurement of software systems is followed by a description of a hardware and software scheme for measuring user programs in a time-shared environment. The TX-2 computer at MIT Lincoln Laboratory was used for the implementation of such a system and the characteristics of this implementation are reported. Finally, it is shown how other time-sharing systems may provide similar measuring facilities.",
  acknowledgement = ack-nhfb,
  annote =       "A general discussion of the measurement of software systems is followed by a description of a hardware and software scheme for measuring user programs in a time-shared environment.",
  classcodes =   "C6150J (Operating systems)",
  corpsource =   "MIT, Lexington, MA, USA",
  country =      "USA",
  descriptors =  "Performance evaluation; software monitor; time sharing; operating system; multiprogramming; measurement; technology; virtual computer; performance improvement;",
  enum =         "2252",
  keywords =     "computer software; measurement; multiprogramming systems; operating systems; performance improvement; sharing systems; software; technology; time; time-sharing systems; TX2 computer; user program measurement; virtual computers",
  language =     "English",
  references =   "11",
  treatment =    "G General Review",
}

@Article{Courtois:1971:CC,
  author =       "P. J. Courtois and F. Heymans and D. L. Parnas",
  title =        "Concurrent Control with `Readers' and `Writers'",
  journal =      j-CACM,
  volume =       "14",
  number =       "10",
  pages =        "667--668",
  month =        oct,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib and ftp://ftp.ira.uka.de/pub/bibliography/Misc/softeng.bib",
  acknowledgement = ack-nhfb,
  annote =       "Algorithms for scheduler design for multi accessed database",
  classcodes =   "C6150J (Operating systems)",
  corpsource =   "MBLE Res. Lab., Brussels, Belgium",
  keywords =     "critical section; mutual exclusion; operating systems (computers); programs; resources; shared access to; supervisory and executive",
  treatment =    "P Practical",
}

@Article{Lyness:1971:AAE,
  author =       "J. N. Lyness and G. Sande",
  title =        "{ACM} Algorithm 413: {ENTCAF} and {ENTCRE}: Evaluation of Normalized {Taylor} Coefficients of an Analytic Function ({C5})",
  journal =      j-CACM,
  volume =       "14",
  number =       "10",
  pages =        "669--675",
  month =        oct,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7310 (Mathematics computing)",
  corpsource =   "Argonne Nat. Lab., IL, USA",
  keywords =     "Cauchy integral; complex arithmetic; complex variables; fast; Fourier transform; interpolation; mathematics; numerical differentiation; numerical integration; subroutines; Taylor coefficients; Taylor series",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Branquart:1971:CSA,
  author =       "P. Branquart and J. Lewi and M. Sintzoff and P. L. Wodon",
  title =        "The composition of semantics in {Algol 68}",
  journal =      j-CACM,
  volume =       "14",
  number =       "11",
  pages =        "697--708",
  month =        nov,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140D (High level languages)",
  corpsource =   "MBLE, Brussels, Belgium",
  keywords =     "ALGOL; Algol 68; data; design of programming languages; programming languages; programming primitives; recursive composition; semantics; structures",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Hamblen:1971:UCH,
  author =       "J. W. Hamblen",
  title =        "Using computers in higher education: past recommendations, status, and needs",
  journal =      j-CACM,
  volume =       "14",
  number =       "11",
  pages =        "709--712",
  month =        nov,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C0220 (Computing education and training)",
  corpsource =   "Southern Regional Education Board, Atlanta, GA, USA",
  keywords =     "computer science; computers; data processing; degree programs; education; educational technology; higher education; laboratory; national goals; testing",
  treatment =    "G General Review",
}

@Article{Shell:1971:OPS,
  author =       "D. L. Shell",
  title =        "Optimizing the Polyphase Sort",
  journal =      j-CACM,
  volume =       "14",
  number =       "11",
  pages =        "713--719",
  month =        nov,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "See corrigendum \cite{Shell:1972:COP}.",
  abstract =     "Various dispersion algorithms for the polyphase sorting procedure are examined.The optimum algorithm based on minimizing the total number of unit strings read is displayed. The logic of this algorithm is rather complicated; hence, several other new dispersion algorithms with more straightforward logic are presented. Of the simple dispersion algorithms discussed, the Horizontal is best. It does approximately one-fourth to one and one-half percent less reading and writing than most algorithms in use today. An additional two and one-fourth to three percent improvement can be achieved by utilizing the Modified Optimum Algorithm. This algorithm is relatively straightforward, but it requires a fairly close estimate of the total number of unit strings before the dispersion begins.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  corpsource =   "General Electric Co., Schenectady, NY, USA",
  keywords =     "dispersion algorithm; dispersion algorithms; minimizing; optimisation; optimum; optimum dispersion algorithm; polyphase sorting; repetition operator; sorting; unit strings",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Aramaki:1971:AEL,
  author =       "I. Aramaki and T. Kawabata and K. Arimoto",
  title =        "Automation of etching-pattern layout",
  journal =      j-CACM,
  volume =       "14",
  number =       "11",
  pages =        "720--730",
  month =        nov,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B1130B (Computer-aided circuit analysis and design); B2210 (Printed circuits); C7410D (Electronic engineering computing)",
  corpsource =   "Sumitomo Electric Industries Ltd., Osaka, Japan",
  keywords =     "computer-aided circuit design; etching; heuristic etching pattern layout; ICs; Lee's algorithm; maze running; printed circuit board; printed circuits; wiring design",
  treatment =    "P Practical",
}

@Article{Malcolm:1971:AFP,
  author =       "Michael A. Malcolm",
  title =        "On Accurate Floating-Point Summation",
  journal =      j-CACM,
  volume =       "14",
  number =       "11",
  pages =        "731--736",
  month =        nov,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65G05 (68-XX)",
  MRnumber =     "47 4434",
  mrreviewer =   "P. Brock",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "garbo.uwasa.fi:/pc/doc-soft/fpbiblio.txt",
  acknowledgement = ack-nj,
  acknowledgement = ack-nhfb,
  classcodes =   "C5230 (Digital arithmetic methods)",
  corpsource =   "Stanford Univ., CA, USA",
  keywords =     "digital arithmetic; error analysis; floating point summation",
  treatment =    "P Practical",
}

@Article{Golub:1971:AAC,
  author =       "G. H. Golub and L. B. Smith",
  title =        "{ACM} Algorithm 414: {Chebyshev} Approximation of Continuous Functions by a {Chebyshev} System of Functions",
  journal =      j-CACM,
  volume =       "14",
  number =       "11",
  pages =        "737--746",
  month =        nov,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Misc/acm.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C4130 (Interpolation and function approximation); C7310 (Mathematics computing)",
  corpsource =   "Stanford Univ., CA, USA",
  keywords =     "ALGOL 60; approximation; Chebyshev approximation; critical points; minimax; numerical properties; orthogonal polynomials; Remez algorithm; subroutines",
  treatment =    "P Practical; T Theoretical or Mathematical",
}

@Article{Gordon:1971:RPT,
  author =       "R. Gordon and G. T. Herman",
  title =        "Reconstruction of Pictures from Their Projections",
  journal =      j-CACM,
  volume =       "14",
  number =       "12",
  pages =        "759--768",
  month =        dec,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "See corrigendum \cite{Gordon:1972:CRP}.",
  abstract =     "There are situations in the natural sciences and medicine (e.g. in electron microscopy and X-ray photography) in which it is desirable to estimate the gray levels of a digital picture at the individual points from the sums of the gray levels along straight lines (projections) at a few angles. Usually, in such situations, the picture is far from determined and the problem is to find the ``most representative'' picture. Three algorithms are described (all using Monte Carlo methods) which were designed to solve this problem. The algorithms are applicable in a large and varied number of fields. The most important uses may be the reconstruction of possibly asymmetric particles from electron micrographs and three-dimensional X-ray analysis.",
  acknowledgement = ack-nhfb,
  classcodes =   "C7300 (Natural sciences computing)",
  corpsource =   "State Univ., New York, Buffalo, NY, USA",
  keywords =     "approximation; biomedical image processing; efficient encoding; electron microscopy; image; image processing; linear programming; mathematical programming; medicine; Monte Carlo; Monte Carlo methods; Monte Carlo techniques; natural sciences; optical information; optimization; physics; picture compression; picture description; picture processing; processing; projections; reconstruction of pictures; stereology; techniques; X-ray analysis; X-ray photography",
  treatment =    "P Practical",
}

@Article{Amidon:1971:ASB,
  author =       "E. L. Amidon and G. S. Akin",
  title =        "Algorithmic Selection of the Best Method for Compressing Map Data Strings",
  journal =      j-CACM,
  volume =       "14",
  number =       "12",
  pages =        "769--774",
  month =        dec,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  abstract =     "The best of a dozen different methods for compressing map data is illustrated. The choices are generated by encoding data strings-sequence of like codes-by three methods and in four directions. Relationships are developed between compression alternatives to avoid comparing all of them. The technique has been used to compress data from forest resource maps, but is widely applicable to map and photographic data reduction.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques); C7890 (Other special applications of computing)",
  corpsource =   "Pacific Southwest Forest and Range Experiment Station, Berkeley, CA, USA",
  keywords =     "data compression; data reduction; data reduction and analysis; data strings; forest resource maps; information retrieval; input/output; map; map storage; run coding; storage",
  treatment =    "P Practical",
}

@Article{Mullin:1971:RUS,
  author =       "James K. Mullin",
  title =        "Retrieval-Update Speed Trade-offs Using Combined Indexes",
  journal =      j-CACM,
  volume =       "14",
  number =       "12",
  pages =        "775--776",
  month =        dec,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C7250 (Information storage and retrieval)",
  corpsource =   "Univ. Western Ontario, London, Ont., Canada",
  keywords =     "combined index files; file; file organisation; file update; indexing; information retrieval; information retrieval systems; inverted files; minimal cost; organisation; query; retrieval time; speed tradeoffs",
  treatment =    "P Practical",
  xxtitle =      "Retrieval-update speed tradeoffs using combined indices",
}

@Article{Harrison:1971:IST,
  author =       "M. C. Harrison",
  title =        "Implementation of the Substring Test by Hashing",
  journal =      j-CACM,
  volume =       "14",
  number =       "12",
  pages =        "777--779",
  month =        dec,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "See also \cite{Tharp:1982:PTS}.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  corpsource =   "New York Univ., NY, USA",
  keywords =     "compression; data handling; hashing; information; information retrieval; programming; searching; signature; subset; substring test",
  treatment =    "P Practical",
}

@Article{Wulf:1971:BLS,
  author =       "W. A. Wulf and D. B. Russell and A. N. Habermann",
  title =        "{BLISS}: {A} language for systems programming",
  journal =      j-CACM,
  volume =       "14",
  number =       "12",
  pages =        "780--790",
  month =        dec,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A05",
  MRnumber =     "46 8463",
  mrreviewer =   "P. Deussen",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Ai/Ai.misc.bib",
  abstract =     "A language, BLISS, is described. This language is designed so as to be especially suitable for use in writing production software systems for a specific machine (the PDP-10): compilers, operating systems, etc. Prime design goals of the design are the ability to produce highly efficient object code, to allow access to all relevant hardware features of the host machine, and to provide a rational means by which to cope with the evolutionary nature of systems programs. A major feature which contributes to the realization of these goals is a mechanism permitting the definition of the representation of all data structures in terms of the access algorithm for elements of the structure.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5420 (Mainframes and minicomputers); C6120 (File organisation); C6150C (Compilers, interpreters and other processors); C6150J (Operating systems)",
  corpsource =   "Carnegie-Mellon Univ., Pittsburgh, PA, USA",
  keywords =     "data structures; implementation language; programming languages; systems programming",
  keywords =     "BLISS; compilers; data structures; language; minicomputers; operating systems; program processors; programming languages; software systems; supervisory and executive programs; systems programming",
  treatment =    "P Practical",
}

@Article{Rochfeld:1971:NLT,
  author =       "A. Rochfeld",
  title =        "New {LISP} Techniques for a Paging Environment",
  journal =      j-CACM,
  volume =       "14",
  number =       "12",
  pages =        "791--795",
  month =        dec,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Compiler/garbage.collection.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C6140D (High level languages)",
  corpsource =   "Univ. Edinburgh, UK",
  keywords =     "block segment; collection; compact; core fragmentation; garbage; LISP; list processing; list structures; management; paging environment; procedure oriented languages; storage; virtual memory",
  treatment =    "P Practical",
}

@Article{Blumberg:1971:NMN,
  author =       "J. W. Blumberg and C. R. Foulk",
  title =        "A note on `a modification of {Nordsieck}'s method using an ``off-step'' point'",
  journal =      j-CACM,
  volume =       "14",
  number =       "12",
  pages =        "796--796",
  month =        dec,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4170 (Differential equations)",
  corpsource =   "Ohio State Univ., Columbus, OH, USA",
  keywords =     "corrector; corrector methods; differential equations; modification; multistep methods; Nordsieck's method; numerical methods; off error; ordinary differential equations; predictor; predictor-; round",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Gustafson:1971:RCG,
  author =       "Sven-{\AA}ke A. Gustafson",
  title =        "Rapid Computation of General Interpolation Formulas and Mechanical Quadrature Rules",
  journal =      j-CACM,
  volume =       "14",
  number =       "12",
  pages =        "797--801",
  month =        dec,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65D05",
  MRnumber =     "46 10167a",
  mrreviewer =   "V. Pereyra",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4130 (Interpolation and function approximation)",
  corpsource =   "Royal Inst. Technol., Stockholm, Sweden",
  keywords =     "divided differences; formula; functionals; general interpolation formulas; Hermitian; interpolation; Lagrangian; linear; mechanical quadrature rules; Newton's interpolation; rapid computation",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Bourgeois:1971:EMA,
  author =       "Fran{\c{c}}ois Bourgeois and Jean-Claude Lassalle",
  title =        "An extension of the {Munkres} algorithm for the assignment problem to rectangular matrices",
  journal =      j-CACM,
  volume =       "14",
  number =       "12",
  pages =        "802--804",
  month =        dec,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "90C05",
  MRnumber =     "47 4628",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  abstract =     "The assignment problem, together with Munkres proposed algorithm for its solution in square matrices, is presented first. Then the authors develop an extension of this algorithm which permits a solution for rectangular matrices. Timing results obtained by using an adapted version of Silver's Algol procedure are discussed, and a relation between solution time and problem size is given.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4140 (Linear algebra)",
  corpsource =   "CERN, Geneva, Switzerland",
  keywords =     "algorithm; assignment problem; matrix algebra; Munkres algorithm; operations research; optimisation; optimization theory; rectangular matrices",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Bourgeois:1971:AAA,
  author =       "F. Bourgeois and J. C. Lassalle",
  title =        "{ACM} Algorithm 415: Algorithm for the Assignment Problem (Rectangular Matrices)",
  journal =      j-CACM,
  volume =       "14",
  number =       "12",
  pages =        "805--806",
  month =        dec,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4140 (Linear algebra)",
  corpsource =   "CERN, Geneva, Switzerland",
  keywords =     "algorithm; assignment problem; matrix algebra; operations research; optimization; rectangular matrices; subroutines",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Gustafson:1971:AARa,
  author =       "Sven-{\AA}ke Gustafson",
  title =        "{ACM} Algorithm 416: Rapid Computation of Coefficients of Interpolation Formulas [{E1}]",
  journal =      j-CACM,
  volume =       "14",
  number =       "12",
  pages =        "806--807",
  month =        dec,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65D05",
  MRnumber =     "46 10167b",
  mrreviewer =   "V. Pereyra",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4130 (Interpolation and function approximation)",
  corpsource =   "Stanford Univ., CA, USA",
  keywords =     "algorithm; coefficients; divided differences; interpolation; interpolation formula; rapid computation; subroutines",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Gustafson:1971:AARb,
  author =       "Sven-{\AA}ke Gustafson",
  title =        "{ACM} Algorithm 417: Rapid Computation of Weights of Interpolatory Quadrature Rules [{D1}]",
  journal =      j-CACM,
  volume =       "14",
  number =       "12",
  pages =        "807--807",
  month =        dec,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65D05",
  MRnumber =     "46 10167c",
  mrreviewer =   "V. Pereyra",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4130 (Interpolation and function approximation)",
  corpsource =   "Stanford Univ., CA, USA",
  keywords =     "algorithm; divided differences; interpolation; interpolation formulae; mechanical quadrature rules; rapid computation; subroutines; weights",
}

@Article{Aho:1971:POP,
  author =       "A. V. Aho and P. J. Denning and J. D. Ullman",
  title =        "Principles of optimal page replacement",
  journal =      j-CACM,
  volume =       "18",
  number =       "1",
  pages =        "80--93",
  month =        jan,
  year =         "1971",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Misc/cache.bib",
}

@Article{Johnson:1972:RCA,
  author =       "S. C. Johnson and B. W. Kernighan",
  title =        "Remark on {``CACM Algorithm 397''}",
  journal =      j-CACM,
  volume =       "5",
  number =       "6",
  pages =        "469",
  month =        jun,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Dec 26 16:35:37 1995",
  note =         "Check volume/number/year??",
  keywords =     "acm cacm",
}

@Article{Bartels:1972:ASM,
  author =       "R. H. Bartels and G. W. Stewart",
  title =        "Algorithm 432: The Solution of the Matrix Equation {$AX -+BX = C$}",
  journal =      j-CACM,
  volume =       "8",
  number =       "9",
  pages =        "820--826",
  month =        sep,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue May 28 11:19:15 1996",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Theory/Matrix.bib",
  note =         "Check volume/number/year??",
  acknowledgement = ack-nhfb,
  keywords =     "linear algebra; linear equations; matrices",
  kwds =         "nla, Schur form, Sylvester equation, Lyapunov equation, matrix equation",
}

@Article{Lesk:1972:PPR,
  author =       "A. M. Lesk",
  title =        "Pictorial pattern recognition and the phase problem of {X}-ray crystallography",
  journal =      j-CACM,
  volume =       "15",
  number =       "1",
  pages =        "3--6",
  month =        jan,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "A6100 (Structure of liquids and solids; crystallography); A6150 (Crystalline state); B6140C (Optical information, image and video signal processing); C1250 (Pattern recognition)",
  corpsource =   "Princeton Univ., NJ, USA",
  keywords =     "calculation methods; cross correlation; crystallography; hypotheses; molecular model building; pattern recognition; phase problem; physics; pictorial pattern recognition; structural; X-ray; X-ray crystallography",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Levialdi:1972:SBP,
  author =       "S. Levialdi",
  title =        "On Shrinking Binary Picture Patterns",
  journal =      j-CACM,
  volume =       "15",
  number =       "1",
  pages =        "7--10",
  month =        jan,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  abstract =     "A parallel processing algorithm for shrinking binary patterns to obtain single isolated elements, one for each pattern, is presented. This procedure may be used for counting patterns on a matrix, and a hardware implementation of the algorithm using large scale integrated technology is envisioned. The principal features of this method are the very small window employed (two-by-two elements), the parallel nature of the process, and the possibility of shrinking any pattern, regardless of the complexity of its configuration. Problems regarding merging and disconnection of patterns during the process as well as the determination of the maximum number of steps necessary to obtain a single isolated element from a pattern, are reviewed and discussed. An analogy with a neural network description, in terms of McCulloch-Pitts ``neurons'' is presented.",
  acknowledgement = ack-nhfb,
  classcodes =   "B6140C (Optical information, image and video signal processing); C1250 (Pattern recognition)",
  corpsource =   "CNR, Napoli, Italy",
  keywords =     "counting binary patterns; counting patterns; disconnection; isolated element; large scale integrated; matrix; merging; multiple connected; multiple connected pictures; neural network; parallel processing; pattern recognition; pictures; shrinking; shrinking binary picture patterns; single; small window; technology",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Duda:1972:UHT,
  author =       "R. O. Duda and P. E. Hart",
  title =        "Use of the Hough transformation to detect lines and curves in pictures",
  journal =      j-CACM,
  volume =       "15",
  number =       "1",
  pages =        "11--15",
  month =        jan,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Misc/Reverse.eng.bib",
  abstract =     "Hough has proposed an interesting and computationally efficient procedure for detecting lines in pictures. This paper points out that the use of angle-radius rather than slope-intercept parameters simplifies the computation further. It also shows how the method can be used for more general curve fitting, and gives alternative interpretations that explain the source of its efficiency.",
  acknowledgement = ack-nhfb,
  classcodes =   "B6140C (Optical information, image and video signal processing); C1250 (Pattern recognition)",
  corpsource =   "Stanford Res. Inst., Menlo Park, CA, USA",
  keywords =     "angle radius; colinear points; curve detection; curves; detecting lines; Hough transformation; line detection; pattern recognition; picture processing; pictures; point-line transformation",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Irons:1972:CES,
  author =       "E. T. Irons and F. M. Djorup",
  title =        "A {CRT} editing system",
  journal =      j-CACM,
  volume =       "15",
  number =       "1",
  pages =        "16--20",
  month =        jan,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  corpsource =   "Inst. Defense Analyses, Princeton, NJ, USA",
  keywords =     "CRT editing system; entry display; manipulation program; text; text editing; time sharing",
  treatment =    "A Application; E Economic; P Practical",
}

@Article{Dwyer:1972:TSA,
  author =       "T. A. Dwyer",
  title =        "Teacher\slash student authored {CAI} using the {NEWBASIC} system",
  journal =      j-CACM,
  volume =       "15",
  number =       "1",
  pages =        "21--28",
  month =        jan,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7810C (Computer-aided instruction)",
  corpsource =   "Univ. Pittsburgh, PA, USA",
  keywords =     "CAI; capability; CATALYST; computer aided instruction; flexible CAI scan; interactive; NEWBASIC system; secondary school",
  treatment =    "A Application; P Practical",
}

@Article{Shell:1972:COP,
  author =       "Donald L. Shell",
  title =        "Corrigendum: {``Optimizing the Polyphase Sort''}",
  journal =      j-CACM,
  volume =       "15",
  number =       "1",
  pages =        "28--28",
  month =        jan,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Fri Jan 17 18:37:36 1997",
  note =         "See \cite{Shell:1971:OPS}.",
}

@Article{McCalla:1972:MMU,
  author =       "G. I. McCalla and J. R. Sampson",
  title =        "{MUSE}: {A Model to Understand Simple English}",
  journal =      j-CACM,
  volume =       "15",
  number =       "1",
  pages =        "29--40",
  month =        jan,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7820 (Humanities computing)",
  corpsource =   "Univ. Alberta, Edmonton, Alta., Canada",
  keywords =     "ambiguity; computer model; English sentences; generalization; information addition to memory; interpretation; intersection procedure; language translation and linguistics; MUSE; natural language processing; network; resolution; semantic memory; syntactic analysis; text",
  treatment =    "P Practical; T Theoretical or Mathematical",
}

@Article{Shrager:1972:QPN,
  author =       "R. I. Shrager",
  title =        "Quadratic programming for nonlinear regression",
  journal =      j-CACM,
  volume =       "15",
  number =       "1",
  pages =        "41--45",
  month =        jan,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0260 (Optimisation techniques); C1180 (Optimisation techniques)",
  corpsource =   "Dept. Health and Education, Bethesda, MD, USA",
  keywords =     "diagonal method; linear constraints; magnified; nonlinear regression; quadratic programming",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Salzer:1972:OOW,
  author =       "H. E. Salzer",
  title =        "Ordering +or-f(+or-f(+or-f(\ldots{}+or-f(x)\ldots{}))) when f(x) is positive monotonic",
  journal =      j-CACM,
  volume =       "15",
  number =       "1",
  pages =        "45--46",
  month =        jan,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4190 (Other numerical methods)",
  keywords =     "combination; numerical methods; ordering; positive monotonic; real arguments; signs",
}

@Article{Einarsson:1972:AAC,
  author =       "B. Einarsson",
  title =        "{ACM} Algorithm 418: Calculation of {Fourier} Integrals",
  journal =      j-CACM,
  volume =       "15",
  number =       "1",
  pages =        "47--48",
  month =        jan,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4160 (Numerical integration and differentiation); C7310 (Mathematics computing)",
  corpsource =   "Res. Inst. Nat. Defense, Tumba, Sweden",
  keywords =     "calculation; FORTRAN routine; Fourier integrals; integration; subroutines",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Pager:1972:PCB,
  author =       "David Pager",
  title =        "A Proposal for a Computer-Based Interactive Scientific Community",
  journal =      j-CACM,
  volume =       "15",
  number =       "2",
  pages =        "71--75",
  month =        feb,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  abstract =     "Because of the problems created by the explosion of papers in the mathematical sciences and the drawbacks that this places on research, it is suggested that a tree of all mathematical results and terminology be maintained in a multiterminal computer system.\par Users of the system can store in the computer an updated file of their current knowledge, and on selecting a paper to read, they can obtain from the computer the minimum subtree of theorems required to bring them from what they already know to the background knowledge which the paper assumes. Under certain conditions, means are also provided for the contribution of useful comments by the readers of a work and for interaction between commentators and with the author. \par This paper describes how the system can be organized and the role required of readers, writers, and commentators.",
  acknowledgement = ack-nhfb,
  classcodes =   "C7250 (Information storage and retrieval)",
  corpsource =   "Univ. Hawaii, Honolulu, HI, USA",
  keywords =     "commentators; computer utility; data structures; information retrieval; interactive system; organization of scientific community; readers; trees; writers",
  keywords =     "commentators; computer utility; data structures; information retrieval; information retrieval systems; interactive system; organization of scientific community; readers; trees; trees (mathematics); writers",
  treatment =    "G General Review",
}

@Article{Eastman:1972:PRS,
  author =       "C. M. Eastman",
  title =        "Preliminary report on a system for general space planning",
  journal =      j-CACM,
  volume =       "15",
  number =       "2",
  pages =        "76--87",
  month =        feb,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140D (High level languages); C7400 (Engineering computing)",
  corpsource =   "Carnegie-Mellon Univ., Pittsburgh, PA, USA",
  keywords =     "ALGOL; architects; CAD; computer language; computer-aided design; engineering; extension of ALGOL; general space planning; heuristic programming; orthographic drawings; set of programs; urban designers",
  treatment =    "G General Review; P Practical",
}

@Article{Martin:1972:OBT,
  author =       "W. A. Martin and D. N. Ness",
  title =        "Optimizing Binary Trees Grown with a Storing Algorithm",
  journal =      j-CACM,
  volume =       "15",
  number =       "2",
  pages =        "88--93",
  month =        feb,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  corpsource =   "MIT, Cambridge, MA, USA",
  keywords =     "algorithm; binary trees; data handling; optimisation; optimization; recursion; retrieving information; sorting; trees (mathematics)",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Oldehoeft:1972:MCP,
  author =       "A. E. Oldehoeft and M. H. Halstead",
  title =        "Maximum computing power and cost factors in the centralization problem",
  journal =      j-CACM,
  volume =       "15",
  number =       "2",
  pages =        "94--96",
  month =        feb,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C0310 (EDP management)",
  corpsource =   "Iowa State Univ., Ames, IA, USA",
  keywords =     "centralisation; computer management; cost factors; decentralisation; economics; economies of scale; installations; large single machine installations; management; maximum computing power; multimachine",
  treatment =    "E Economic",
}

@Article{Jenkins:1972:AAZ,
  author =       "M. A. Jenkins and J. F. Traub",
  title =        "{ACM} Algorithm 419: Zeros of a Complex Polynomial",
  journal =      j-CACM,
  volume =       "15",
  number =       "2",
  pages =        "97--99",
  month =        feb,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4150 (Nonlinear and functional equations); C7310 (Mathematics computing)",
  corpsource =   "Queen's Univ., Kingston, Ont., Canada",
  keywords =     "complex polynomial; FORTRAN; poles and zeros; polynomials; roots; subroutine; subroutines; zeros",
  treatment =    "P Practical",
}

@Article{Williamson:1972:AAH,
  author =       "H. Williamson",
  title =        "{ACM} Algorithm 420: Hidden-Line Plotting Program",
  journal =      j-CACM,
  volume =       "15",
  number =       "2",
  pages =        "100--103",
  month =        feb,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1972.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  corpsource =   "Tracor Computing Corp., Austin, TX, USA",
  descriptors =  "Fortran; graphics; iterative method; application; method; human factors; diagram manipulation; hidden line algorithm;",
  keywords =     "computer graphics; data handling; FORTRAN; hidden line plotting; subroutine; subroutines; surface plot",
  treatment =    "P Practical",
}

@Article{Moorer:1972:MCC,
  author =       "J. A. Moorer",
  title =        "Music and computer composition",
  journal =      j-CACM,
  volume =       "15",
  number =       "2",
  pages =        "104--113",
  month =        feb,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C1230 (Artificial intelligence); C7820 (Humanities computing)",
  corpsource =   "Stanford Univ., CA, USA",
  keywords =     "artificial intelligence; composition; computer music; harmony; heuristic; humanities; models of cognitive processes; music theory; program; programming",
  treatment =    "G General Review",
}

@Article{Flores:1972:CAB,
  author =       "Ivan Flores and George Madpis",
  title =        "Corrigendum: {``Average Binary Search Length for Dense Ordered Lists''}",
  journal =      j-CACM,
  volume =       "15",
  number =       "2",
  pages =        "113--113",
  month =        feb,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Fri Jan 17 18:37:46 1997",
  note =         "See \cite{Flores:1971:ABS}.",
}

@Article{Gordon:1972:CRP,
  author =       "Richard Gordon and Gabor T. Herman",
  title =        "Corrigendum: {``Reconstruction of Pictures from Their Projections''}",
  journal =      j-CACM,
  volume =       "15",
  number =       "2",
  pages =        "113--113",
  month =        feb,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Fri Jan 17 18:38:30 1997",
  note =         "See \cite{Gordon:1971:RPT}.",
}

@Article{Anonymous:1972:PAS,
  author =       "Anonymous",
  title =        "Papers from the 3rd {ACM} symposium on operating systems principles",
  journal =      j-CACM,
  volume =       "15",
  number =       "3",
  pages =        "??--??",
  month =        mar,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150J (Operating systems)",
  conflocation = "Palo Alto, CA, USA; 18-20 Oct. 1971",
  conftitle =    "Papers from the 3rd ACM symposium on operating systems principles",
  keywords =     "access; computer; operating systems; operating systems (computers); parallel processing supervisory; partitioning; storage; time sharing systems",
  sponsororg =   "Assoc. Computing machinery",
  treatment =    "P Practical; T Theoretical or Mathematical",
}

@Article{Bobrow:1972:TPT,
  author =       "D. G. Bobrow and J. D. Burchfiel and D. L. Murphy and R. S. Tomlinson",
  title =        "{TENEX}, {A} Paged Time-Sharing System for the {PDP-10}",
  journal =      j-CACM,
  volume =       "15",
  number =       "3",
  pages =        "135--143",
  month =        mar,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  acknowledgement = ack-nhfb,
  annote =       "Includes description of file system aspects and protection.",
  classcodes =   "C6150J (Operating systems)",
  conflocation = "Palo Alto, CA, USA; 18-20 Oct. 1971",
  conftitle =    "Papers from the 3rd ACM symposium on operating systems principles",
  corpsource =   "Computer Sci. Div., Cambridge, UK",
  keywords =     "minicomputers; paged time sharing system; PDP 10; TENEX; time-sharing programs",
  sponsororg =   "Assoc. Computing machinery",
  treatment =    "P Practical",
}

@Article{Liskov:1972:DVO,
  author =       "B. H. Liskov",
  title =        "The Design of the {Venus} Operating System",
  journal =      j-CACM,
  volume =       "15",
  number =       "3",
  pages =        "144--149",
  month =        mar,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Misc/os.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C5220 (Computer architecture); C6150J (Operating systems)",
  conflocation = "Palo Alto, CA, USA; 18-20 Oct. 1971",
  conftitle =    "Papers from the 3rd ACM symposium on operating systems principles",
  corpsource =   "MITRE Corporation. Bedford, MA, USA",
  keywords =     "architecture; computer architecture; operating systems (computers); small computer; software; Venus operating system",
  sponsororg =   "Assoc. Computing machinery",
  treatment =    "P Practical",
}

@Article{Gains:1972:OSB,
  author =       "R. Stockton Gains",
  title =        "An operating system based on the concept of a supervisory computer",
  journal =      j-CACM,
  volume =       "15",
  number =       "3",
  pages =        "150--156",
  month =        mar,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150J (Operating systems)",
  conflocation = "Palo Alto, CA, USA; 18-20 Oct. 1971",
  conftitle =    "Papers from the 3rd ACM symposium on operating systems principles",
  corpsource =   "Inst. Defense Analyses, von Neumann Hall, Princeton, NJ, USA",
  keywords =     "independent; operating system; operating systems (computers); processes; supervisory computer",
  sponsororg =   "Assoc. Computing machinery",
  treatment =    "P Practical; T Theoretical or Mathematical",
}

@Article{Schroeder:1972:HAI,
  author =       "Michael D. Schroeder and Jerome H. Saltzer",
  title =        "A Hardware Architecture for Implementing Protection Rings",
  journal =      j-CACM,
  volume =       "15",
  number =       "3",
  pages =        "157--170",
  month =        mar,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C5220 (Computer architecture)",
  conflocation = "Palo Alto, CA, USA; 18-20 Oct. 1971",
  conftitle =    "Papers from the 3rd ACM symposium on operating systems principles",
  corpsource =   "MIT, Cambridge, MA, USA",
  keywords =     "access control; access privileges; architecture; computer architecture; digital storage; Multics; protection rings; system",
  sponsororg =   "Assoc. Computing machinery",
  treatment =    "P Practical",
}

@Article{Habermann:1972:SCP,
  author =       "A. Nico Habermann",
  title =        "Synchronization of Communicating Processes",
  journal =      j-CACM,
  volume =       "15",
  number =       "3",
  pages =        "171--176",
  month =        mar,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Object/Nierstrasz.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150J (Operating systems)",
  conflocation = "Palo Alto, CA, USA; 18-20 Oct. 1971",
  conftitle =    "Papers from the 3rd ACM symposium on operating systems principles",
  corpsource =   "Carnegie-Mellon Univ., Pittsburg, PA, USA",
  keywords =     "buffer store; communication; concurrency; operating systems (computers); parallel processes; parallel processing; synchronisation; synchronization",
  sponsororg =   "Assoc. Computing machinery",
}

@Article{Teorey:1972:CAD,
  author =       "Toby J. Teorey and Tad B. Pinkerton",
  title =        "A Comparative Analysis of Disk Scheduling Policies",
  journal =      j-CACM,
  volume =       "15",
  number =       "3",
  pages =        "177--184",
  month =        mar,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib; ftp://ftp.ira.uka.de/pub/bibliography/Misc/is.bib",
  acknowledgement = ack-nhfb,
  annote =       "Analysis, design of hardware. Minimizing seeks and latencies.",
  classcodes =   "C6150J (Operating systems)",
  conflocation = "Palo Alto, CA, USA; 18-20 Oct. 1971",
  conftitle =    "Papers from the 3rd ACM symposium on operating systems principles",
  corpsource =   "Univ. Wisconsin, Madison, WI, USA",
  keywords =     "criteria; disk scheduling policies; magnetic storage systems; multiprogramming; performance; seek time; waiting time",
  sponsororg =   "Assoc. Computing machinery",
  treatment =    "P Practical",
}

@Article{Coffman:1972:SSP,
  author =       "E. G. {Coffman, Jr.} and T. A. {Ryan, Jr.}",
  title =        "A study of storage partitioning using a mathematical model of locality",
  journal =      j-CACM,
  volume =       "15",
  number =       "3",
  pages =        "185--190",
  month =        mar,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Misc/cache.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C1220 (Simulation, modelling and identification); C6150J (Operating systems)",
  conflocation = "Palo Alto, CA, USA; 18-20 Oct. 1971",
  conftitle =    "Papers from the 3rd ACM symposium on operating systems principles",
  corpsource =   "Pennsylvania State Univ., University Park, PA, USA",
  keywords =     "dynamic; fixed; mathematical model of locality; modelling; multiprogramming; storage allocation; storage partitioning",
  sponsororg =   "Assoc. Computing machinery",
  treatment =    "P Practical",
}

@Article{Denning:1972:PWS,
  author =       "Peter J. Denning and Stuart C. Schwartz",
  title =        "Properties of the working-set model",
  journal =      j-CACM,
  volume =       "15",
  number =       "3",
  pages =        "191--198",
  month =        mar,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A05",
  MRnumber =     "47 6119",
  mrreviewer =   "A. D. Booth",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "See corrigendum \cite{Denning:1973:CWM}.",
  abstract =     "A program's working set $W(t,T)$ at time $t$ is the set of distinct pages among the T most recently referenced pages. Relations between the average working-set size, the missing-page rate, and the interreference-interval distribution may be derived both from time-average definitions and from ensemble-average (statistical) definitions. An efficient algorithm for estimating these quantities is given. The relation to LRU (least recently used) paging is characterized. The independent-reference model, in which page references are statistically independent, is used to assess the effects to interpage dependencies on working-set size observations. Under general assumptions, working-set size is shown to be normally distributed.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4290 (Other computer theory)",
  conflocation = "Palo Alto, CA, USA; 18-20 Oct. 1971",
  conftitle =    "Papers from the 3rd ACM symposium on operating systems principles",
  corpsource =   "Princeton Univ., NJ, USA",
  keywords =     "paging; paging algorithms; program behavior; program modeling; working-set model",
  keywords =     "model; modelling; paging; programming theory; supervisory programs; working set",
  sponsororg =   "Assoc. Computing machinery",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Conway:1972:ISM,
  author =       "R. W. Conway and W. L. Maxwell and H. L. Morgan",
  title =        "On the Implementation of Security Measures in Information Systems",
  journal =      j-CACM,
  volume =       "15",
  number =       "4",
  pages =        "211--220",
  month =        apr,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  corpsource =   "Cornell Univ., Ithaca, NY, USA",
  keywords =     "access control confidentiality; access management; data banks; information systems; management; model; modelling; operating systems; privacy; security; security of data",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Walden:1972:SIC,
  author =       "D. C. Walden",
  title =        "A system for interprocess communication in a resource sharing computer network",
  journal =      j-CACM,
  volume =       "15",
  number =       "4",
  pages =        "221--230",
  month =        apr,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1972.bib and ftp://ftp.ira.uka.de/pub/bibliography/Distributed/network.bib",
  note =         "Reproduced in ``Advances in Computer Communications'', W. W. Chu, (Ed.), (1974), 340--349.",
  abstract =     "A system of communication between processes in a time-sharing system is described and the communication system is extended so that it may be used between processes distributed throughout a computer network. \par The hypothetical application of the system to an existing network is discussed.",
  acknowledgement = ack-nhfb,
  annote =       "A system of communication between processes in a time-sharing system is described and the communication is extended so that it may be used between processes distributed throughout a computer network. The hypothetical application of the system to an existing network is discussed.",
  classcodes =   "C5490 (Other aspects of analogue and digital computers); C5620 (Computer networks and techniques)",
  corpsource =   "Bolt Beranek and Newman Inc., Cambridge, MA, USA",
  country =      "USA",
  descriptors =  "Resource management; computer network; time sharing; interprocess communication;",
  enum =         "3213",
  keywords =     "computer networks; digital communication systems; hypothetical application; interprocess communication; resource sharing; time sharing; time-sharing; time-sharing systems",
  language =     "English",
  references =   "10",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Herbst:1972:ELP,
  author =       "N. M. Herbst and P. M. Will",
  title =        "An experimental laboratory for pattern recognition and signal processing",
  journal =      j-CACM,
  volume =       "15",
  number =       "4",
  pages =        "231--244",
  month =        apr,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C5490 (Other aspects of analogue and digital computers)",
  corpsource =   "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA",
  keywords =     "analogue input and output facilities; computer; design; display systems; image; interactive terminal; pattern recognition; process control digital; processing; programming support; pseudorandom displays; scanner control; scanners; signal processing; system; TV camera",
  treatment =    "A Application; X Experimental",
}

@Article{Matsushita:1972:HLE,
  author =       "Yutaka Matsushita",
  title =        "Hidden lines elimination for a rotating object",
  journal =      j-CACM,
  volume =       "15",
  number =       "4",
  pages =        "245--252",
  month =        apr,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A10",
  MRnumber =     "47 7945",
  mrreviewer =   "Rani Siromoney",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  abstract =     "A method is presented of determining which parts of three-dimensional objects are visible and which are invisible when the objects are rotated about some axis. This paper describes a polygon comparison scheme in which the relationships of two polygons can be classified into tree types, and also discusses how the relationship is changed for each pair of polygons under rotation about some axis. A rotation table is defined for each pair of polygons, which remains fixed as long as rotation is about one axis and provides a means of rapidly determining the visible and hidden line relationship between two polygons. \par Additional work must be done to extend this approach to simultaneous rotation about several axes.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  corpsource =   "Univ. Illinois, Urbana-Champaign, IL, USA",
  keywords =     "computer drawn picture; computer graphics; data handling; display programming; displays; graphics; hidden line; hidden line problem; polygon comparison scheme; problem; rotating object",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Chase:1972:IGA,
  author =       "S. M. Chase",
  title =        "An implemented graph algorithm for winning {Shannon Switching Games}",
  journal =      j-CACM,
  volume =       "15",
  number =       "4",
  pages =        "253--256",
  month =        apr,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C1230 (Artificial intelligence)",
  corpsource =   "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA",
  keywords =     "artificial intelligence; computer; game playing; graph algorithm; programme; Shannon Switching Games; winning strategy",
  treatment =    "P Practical",
}

@Article{Horowitz:1972:CSP,
  author =       "E. Horowitz and H. L. Morgan and A. C. Shaw",
  title =        "Computers and Society: {A} Proposed Course for Computer Scientists",
  journal =      j-CACM,
  volume =       "15",
  number =       "4",
  pages =        "257--261",
  month =        apr,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  abstract =     "The purpose of this paper is to describe a course concerned with both the effects of computers on society and the responsibilities of computer scientists to society. The impact of computers is divided into five components: political, economic, cultural, social, and moral; the main part of the paper defines each component and presents examples of the relevant issues. In the remaining portions the possible formats for such a course are discussed, a topic by topic outline is given, and a selected set of references is listed. It is hoped that the proposal will make it easier to initiate courses on this subject.",
  acknowledgement = ack-nhfb,
  classcodes =   "C0220 (Computing education and training)",
  corpsource =   "Cornell Univ., Ithaca, NY, USA",
  keywords =     "computer scientists; computers and society; course; course proposal; cultural; economic; economic and sociological effects; education; moral; political; social; social implications",
  treatment =    "P Practical",
}

@Article{Kuki:1972:CGF,
  author =       "H. Kuki",
  title =        "Complex gamma function with error control",
  journal =      j-CACM,
  volume =       "15",
  number =       "4",
  pages =        "262--267",
  month =        apr,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4130 (Interpolation and function approximation); C7310 (Mathematics computing)",
  corpsource =   "Univ. Chicago, IL, USA",
  keywords =     "algorithm; complex; complex gamma function; error control; function approximation; loggamma function",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Moler:1972:MCF,
  author =       "C. B. Moler",
  title =        "Matrix Computations with {Fortran} and Paging",
  journal =      j-CACM,
  volume =       "15",
  number =       "4",
  pages =        "268--270",
  month =        apr,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Theory/Matrix.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C4140 (Linear algebra); C6140D (High level languages)",
  corpsource =   "Univ. Michigan, Ann Arbor, MI, USA",
  keywords =     "FORTRAN; Fortran; linear equations; matrix algebra; matrix computations; memory hierarchy; nested loops; nla; paged memory; virtual memory",
  treatment =    "P Practical",
}

@Article{Kuki:1972:AAC,
  author =       "Hirondo Kuki",
  title =        "{ACM} Algorithm 421: Complex Gamma Function with Error Control",
  journal =      j-CACM,
  volume =       "15",
  number =       "4",
  pages =        "271--272",
  month =        apr,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65D20",
  MRnumber =     "47 1249",
  mrreviewer =   "L. Fox",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4130 (Interpolation and function approximation); C7310 (Mathematics computing)",
  corpsource =   "Univ. Chicago, IL, USA",
  keywords =     "complex gamma function; complex loggamma; error control; FORTRAN; function; function approximation; programme; subroutines",
}

@Article{Whitney:1972:AAM,
  author =       "V. K. M. Whitney",
  title =        "{ACM} Algorithm 422: Minimal Spanning Tree",
  journal =      j-CACM,
  volume =       "15",
  number =       "4",
  pages =        "273--274",
  month =        apr,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "See remark \cite{Kernighan:1973:RAM}.",
  acknowledgement = ack-nhfb,
  classcodes =   "C7310 (Mathematics computing)",
  corpsource =   "Univ. Michigan, Ann Arbor, MI, USA",
  keywords =     "algorithm; FORTRAN; maximal spanning tree; minimal spanning tree; spanning tree; subroutines; trees (mathematics); undirected graph",
}

@Article{Moler:1972:AAL,
  author =       "C. B. Moler",
  title =        "{ACM} Algorithm 423: Linear Equation Solver",
  journal =      j-CACM,
  volume =       "15",
  number =       "4",
  pages =        "274--274",
  month =        apr,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4140 (Linear algebra)",
  corpsource =   "Univ. Michigan, Ann Arbor, MI, USA",
  keywords =     "array processing; Fortran; linear algebra; linear equation solver; memory; paged memory; subroutines; virtual",
}

@Article{Walden:1972:NCN,
  author =       "D. C. Walden",
  title =        "A Note on {Cheney}'s Nonrecursive List-Compacting Algorithm",
  journal =      j-CACM,
  volume =       "15",
  number =       "4",
  pages =        "275--275",
  month =        apr,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  corpsource =   "A/S Norsk Data-Elektronikk, Oslo, Norway",
  keywords =     "algorithm; garbage collection; list compacting; list processing; nonrecursive; storage management",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Hu:1972:CDC,
  author =       "T. C. Hu",
  key =          "file searching, double-chained tree, binary search tree",
  title =        "A Comment on the Double-Chained Tree",
  journal =      j-CACM,
  volume =       "15",
  number =       "4",
  pages =        "276--276",
  month =        apr,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  corpsource =   "Univ. Wisconsin, Madison, WI, USA",
  keywords =     "binary search tree; double chained tree; file organisation; file searching; trees (mathematics)",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Mullin:1972:IIS,
  author =       "James K. Mullin",
  title =        "An Improved Indexed-Sequential Access Method Using Hashed Overflow",
  journal =      j-CACM,
  volume =       "15",
  number =       "5",
  pages =        "301--307",
  month =        may,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Misc/hash.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  corpsource =   "Univ. Western Ontario, Ont., Canada",
  keywords =     "cylinder; file management systems; file organisation; hashed overflow; improved index sequential access method; long overflow chains; movable head disc devices; overflow records; record keys; scatter; space allocation; storage; storage allocation; storage management; treating",
  treatment =    "P Practical",
}

@Article{Bensoussan:1972:MVM,
  author =       "A. Bensoussan and C. T. Clingen and R. C. Daley",
  title =        "The {Multics} Virtual Memory: Concepts and Design",
  journal =      j-CACM,
  volume =       "15",
  number =       "5",
  pages =        "308--318",
  month =        may,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150J (Operating systems)",
  corpsource =   "Honeywell Information Systems Inc., Cambridge, MA, USA",
  keywords =     "concepts; design; hierarchy; information sharing; memory; memory management; Multics virtual memory; online operating systems; Operating segments paging sharing management CACM; operating systems (computers); paging; segmentation",
  treatment =    "P Practical",
}

@Article{Christman:1972:MSA,
  author =       "R. D. Christman",
  title =        "{MUX}, a simple approach to on-line computing",
  journal =      j-CACM,
  volume =       "15",
  number =       "5",
  pages =        "319--329",
  month =        may,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150J (Operating systems)",
  corpsource =   "Univ. California, Los Alamos, NM, USA",
  keywords =     "batch system; CDC 6600 computer; cost; design criteria; economics; implementation; input; modify files; multi-access systems; multiplexer; MUX; online computing; online operation; operating; overhead; systems (computers); user reactions",
  treatment =    "E Economic; P Practical",
}

@Article{Parnas:1972:TSM,
  author =       "David L. Parnas",
  title =        "A technique for software module specification with examples",
  journal =      j-CACM,
  volume =       "15",
  number =       "5",
  pages =        "330--336",
  month =        may,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Theory/obscure.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming)",
  corpsource =   "Carnegie-Mellon Univ., Pittsburgh, PA, USA",
  keywords =     "programming; software design; software module specification; technique",
  treatment =    "P Practical",
}

@Article{Gentleman:1972:ICCa,
  author =       "W. Morven Gentleman",
  title =        "Implementing {Clenshaw-Curtis} quadrature. {I}. Methodology and experience",
  journal =      j-CACM,
  volume =       "15",
  number =       "5",
  pages =        "337--342",
  month =        may,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65D30",
  MRnumber =     "48 5343",
  mrreviewer =   "D. F. Mayers",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Theory/Comp.Alg.1.bib",
  abstract =     "Clenshaw-Curtis quadrature is a particularly important automatic quadrature scheme for a variety of reasons, especially the high accuracy obtained from relatively few integrand values. However, it has received little use because it requires the computation of a cosine transformation and the arithmetic cost of this has been prohibitive. This paper is in two parts; a companion paper, ``II Computing the Cosine Transformation,'' shows that this objection can be overcome by computing the cosine transformation by a modification of the fast Fourier transform algorithm. \par This first part discusses the strategy and various error estimates, and summarizes experience with a particular implementation of the scheme.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4110 (Error analysis in numerical methods); C4160 (Numerical integration and differentiation); C7310 (Mathematics computing)",
  corpsource =   "Univ. Waterloo, Ont., Canada",
  keywords =     "automatic quadrature; Chebyshev series; Clenshaw Curtis; Clenshaw-Curtis quadrature; error analysis; error estimates; experience; implementation; integration; numerical integration; numerical methods; strategy",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Gentleman:1972:ICCb,
  author =       "W. Morvin Gentleman",
  title =        "Implementing {Clenshaw-Curtis} quadrature. {II}. Computing the cosine transformation",
  journal =      j-CACM,
  volume =       "15",
  number =       "5",
  pages =        "343--346",
  month =        may,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65D30",
  MRnumber =     "48 5344",
  mrreviewer =   "D. F. Mayers",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  abstract =     "In a companion paper to this, ``I Methodology and Experiences,'' the automatic Clenshaw-Curtis quadrature scheme was described and how each quadrature formula used in the scheme requires a cosine transformation of the integrand values was shown. The high cost of these cosine transformations has been a serious drawback in using Clenshaw-Curtis quadrature. \par Two other problems related to the cosine transformation have also been trouble some. First, the conventional computation of the cosine transformation by recurrence relation is numerically unstable, particularly at the low frequencies which have the largest effect upon the integral. Second, in case the automatic scheme should require refinement of the sampling, storage is required to save the integrand values after the cosine transformation is computed. This second part of the paper shows how the cosine transformation can be computed by a modification of the fast Fourier transform and all three problems overcome. The modification is also applicable in other circumstances requiring cosine or sine transformations, such as polynomial interpolation through the Chebyshev points.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4160 (Numerical integration and differentiation); C7310 (Mathematics computing)",
  corpsource =   "Univ. Waterloo, Ont., Canada",
  keywords =     "Chebyshev series; Clenshaw Curtis quadrature; Clenshaw-Curtis quadrature; cosine; cosine transformation; fast Fourier transformation; fast Fourier transforms; FFT; implementation; integration; numerical methods; polynomial interpolation; transformation",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Greenspan:1972:FFD,
  author =       "D. Greenspan and D. Schultz",
  title =        "Fast finite-difference solution of biharmonic problems",
  journal =      j-CACM,
  volume =       "15",
  number =       "5",
  pages =        "347--350",
  month =        may,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65N05",
  MRnumber =     "47 2829",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  abstract =     "Setting the Reynolds number equal to zero, in a method for solving the Navier-Strokes equations numerically, results in a fast numerical method for biharmonic problems. The equation is treated as a system of two second order equations and a simple smoothing process is essential for convergence. An application is made to a crack-type problem.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4170 (Differential equations)",
  corpsource =   "Univ. Wisconsin, Madison, WI, USA",
  keywords =     "biharmonic equation; boundary value problem; numerical analysis; partial differential equations",
  keywords =     "biharmonic problems; boundary value problem; boundary-value problems; convergence; convergence of numerical methods; crack type problem; difference equations; fast finite difference solution; Navier Stokes equations; partial differential equations; process; smoothing; two second order equations",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Dunham:1972:MNA,
  author =       "C. B. Dunham",
  title =        "Minimax nonlinear approximation by approximation on subsets",
  journal =      j-CACM,
  volume =       "15",
  number =       "5",
  pages =        "351--351",
  month =        may,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4130 (Interpolation and function approximation)",
  corpsource =   "Univ. Western Ontario, Ont., Canada",
  keywords =     "function approximation; minimax nonlinear approximation; optimisation; subsets",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Harter:1972:OWF,
  author =       "Richard Harter",
  title =        "The Optimality of {Winograd}'s Formula",
  journal =      j-CACM,
  volume =       "15",
  number =       "5",
  pages =        "352--352",
  month =        may,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "352.65F05",
  MRnumber =     "47 2801",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4140 (Linear algebra)",
  keywords =     "inner product; linear algebra; numerical analysis; optimality; vectors; Winograd's formula",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Gentleman:1972:AAC,
  author =       "W. M. Gentleman",
  title =        "{ACM} Algorithm 424: {Clenshaw-Curtis} Quadrature",
  journal =      j-CACM,
  volume =       "15",
  number =       "5",
  pages =        "353--355",
  month =        may,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "See also \cite{Geddes:1979:RCC}.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4160 (Numerical integration and differentiation); C7310 (Mathematics computing)",
  corpsource =   "Univ. Waterloo, Ont., Canada",
  keywords =     "Chebyshev series; Clenshaw Curtis quadrature; cosine transform; FFT; FORTRAN subroutine; integration; subroutines",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Hurst:1972:AAG,
  author =       "R. L. Hurst and R. E. Knop",
  title =        "{ACM} Algorithm 425: Generation of Random Correlated Normal Variables",
  journal =      j-CACM,
  volume =       "15",
  number =       "5",
  pages =        "355--357",
  month =        may,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7310 (Mathematics computing)",
  corpsource =   "Utah State Univ., Logan, UT, USA",
  keywords =     "algorithms; FORTRAN subroutine; generation; multivariate normal density; random correlated normal variables; statistics; subroutines; timing",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Bron:1972:AAM,
  author =       "C. Bron",
  title =        "{ACM} Algorithm 426: Merge Sort Algorithm",
  journal =      j-CACM,
  volume =       "15",
  number =       "5",
  pages =        "357--358",
  month =        may,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  corpsource =   "Technol. Univ., Eindhoven, Netherlands",
  keywords =     "ALGOL 60 procedure; merge sort algorithm; merging; recursion; sorting; subroutines",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Linz:1972:AAF,
  author =       "P. Linz",
  title =        "{ACM} Algorithm 427: {Fourier Cosine} Integral",
  journal =      j-CACM,
  volume =       "15",
  number =       "5",
  pages =        "358--360",
  month =        may,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4160 (Numerical integration and differentiation); C7310 (Mathematics computing)",
  corpsource =   "Univ. California, Davis, CA, USA",
  keywords =     "FORTRAN procedure; Fourier cosine integral; integration; subroutines",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Yohe:1972:AAH,
  author =       "J. M. Yohe",
  title =        "{ACM} Algorithm 428: {Hu-Tucker} Minimum Redundancy Alphabetic Coding Method",
  journal =      j-CACM,
  volume =       "15",
  number =       "5",
  pages =        "360--362",
  month =        may,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B6120B (Codes); C1260 (Information theory)",
  corpsource =   "Univ. Wisconsin, Madison, WI, USA",
  keywords =     "codes; encoding; FORTRAN subroutine; Hu Tucker minimum redundancy alphabetic binary coding; method; subroutines",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Ashenhurst:1972:RAC,
  author =       "R. L. Ashenhurst",
  title =        "A report of the {ACM} curriculum committee on computer education for management. Curriculum recommendations for graduate professional programs in information systems",
  journal =      j-CACM,
  volume =       "15",
  number =       "5",
  pages =        "363--398",
  month =        may,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C0220 (Computing education and training)",
  keywords =     "course descriptions; curriculum recommendations; education; implementation; information systems; systems analysis",
  treatment =    "G General Review",
}

@Article{Blatny:1972:OPT,
  author =       "J. Blatny and S. R. Clark and T. A. Rourke",
  title =        "On the optimization of performance of time-sharing systems by simulation",
  journal =      j-CACM,
  volume =       "15",
  number =       "6",
  pages =        "411--420",
  month =        jun,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4290 (Other computer theory); C6150J (Operating systems)",
  corpsource =   "Univ. Manitoba, Winnipeg, Man., Canada",
  keywords =     "computation theory; finite; infinite auxiliary store; job scheduling algorithm; noncontiguous store; number of jobs allowed to execute simultaneously; optimisation; optimization of performance; optimum round robin cycle time selection; programs; sharing systems; simulation; slice techniques; store size; time; time-sharing; variable time",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Spacek:1972:PEP,
  author =       "T. R. Spacek",
  title =        "A proposal to establish a pseudo virtual memory via writable overlays",
  journal =      j-CACM,
  volume =       "15",
  number =       "6",
  pages =        "421--426",
  month =        jun,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  corpsource =   "CIA, Washington, DC, USA",
  keywords =     "collector; display; establishment; executable storage size problems; folding; graphic; linkage editor; loader; overlay structure; paging; pseudovirtual memory; segmentation; storage allocation; writable overlays",
}

@Article{Gilbert:1972:IBC,
  author =       "P. Gilbert and W. J. Chandler",
  title =        "Interference between Communicating Parallel Processes",
  journal =      j-CACM,
  volume =       "15",
  number =       "6",
  pages =        "427--437",
  month =        jun,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C4290 (Other computer theory); C6150J (Operating systems)",
  corpsource =   "Univ. Southern California, Los Angeles, CA, USA",
  keywords =     "computation theory; concurrent programming control; cooperating processes; formal programs; inclusion; interference between communicating parallel processes; mutual exclusion; operating systems; parallel processing; problem; sequences of states; transition rule",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Gimpel:1972:BND,
  author =       "J. F. Gimpel",
  title =        "Blocks-a new datatype for {SNOBOL} 4",
  journal =      j-CACM,
  volume =       "15",
  number =       "6",
  pages =        "438--447",
  month =        jun,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques); C6140D (High level languages)",
  corpsource =   "Bell Telephone Labs. Inc., Holmdel, NJ, USA",
  keywords =     "blocks; character; composing printable output; datatype; dimensional aggregate of characters; manipulation; overstriking; problem oriented languages; right parallelepiped; SNOBOL 4; string processing; text editing; text processing; three",
  treatment =    "P Practical",
}

@Article{Martin:1972:BMM,
  author =       "David F. Martin",
  title =        "A {Boolean} matrix method for the computation of linear precedence functions",
  journal =      j-CACM,
  volume =       "15",
  number =       "6",
  pages =        "448--454",
  month =        jun,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A30",
  MRnumber =     "54 9175",
  mrreviewer =   "Daniel J. Rosenkrantz",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic)",
  corpsource =   "Univ. California, Los Angeles, CA, USA",
  keywords =     "analysis; Boolean functions; boolean matrix method; conflict free matrix; context; context-free grammars; free parsing; linear precedence functions; matrix algebra; precedence grammars; syntax",
  treatment =    "T Theoretical or Mathematical",
}

@Article{OReagan:1972:CAC,
  author =       "Robert T. O'Reagan",
  title =        "Computer Assigned Codes from Verbal Responses",
  journal =      j-CACM,
  volume =       "15",
  number =       "6",
  pages =        "455--459",
  month =        jun,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  corpsource =   "US Bureau of the Census, Washington, DC, USA",
  keywords =     "codes; computer coding; concept; data handling; historical response patterns; reference list; translation; verbal responses; word coding; word strings",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Iguchi:1972:SMS,
  author =       "K. Iguchi",
  title =        "A starting method for solving nonlinear {Volterra} integral equations of the second kind",
  journal =      j-CACM,
  volume =       "15",
  number =       "6",
  pages =        "460--461",
  month =        jun,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4160 (Numerical integration and differentiation)",
  corpsource =   "Nagoya Univ., Japan",
  keywords =     "algorithm; fourth order method; integral equations; nonlinear Volterra integral equations; numerical methods; starting method",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Pohl:1972:SPC,
  author =       "I. Pohl",
  title =        "A Sorting Problem and Its Complexity",
  journal =      j-CACM,
  volume =       "15",
  number =       "6",
  pages =        "462--464",
  month =        jun,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  abstract =     "A technique for proving min-max norms of sorting algorithms is given. One new algorithm for finding the minimum and maximum elements of a set with fewest comparisons is proved optimal with this technique.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  corpsource =   "Univ. California, Santa Cruz, CA, USA",
  keywords =     "complexity; computational; computational combinatorics; computational combinatories; computational complexity; minimax norms; minimum and maximum elements; sorting",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Kolbig:1972:CAC,
  author =       "K. S. Kolbig",
  title =        "Certification of algorithm 363 (complex error function)",
  journal =      j-CACM,
  volume =       "15",
  number =       "6",
  pages =        "465--466",
  month =        jun,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4120 (Functional analysis); C7310 (Mathematics computing)",
  corpsource =   "CERN, Geneva, Switzerland",
  keywords =     "complex error function; function evaluation; special functions; subroutines; Voigt function",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Niessner:1972:RAE,
  author =       "H. Niessner",
  title =        "Remark on algorithm 343 (Eigenvalues and eigenvectors of a real general matrix)",
  journal =      j-CACM,
  volume =       "15",
  number =       "6",
  pages =        "466--466",
  month =        jun,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4140 (Linear algebra); C7310 (Mathematics computing)",
  corpsource =   "Brown, Boveri and Co., Baden, Switzerland",
  keywords =     "eigenvalues; eigenvalues and eigenfunctions; eigenvectors; FORTRAN; general; matrices; matrix algebra; nonsymmetric matrices; QR algorithm; subroutines",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Proll:1972:RAA,
  author =       "L. G. Proll",
  title =        "Remark on ``{ACM Algorithm 370 (General random number generator) [G5]''}",
  journal =      j-CACM,
  volume =       "15",
  number =       "6",
  pages =        "467--468",
  month =        jun,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1972.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C7890 (Other special applications of computing)",
  corpsource =   "Univ. Southampton, UK",
  country =      "USA",
  descriptors =  "RVG;",
  enum =         "7783",
  keywords =     "cumulative distribution function; probability density function; random number generation; random number generator; subroutines; transformation",
  language =     "English",
  references =   "0",
  treatment =    "G General Review",
}

@Article{Schrack:1972:RAR,
  author =       "G. F. Schrack",
  title =        "Remark on algorithm 381 (Random vectors uniform in solid angle)",
  journal =      j-CACM,
  volume =       "15",
  number =       "6",
  pages =        "468--468",
  month =        jun,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7890 (Other special applications of computing)",
  corpsource =   "Univ. British Columbia, Vancouver, BC, Canada",
  keywords =     "points uniform on; random number generation; random vector generator; solid angle; sphere; spherically symmetric probability distribution; subroutines",
  treatment =    "A Application",
}

@Article{Sale:1972:RAS,
  author =       "A. H. J. Sale",
  title =        "Remark on algorithm 393 (Special series summation with arbitrary precision)",
  journal =      j-CACM,
  volume =       "15",
  number =       "6",
  pages =        "468--469",
  month =        jun,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4120 (Functional analysis); C7310 (Mathematics computing)",
  corpsource =   "Univ. Sydney, NSW, Australia",
  keywords =     "approximation; function evaluation; harmonic series; series summation; subroutines",
  treatment =    "A Application",
}

@Article{Einarsson:1972:RAC,
  author =       "B. Einarsson",
  title =        "Remark on algorithm 418 (Calculation of {Fourier} integrals)",
  journal =      j-CACM,
  volume =       "15",
  number =       "6",
  pages =        "469--469",
  month =        jun,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4160 (Numerical integration and differentiation); C7310 (Mathematics computing)",
  corpsource =   "Res. Inst. Nat. Defense, Tumba, Sweden",
  keywords =     "approximation; coefficients; Filon integration; Filon quadrature; Fourier; Fourier integrals; Fourier series; integration; numerical methods; quadrature; Richardson extrapolation; spline; splines (mathematics); subroutines",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Johnson:1972:RAI,
  author =       "S. C. Johnson and B. W. Kernighan",
  title =        "Remark on algorithm 397 (An integer programming problem)",
  journal =      j-CACM,
  volume =       "15",
  number =       "6",
  pages =        "469--469",
  month =        jun,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0260 (Optimisation techniques); C1180 (Optimisation techniques); C7310 (Mathematics computing)",
  corpsource =   "Bell Labs., Murray Hill, NJ, USA",
  keywords =     "change making problem; integer programming; subroutines",
  treatment =    "A Application",
}

@Article{Kandel:1972:CSV,
  author =       "Abraham Kandel",
  title =        "Computer Science --- {A} Vicious Circle",
  journal =      j-CACM,
  volume =       "15",
  number =       "6",
  pages =        "470--471",
  month =        jun,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C0220 (Computing education and training)",
  corpsource =   "New Mexico Inst. Mining and Technol., Socorro, NM, USA",
  keywords =     "computer engineering; computer personnel; computer science curriculum; education; personnel; systems design",
  treatment =    "G General Review",
}

@Article{Koffman:1972:IIG,
  author =       "E. B. Koffman",
  title =        "Individualizing instruction in a generative {CAI} tutor",
  journal =      j-CACM,
  volume =       "15",
  number =       "6",
  pages =        "472--473",
  month =        jun,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C0220 (Computing education and training); C7810C (Computer-aided instruction)",
  corpsource =   "Univ. Connecticut, Storrs, CT, USA",
  keywords =     "adaptive instruction; and sequential design; combinational; computer aided instruction; computer assisted instructions; education; generative CAI tutor; machine language programming",
  treatment =    "A Application; P Practical",
}

@Article{Houstis:1972:AAP,
  author =       "E. N. Houstis and W. F. Mitchell and J. R. Rice",
  title =        "{ACM} Algorithm 438: Product Type Two-point {Gauss-Legendre-Simpson}'s Integration",
  journal =      j-CACM,
  volume =       "15",
  number =       "6",
  pages =        "1071",
  month =        jun,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Thu Sep 08 09:34:02 1994",
}

@Article{Revens:1972:FTF,
  author =       "Lee Revens",
  title =        "The first twenty-five years {ACM} 1947--1962",
  journal =      j-CACM,
  volume =       "15",
  number =       "7",
  pages =        "485--490",
  month =        jul,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68-03",
  MRnumber =     "52 16081",
  bibdate =      "Tue Dec 26 13:35:07 1995",
  note =         "Twenty-fifth anniversary of the Association for Computing Machinery.",
  acknowledgement = ack-nhfb,
}

@Article{Weiss:1972:PCI,
  author =       "Eric A. Weiss",
  title =        "Publications in computing: an informal review",
  journal =      j-CACM,
  volume =       "15",
  number =       "7",
  pages =        "491--497",
  month =        jul,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68-03",
  MRnumber =     "52 16083",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "Twenty-fifth anniversary of the Association for Computing Machinery.",
  acknowledgement = ack-nhfb,
  classcodes =   "C0200 (General computer topics)",
  keywords =     "digital computers; publications in computing; review",
  treatment =    "B Bibliography",
}

@Article{Ershov:1972:AHF,
  author =       "A. P. Ershov",
  title =        "Aesthetics and the Human Factor in Programming",
  journal =      j-CACM,
  volume =       "15",
  number =       "7",
  pages =        "501--505",
  month =        jul,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "See corrigendum \cite{Ershov:1972:CAH}.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming)",
  corpsource =   "Novosibirsk Univ., USSR",
  keywords =     "aesthetics; human factor; human factors; programming",
  treatment =    "G General Review",
}

@Article{Anonymous:1972:ISI,
  author =       "Anonymous",
  title =        "As the industry sees it",
  journal =      j-CACM,
  volume =       "15",
  number =       "7",
  pages =        "506--517",
  month =        jul,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C0200 (General computer topics)",
  keywords =     "digital computers; future of computers; industry",
  treatment =    "G General Review",
}

@Article{Arbib:1972:TAT,
  author =       "Michael A. Arbib",
  title =        "Toward an Automata Theory of Brains",
  journal =      j-CACM,
  volume =       "15",
  number =       "7",
  pages =        "521--527",
  month =        jul,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A25 (92A05)",
  MRnumber =     "53 7131",
  mrreviewer =   "Jill Humphries",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "Twenty-fifth anniversary of the Association for Computing Machinery.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4220 (Automata theory)",
  corpsource =   "Univ. Massachusetts, Amherst, MA, USA",
  keywords =     "automata theory; brain models; brains",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Manna:1972:FAT,
  author =       "Zohar Manna and Jean Vuillemin",
  title =        "Fixpoint Approach to the Theory of Computation",
  journal =      j-CACM,
  volume =       "15",
  number =       "7",
  pages =        "528--536",
  month =        jul,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A05",
  MRnumber =     "55 13859",
  mrreviewer =   "Andrea Maggiolo-Schettini",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Compiler/semantics.bib",
  note =         "Twenty-fifth anniversary of the Association for Computing Machinery.",
  abstract =     "Following the fix point theory of Scott, the semantics of computer programs are defined in terms of the least fix points of recursive programs. This allows not only the justification of all existing verification techniques, but also their extension to the handling, in a uniform manner of various properties of computer programs, including correctness, termination, and equivalence.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4290 (Other computer theory)",
  corpsource =   "Stanford Univ., CA, USA",
  keywords =     "computation; computational induction; computational linguistics; correctness; equivalence; fixpoints; least; least fix points; program diagnostics; programming; recursive programs; semantics of computer programs; semantics of programming languages; termination; theory; verification techniques",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Traub:1972:NMC,
  author =       "J. F. Traub",
  title =        "Numerical Mathematics and Computer Science",
  journal =      j-CACM,
  volume =       "15",
  number =       "7",
  pages =        "537--541",
  month =        jul,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65-03",
  MRnumber =     "54 4031",
  mrreviewer =   "R. H. Bartels",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "Twenty-fifth anniversary of the Association for Computing Machinery.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4100 (Numerical analysis)",
  corpsource =   "Carnegie-Mellon Univ., Pittsburgh, PA, USA",
  keywords =     "algorithms; computer science; foundations; numerical mathematics; numerical methods; reviews; synthesis and analysis",
  treatment =    "G General Review",
}

@Article{Shanno:1972:MSV,
  author =       "David F. Shanno and Roman L. Weil",
  title =        "Management science: a view from nonlinear programming",
  journal =      j-CACM,
  volume =       "15",
  number =       "7",
  pages =        "542--549",
  month =        jul,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "90C10 (90C30)",
  MRnumber =     "55 9970",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "Twenty-fifth anniversary of the Association for Computing Machinery.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0260 (Optimisation techniques); C1180 (Optimisation techniques)",
  corpsource =   "Univ. Toronto, Ont., Canada",
  keywords =     "integer; management science; mathematical programming; nonlinear programming; reviews",
  treatment =    "B Bibliography; G General Review",
}

@Article{Moses:1972:TGT,
  author =       "Joel Moses",
  title =        "Toward a General Theory of Special Functions",
  journal =      j-CACM,
  volume =       "15",
  number =       "7",
  pages =        "550--556 (or 550--554??)",
  month =        jul,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "34-02 12H05",
  MRnumber =     "53 3384",
  mrreviewer =   "K. Okugawa",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "Twenty-fifth anniversary of the Association for Computing Machinery.",
  acknowledgement = ack-nhfb,
  classcodes =   "C1100 (Mathematical techniques)",
  keywords =     "general theory; mathematics; special functions",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Foster:1972:VCA,
  author =       "C. C. Foster",
  title =        "A view of computer architecture",
  journal =      j-CACM,
  volume =       "15",
  number =       "7",
  pages =        "557--565",
  month =        jul,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C5220 (Computer architecture)",
  corpsource =   "Univ. Massachusetts, Amherst, MA, USA",
  keywords =     "computer architecture; microcomputers; predict; reviews",
  treatment =    "G General Review",
}

@Article{Fraser:1972:IBC,
  author =       "A. G. Fraser",
  title =        "On the interface between computers and data communications systems",
  journal =      j-CACM,
  volume =       "15",
  number =       "7",
  pages =        "566--573",
  month =        jul,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/network.bib",
  abstract =     "Reproduced in Advances in Computer Commun., Chu,W.W (Ed.), (1974), 246-253.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5610 (Computer interfaces)",
  corpsource =   "Bell Telephone Labs. Inc., Murray Hill, NJ, USA",
  keywords =     "computer interfaces; computers; data communication systems; data communications; interface; specifying",
  treatment =    "P Practical",
}

@Article{BrinchHansen:1972:SM,
  author =       "Per {Brinch Hansen}",
  title =        "Structured Multiprogramming",
  journal =      j-CACM,
  volume =       "15",
  number =       "7",
  pages =        "574--578",
  month =        jul,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Object/Nierstrasz.bib and ftp://ftp.ira.uka.de/pub/bibliography/Os/os.bib",
  acknowledgement = ack-nhfb,
  annote =       "This paper presents a proposal for structured representation of multiprogramming in a high level language. Shared variables are introduced, and their role in `critical regions (denoted by the structured statement region var do Statement') is discussed. A synchronization primitive `await Boolean' delays a process until the components of a shared variable satisfy the boolean expression. For explicit control of the scheduling of resources, an event queue is associated with a shared variable, and two procedures await (event) (leave a critical region associated with the shared variable and join the event queue) and cause (event) (enable all processes in the event queue to reenter their critical regions) are provided, which can control process scheduling to any degree desired.",
  classcodes =   "C6150J (Operating systems)",
  corpsource =   "California Inst. Technol., Pasadena, CA, USA",
  keywords =     "concurrency",
  keywords =     "critical regions; event variables; high level; language; multiprogramming; operating systems; structured multiprogramming",
  treatment =    "P Practical",
}

@Article{Lynch:1972:OSP,
  author =       "W. C. Lynch",
  title =        "Operating system performance",
  journal =      j-CACM,
  volume =       "15",
  number =       "7",
  pages =        "579--585",
  month =        jul,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150J (Operating systems)",
  corpsource =   "Case Western Res. Univ., Cleveland, OH, USA",
  keywords =     "computer; model; operating system performance; operating systems (computers); reviews; systems; total system",
  treatment =    "G General Review",
}

@Article{Kimbleton:1972:RCS,
  author =       "S. R. Kimbleton",
  title =        "The role of computer system models in performance evaluation",
  journal =      j-CACM,
  volume =       "15",
  number =       "7",
  pages =        "586--590",
  month =        jul,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C0310 (EDP management); C1220 (Simulation, modelling and identification); C6150J (Operating systems)",
  corpsource =   "UNIV. Michigan, Ann Arbor, MI, USA",
  keywords =     "computer selection and evaluation; computer system models; evaluation; modelling; operating; operating systems; performance; systems (computers)",
  treatment =    "P Practical",
}

@Article{Rosen:1972:PSL,
  author =       "Saul Rosen",
  title =        "Programming Systems and Languages (1965--1975)",
  journal =      j-CACM,
  volume =       "15",
  number =       "7",
  pages =        "591--600",
  month =        jul,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  abstract =     "In spite of impressive gains by PL/I, Fortran and Cobol remain the languages in which most of the world's production programs are written and will remain so into the foreseeable future. There is a great deal of theoretical interest in Algol 68 and in extensible languages, but so far at least they have had little practical impact. Problem-oriented languages may very well become the most important language development area in the next five to ten years.\par In the operating system area all major computer manufacturers set out to produce very ambitious multiprogramming systems, and they all ran into similar problems. A number of university projects,though not directly comparable to those of the manufacturers, have contributed greatly to a better understanding of operating system principles. Important trends include the increased interest in the development of system measurement and evaluation techniques,and increased use of microprogramming for some programming system functions.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140 (Programming languages); C6150J (Operating systems)",
  corpsource =   "Purdue Univ., Lafayette, IN, USA",
  keywords =     "history; languages; microprogramming; multiprogramming; operating system; operating systems; operating systems (computers); problem oriented languages; programming; programming systems; reviews",
  treatment =    "G General Review",
}

@Article{Sammet:1972:PLH,
  author =       "Jean E. Sammet",
  title =        "Programming Languages: History and Future",
  journal =      j-CACM,
  volume =       "15",
  number =       "7",
  pages =        "601--610",
  month =        jul,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  abstract =     "This paper discusses both the history and future of programming languages (= higher level languages). \par Some of the difficulties in writing such a history are indicated. A key part of the paper is a tree showing the chronological development of languages and their interrelationships. Reasons for the proliferation of languages are given. The major languages are listed with the reasons for their importance. A section on chronology indicates the happenings of the significant previous time periods and the major topics of 1972. Key concepts other than specific languages are discussed.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140 (Programming languages)",
  corpsource =   "IBM Corp., Cambridge, MA, USA",
  keywords =     "chronological; development; future; future directions; higher level languages; history; language interrelationships; languages; programming language future; programming language history; programming language tree; programming languages; reviews",
  treatment =    "G General Review",
}

@Article{Fosdick:1972:PBM,
  author =       "L. D. Fosdick",
  title =        "The production of better mathematical software",
  journal =      j-CACM,
  volume =       "15",
  number =       "7",
  pages =        "611--617",
  month =        jul,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming)",
  corpsource =   "Univ. Colorado, Boulder, CO, USA",
  keywords =     "computer software; mathematical software; mathematics; production; programming",
  treatment =    "G General Review",
}

@Article{Bobrow:1972:RAP,
  author =       "D. G. Bobrow",
  title =        "Requirements for Advanced Programming Systems for List Processing",
  journal =      j-CACM,
  volume =       "15",
  number =       "7",
  pages =        "618--627",
  month =        jul,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Ai/lisp.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  corpsource =   "Xerox, Palo Alto, CA, USA",
  keywords =     "advanced programming systems; list processing; requirements",
}

@Article{Bachman:1972:ESS,
  author =       "Charles W. Bachman",
  title =        "The Evolution of Storage Structures",
  journal =      j-CACM,
  volume =       "15",
  number =       "7",
  pages =        "628--634",
  month =        jul,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  acknowledgement = ack-nhfb,
  annote =       "Good overview of basic definitions and their relationships",
  classcodes =   "C6120 (File organisation)",
  corpsource =   "Honeywell Information Systems, Billerica, MA, USA",
  keywords =     "data base management systems; Data Structure Diagram graphic technique; data structures; evolution; storage management; storage structures",
  treatment =    "P Practical",
}

@Article{Rice:1972:PFS,
  author =       "J. R. Rice",
  title =        "On the present and future of scientific computation",
  journal =      j-CACM,
  volume =       "15",
  number =       "7",
  pages =        "637--639",
  month =        jul,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7320 (Physics and chemistry computing); C7490 (Computing in other engineering fields)",
  corpsource =   "Purdue Univ., Lafayette, IN, USA",
  keywords =     "engineering applications of computers; future; natural sciences; physical sciences; physics; present; scientific computation",
  treatment =    "G General Review",
}

@Article{Benjamin:1972:GPI,
  author =       "Robert I. Benjamin",
  title =        "A generational perspective of information system development",
  journal =      j-CACM,
  volume =       "15",
  number =       "7",
  pages =        "640--643",
  month =        jul,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C7100 (Business and administration)",
  corpsource =   "Xerox Corp., Rochester, NY, USA",
  keywords =     "computing milieu; generational perspective; information system development; management data processing; management information systems",
  treatment =    "G General Review",
}

@Article{Sedelow:1972:LAH,
  author =       "S. Y. Sedelow",
  title =        "Language analysis in the humanities",
  journal =      j-CACM,
  volume =       "15",
  number =       "7",
  pages =        "644--647",
  month =        jul,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7820 (Humanities computing)",
  corpsource =   "Univ. Kansas, Lawrence, KS, USA",
  keywords =     "concordances; humanities; indices; language analysis; language translation and linguistics; pattern generation; pattern recognition",
  treatment =    "P Practical",
}

@Article{Zinn:1972:CIP,
  author =       "K. L. Zinn",
  title =        "Computers in the instructional process: directions for research and development",
  journal =      j-CACM,
  volume =       "15",
  number =       "7",
  pages =        "648--651",
  month =        jul,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7810C (Computer-aided instruction)",
  corpsource =   "Univ. Michigan, Ann Arbor, MI, USA",
  keywords =     "computer aided instruction; computers; development; directions; education; instructional process; research and",
  treatment =    "G General Review",
}

@Article{Sturman:1972:CUS,
  author =       "G. M. Sturman",
  title =        "Computers and urban society",
  journal =      j-CACM,
  volume =       "15",
  number =       "7",
  pages =        "652--657",
  month =        jul,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7000 (Computer applications); C7130 (Public administration)",
  corpsource =   "Parsons Brinckerhoff Quade and Douglas Inc., NY, USA",
  keywords =     "administrative data processing; brief survey; computers; engineering analysis; engineering applications of computers; government; information systems; sciences; social and behavioural; urban society; urban systems",
  treatment =    "P Practical",
}

@Article{Salton:1972:DDP,
  author =       "G. Salton",
  title =        "Dynamic document processing",
  journal =      j-CACM,
  volume =       "15",
  number =       "7",
  pages =        "658--668",
  month =        jul,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7250 (Information storage and retrieval)",
  corpsource =   "Cornell Univ., Ithaca, NY, USA",
  keywords =     "automatic; automatic indexing; automatic search and; clustered files; collection growth; dynamic document; indexing; information; information retrieval; interactive user controlled search process; iterative searching; library automation; library mechanisation; processing; query modification; retrieval",
  treatment =    "P Practical",
}

@Article{Knuth:1972:ABA,
  author =       "Donald E. Knuth",
  title =        "Ancient {Babylonian} algorithms",
  journal =      j-CACM,
  volume =       "15",
  number =       "7",
  pages =        "671--677",
  month =        jul,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRnumber =     "52 13132",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "Twenty-fifth anniversary of the Association for Computing Machinery. See errata \cite{Knuth:1976:EAB}.",
  acknowledgement = ack-nhfb,
  classcodes =   "C1100 (Mathematical techniques)",
  corpsource =   "Stanford Univ., CA, USA",
  keywords =     "ancient Babylonian algorithms; Babylonian; computer science; history of computation; mathematics; origins of mathematics; sexagesimal number system; tablets",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Bauer:1972:PKZ,
  author =       "F. L. Bauer and H. W{\"o}ssner and Konrad Zuse",
  title =        "The ``Plankalk{\"u}l'' of {Konrad Zuse}: a forerunner of today's programming languages.",
  journal =      j-CACM,
  volume =       "15",
  number =       "7",
  pages =        "678--685",
  month =        jul,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A05 (68-03)",
  MRnumber =     "52 16093",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "Twenty-fifth anniversary of the Association for Computing Machinery.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140 (Programming languages)",
  corpsource =   "Tech. Univ. M{\"u}nchen, West Germany",
  keywords =     "history of; Konrad Zuse; languages; notational and conceptual system; Plankalkul; programming; programming languages; programming theory",
  treatment =    "G General Review",
}

@Article{Sprague:1972:WVC,
  author =       "Richard E. Sprague",
  title =        "A {Western} View of Computer History",
  journal =      j-CACM,
  volume =       "15",
  number =       "7",
  pages =        "686--692",
  month =        jul,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68-03",
  MRnumber =     "52 16082",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "Twenty-fifth anniversary of the Association for Computing Machinery.",
  acknowledgement = ack-nhfb,
  classcodes =   "C0200 (General computer topics)",
  corpsource =   "Litton ARS, Morristown, NJ, USA",
  keywords =     "1945 to 1955; computer history; digital computers",
  treatment =    "G General Review",
}

@Article{Alt:1972:ACR,
  author =       "Franz L. Alt",
  title =        "Archaeology of computers --- reminiscences, 1945--1947",
  journal =      j-CACM,
  volume =       "15",
  number =       "7",
  pages =        "693--694",
  month =        jul,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68-03",
  MRnumber =     "52 16079",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "Twenty-fifth anniversary of the Association for Computing Machinery",
  acknowledgement = ack-nhfb,
  classcodes =   "C5420 (Mainframes and minicomputers)",
  corpsource =   "American Inst. Phys., NY, USA",
  keywords =     "1945 to 1947; digital computers; ENIAC; history of computers; reminiscences; special purpose computers",
  treatment =    "G General Review",
}

@Article{Borodin:1972:CE,
  author =       "A. Borodin and C. C. Gotlieb",
  title =        "Computers and employment",
  journal =      j-CACM,
  volume =       "15",
  number =       "7",
  pages =        "695--702",
  month =        jul,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C0200 (General computer topics)",
  corpsource =   "Univ. Toronto, Ont., Canada",
  keywords =     "computers; economic and sociological effects; employment; social implications; unemployment",
  treatment =    "G General Review",
}

@Article{Herriot:1972:MGF,
  author =       "John G. Herriot",
  title =        "In memory of {George E. Forsythe}",
  journal =      j-CACM,
  volume =       "15",
  number =       "8",
  pages =        "719--720",
  month =        aug,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "01A70",
  MRnumber =     "52 7801",
  bibdate =      "Tue Dec 26 13:35:07 1995",
  note =         "Collection of articles in honor of {George E. Forsythe} ({ACM} Student Competition Award Papers).",
  acknowledgement = ack-nhfb,
}

@Article{Knuth:1972:GFD,
  author =       "Donald E. Knuth",
  title =        "{George Forsythe} and the development of Computer Science",
  journal =      j-CACM,
  volume =       "15",
  number =       "8",
  pages =        "721--726",
  month =        aug,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "01A70 (68-03)",
  MRnumber =     "52 7802",
  bibdate =      "Tue Dec 26 13:35:07 1995",
  note =         "Collection of articles in honor of {George E. Forsythe} ({ACM} Student Competition Award Papers).",
  acknowledgement = ack-nhfb,
}

@Article{Crowe:1972:GPA,
  author =       "David Crowe",
  title =        "Generating parsers for affix grammars. Collection of articles in honor of {George E. Forsythe (ACM Student Competition Award Papers)}",
  journal =      j-CACM,
  volume =       "15",
  number =       "8",
  pages =        "728--734",
  month =        aug,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A30",
  MRnumber =     "53 4635",
  mrreviewer =   "Ole Lehrmann Madsen",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Koster, the inventor of affix grammars, suggests a top-down scheme for parsing them, based on recursive procedures. This paper presents a bottom-up scheme for parsing them, based on an extension of Floyd Production Language (FPL). Included is an algorithm, similar to that of DeRemer's, for covering a large class of affix grammars into FPL. The paper discusses the applicabilities of the conversion algorithm and affix grammars in general, and some possible extensions to Koster's definition of affix grammars.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic)",
  classification = "721; 723",
  corpsource =   "Univ. British Columbia, Vancouver, BC, Canada",
  journalabr =   "Commun ACM",
  keywords =     "affix grammars; algorithmic language processing; algorithmic languages; automata theory --- Grammars; bottom up; computer metatheory; grammars; parsers; syntax directed compiling; translator writing systems; two level grammars",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Helbig:1972:PRC,
  author =       "Robert E. Helbig and Patrick K. Orr and Robert R. Roediger",
  title =        "Political Redistricting by Computer",
  journal =      j-CACM,
  volume =       "15",
  number =       "8",
  pages =        "735--741",
  month =        aug,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Criteria for acceptable redistricting are discussed, including population equality, compactness, contiguity, and preservation of natural and\slash or political boundaries. Only nonpartisan criteria are considered. Using 1970 Bureau of Census population data, specific results are given for the ten Congressional Districts in the state of Missouri and for the seven St. Louis county Council seats. Results from the use of the algorithm indicate the feasibility of political redistricting with the aid of a computer.",
  acknowledgement = ack-nhfb,
  classcodes =   "C7810 (Social and behavioural sciences computing)",
  classification = "723",
  corpsource =   "Washington Univ., St. Louis, MO, USA",
  journalabr =   "Commun ACM",
  keywords =     "algorithm; compactness; computer; contiguity; data processing, business; equal population; legislative districts; political redistricting; reapportionment; social and behavioural sciences; transportation",
  treatment =    "A Application",
}

@Article{Benjamin:1972:EES,
  author =       "Arthur J. Benjamin",
  title =        "Extensible Editor for a Small Machine with Disk Storage",
  journal =      j-CACM,
  volume =       "15",
  number =       "8",
  pages =        "742--747",
  month =        aug,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A design philosophy for developing a sophisticated utility program is illustrated by the actual design and implementation of a text editor. A versatile data structure is employed so that only a small number of programmed subroutines are necessary for all types of data manipulation. Such a data structure is described, and its merits are illustrated by the ease with which powerful extensions can be implemented in terms of a few basic editing functions.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C6130 (Data handling techniques); C6150E (General utility programs)",
  classification = "723",
  corpsource =   "Brandeis Univ., Waltham, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "collection; command; computer programming --- Macros; computer systems programming --- Supervisory and Executive Programs; context searching; data processing; data storage, magnetic --- Disk Storage; data structures; design; disc storage; executive program; extensible editor; garbage; interpreter; list processing; macro language; paging; parameter substitution; philosophy; processing; programs; recursion; small machine; state table; storage allocation; string manipulation; text editing; text editor; utility; utility program; virtual memory",
  treatment =    "P Practical",
}

@Article{Rosin:1972:ERM,
  author =       "Robert F. Rosin and Gideon Frieder and Richard H. {Eckhouse, Jr.}",
  title =        "Environment for Research in Microprogramming and Emulation",
  journal =      j-CACM,
  volume =       "15",
  number =       "8",
  pages =        "748--760",
  month =        aug,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The development of the research project in microprogramming and emulation at State University of New York at Buffalo consisted of three phases: the evaluation of various possible machines to support this research; the decision to purchase one such machine, which appears to be superior to the others considered; and the organization and definition of goals for each group in the project. Each of these phases is reported, with emphasis placed on the early results achieved in this research.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5220 (Computer architecture); C7430 (Computer engineering)",
  classification = "722; 723",
  corpsource =   "State Univ. New York, Buffalo, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer architecture; computer systems; computer systems, digital; emulation; engineering applications of computers; environment for research; hardware evaluation; language processors; management; microprogramming; nanoprogram; project; simulation",
  treatment =    "X Experimental",
}

@Article{Oden:1972:MMC,
  author =       "P. H. Oden and G. S. Shedler",
  title =        "A Model of Memory Contention in a Paging Machine",
  journal =      j-CACM,
  volume =       "15",
  number =       "8",
  pages =        "761--771",
  month =        aug,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A50",
  MRnumber =     "55 13903",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  note =         "Collection of articles in honor of {George E. Forsythe} ({ACM} Student Competition Award Papers).",
  abstract =     "In the model presented, the number of page-frames of main memory allocated to a problem program varies in time. These changes in memory configuration are represented explicitly in the model, CPU requirements and page exception characteristics of program material being described statistically. Expressions for the distribution of the number of page-frames allocated to an executing program, the long run expected fraction of a program's execution time in a given number of page-frames, and the average execution interval of the multiprogrammed load are obtained. It is pointed out heuristically and demonstrated numerically that an increase is obtainable in the average execution interval of the multiprogrammed load over that resulting from equal fixed partitioning of main memory.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723",
  corpsource =   "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer operating systems; demand paging; file organisation; management; memory; memory contention; modelling; multiprogrammed; operating; paging machines; probability --- Queueing Theory; queuing analysis; storage; storage allocation; systems studies",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Bernstein:1972:CFM,
  author =       "H. J. Bernstein and H. T. Gladwin",
  title =        "Compiling fixed-point multiplications",
  journal =      j-CACM,
  volume =       "15",
  number =       "8",
  pages =        "772--772",
  month =        aug,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C5230 (Digital arithmetic methods); C6110 (Systems analysis and programming)",
  corpsource =   "Brookhaven Nat. Lab., Upton, NY, USA",
  keywords =     "compiling multiplications; digital arithmetic; fixed point arithmetic; programming",
  treatment =    "P Practical",
}

@Article{vanderPoel:1972:CCS,
  author =       "W. L. {van der Poel}",
  title =        "Comment on the composition of semantics in {Algol 68}",
  journal =      j-CACM,
  volume =       "15",
  number =       "8",
  pages =        "772--772",
  month =        aug,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140D (High level languages)",
  corpsource =   "Univ. Technol. Delft, Netherlands",
  keywords =     "ALGOL; ALGOL 68; composition of semantics; data; design; programming languages; programming primitives; recursive composition; structures",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Morris:1972:BVW,
  author =       "James H. {Morris, Jr.}",
  title =        "A Bonus from {van Wijngaarden}'s Device",
  journal =      j-CACM,
  volume =       "15",
  number =       "8",
  pages =        "773--773",
  month =        aug,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Compiler/reynolds.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140D (High level languages)",
  corpsource =   "Univ. California, Berkeley, CA, USA",
  keywords =     "ALGOL; ALGOL 60 programs; eliminate all labels; nonlocal transfers; procedure returns",
  treatment =    "P Practical",
}

@Article{Jones:1972:CAB,
  author =       "P. R. Jones",
  title =        "Comment on average binary search length",
  journal =      j-CACM,
  volume =       "15",
  number =       "8",
  pages =        "774--774",
  month =        aug,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  keywords =     "binary searching; data handling; record retrieval; search length",
  treatment =    "P Practical",
}

@Article{Read:1972:NGR,
  author =       "Ronald C. Read and K. Harada",
  title =        "A note on the generation of rosary permutations. With a response by {K. Harada}",
  journal =      j-CACM,
  volume =       "15",
  number =       "8",
  pages =        "775--775",
  month =        aug,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A10",
  MRnumber =     "53 9706",
  mrreviewer =   "Dennis White",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "Collection of articles in honor of {George E. Forsythe} ({ACM} Student Competition Award Papers).",
  acknowledgement = ack-nhfb,
  classcodes =   "B0250 (Combinatorial mathematics); C1160 (Combinatorial mathematics)",
  corpsource =   "Univ. Waterloo, Ont., Canada",
  keywords =     "associating an integer; combinatorial mathematics; generation; rosary permutations",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Squire:1972:AAL,
  author =       "W. Squire",
  title =        "{ACM} Algorithm 429: Localization of the Roots of a Polynomial",
  journal =      j-CACM,
  volume =       "15",
  number =       "8",
  pages =        "776--777",
  month =        aug,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Thu Sep 08 09:34:06 1994",
}

@Article{PurdomJr:1972:AAI,
  author =       "P. W. {Purdom Jr.} and E. F. Moore",
  title =        "{ACM} Algorithm 430: Immediate Predominators in a Directed Graph",
  journal =      j-CACM,
  volume =       "15",
  number =       "8",
  pages =        "777--778",
  month =        aug,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Thu Sep 08 09:34:05 1994",
}

@Article{Levitt:1972:CAS,
  author =       "K. N. Levitt and W. H. Kautz",
  title =        "Cellular Arrays for the Solution of Graph Problems",
  journal =      j-CACM,
  volume =       "15",
  number =       "9",
  pages =        "789--801",
  month =        sep,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Several parallelized algorithms are presented for the solution of certain spanning tree, distance, and path problems, with direct applications to wire routing, PERT chart analysis, and the analysis of many types of networks. These algorithms exhibit a computation time that in many cases grows at a rate not exceeding log//2 n, where n is the number of nodes in the graph. Straightforward cellular implementations of the well-known serial algorithms for these problems require about n steps, and noncellular implementations require from n**2 to n**3 steps.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5420 (Mainframes and minicomputers); C7310 (Mathematics computing)",
  classification = "722; 723",
  corpsource =   "Stanford Res. Inst., Menlo Park, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "cellular arrays; data storage, digital; graph problems; graph theory; mathematical techniques --- Graph Theory; special purpose computers",
  treatment =    "A Application",
}

@Article{Ghosh:1972:FOC,
  author =       "Sakti P. Ghosh",
  title =        "File Organization --- The Consecutive Retrieval Property",
  journal =      j-CACM,
  volume =       "15",
  number =       "9",
  pages =        "802--808",
  month =        sep,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "Some important theorems on the consecutive retrieval property are proved. Conditions under which the consecutive retrieval property exists and remain invariant have been established. An outline for designing an information retrieval system based on the consecutive retrieval property is discussed.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "721; 723",
  corpsource =   "IBM, San Jose, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "consecutive; consecutive retrieval; data processing; file organisation; file organization; information retrieval; information retrieval system; information retrieval systems; minimum access; query structure; record; storage; storage on tapes; storage space; structure; time",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Mor:1972:NAA,
  author =       "M. Mor and T. Lamdan",
  title =        "A New Approach to Automatic Scanning of Contour Maps",
  journal =      j-CACM,
  volume =       "15",
  number =       "9",
  pages =        "809--812",
  month =        sep,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/imager/imager.75.bib",
  abstract =     "The structure of a general contour map is analyzed, and its topological properties are utilized in developing a new scanning algorithm. The problem of detection and recognition of contour lines is solved by a two color labeling method. It is shown that for maps containing normal contour lines only, it suffices to distinguish between so-called ``even'' and ``odd'' lines. The ``tangency problem'' involved in practical scanning is discussed, and a solution base on minimizing computer memory space and simplifying control program is suggested.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques); C7890 (Other special applications of computing)",
  classification = "723",
  corpsource =   "Israeli Min. Defense, Tel-Aviv, Israel",
  journalabr =   "Commun ACM",
  keywords =     "automatic scanning; cartography; computer graphics; contour maps; data handling; digitizing; image processing; topology",
  treatment =    "P Practical",
}

@Article{Richman:1972:AEA,
  author =       "Paul L. Richman",
  title =        "Automatic Error Analysis for Determining Precision",
  journal =      j-CACM,
  volume =       "15",
  number =       "9",
  pages =        "813--817",
  month =        sep,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65G05",
  MRnumber =     "47 2808",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The problem considered is that of evaluating a rational expression to within any desired tolerance on a computer which performs variable-precision floating-point arithmetic operations. An automatic error analysis technique is given for determining, directly from the results of a trial low-precision interval arithmetic calculation, just how much precision and data accuracy are required to achieve a desired final accuracy. The technique given generalize easily to the evaluation of many nonrational expressions.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290B (Error analysis in numerical methods); C4110 (Error analysis in numerical methods); C5230 (Digital arithmetic methods)",
  classification = "921",
  corpsource =   "Bell Telephone Labs. Inc., Denver, CO, USA",
  journalabr =   "Commun ACM",
  keywords =     "automatic error analysis; control; digital arithmetic; error analysis; floating point arithmetic; interval arithmetic; mathematical techniques; precision; precision control",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Ravindran:1972:AAC,
  author =       "A. Ravindran",
  title =        "{ACM} Algorithm 431: {A} Computer Routine for Quadratic and Linear Programming Problems",
  journal =      j-CACM,
  volume =       "15",
  number =       "9",
  pages =        "818--820",
  month =        sep,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Mon Feb 12 14:34:00 1996",
}

@Article{Bartels:1972:AAS,
  author =       "R. H. Bartels and G. W. Stewart",
  title =        "{ACM} Algorithm 432: Solution of the Matrix Equation ${\bf{A}}x+x{\bf{B}}={\bf{C}}$",
  journal =      j-CACM,
  volume =       "15",
  number =       "9",
  pages =        "820--826",
  month =        sep,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Thu Sep 08 09:33:59 1994",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Parallel/par.lin.alg.bib",
  keywords =     "linear algebra; linear equations; matrices",
}

@Article{Deutsch:1972:TAR,
  author =       "E. S. Deutsch",
  title =        "Thinning Algorithms on Rectangular, Hexagonal, and Triangular Arrays",
  journal =      j-CACM,
  volume =       "15",
  number =       "9",
  pages =        "827--837",
  month =        sep,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Three thinning algorithms are developed: one each for use with rectangular, hexagonal, and triangular arrays. The approach to the development of each algorithm is the same. Pictorial results produced by each of the algorithms are presented and the relative performances of the algorithms are compared. It is found that the algorithm operating with the triangular array is the most sensitive to image irregularities and noise, yet it will yield a thinned image with an overall reduced number of points. It is concluded that the algorithm operating in conjunction with the hexagonal array has features which strike a balance between those of the other two arrays.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4290 (Other computer theory)",
  classification = "723",
  corpsource =   "Univ. Maryland, College Park, MD, USA",
  journalabr =   "Commun ACM",
  keywords =     "arrays; computation theory; computer programming --- Subroutines; data handling; image processing; pattern recognition systems; rectangular, hexagonal, triangular; skeleton; thinning algorithms",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Gregory:1972:CFP,
  author =       "J. Gregory",
  title =        "A Comparison of Floating Point Summation Methods",
  journal =      j-CACM,
  volume =       "15",
  number =       "9",
  pages =        "838--838",
  month =        sep,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "garbo.uwasa.fi:/pc/doc-soft/fpbiblio.txt and ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD.bib",
  acknowledgement = ack-nj # " and " # ack-nhfb,
  classcodes =   "C5230 (Digital arithmetic methods)",
  corpsource =   "Argonne Nat. Lab., IL, USA",
  descriptors =  "Simulation; statistics; numeric calculation;",
  keywords =     "comparison; digital arithmetic; error; error propagation; floating point summation methods; truncation",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Khalil:1972:EBT,
  author =       "Hatem M. Khalil",
  title =        "The eigenproblem of block tridiagonal matrices",
  journal =      j-CACM,
  volume =       "15",
  number =       "9",
  pages =        "839--839",
  month =        sep,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "839.65F15",
  MRnumber =     "47 2802",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290H (Linear algebra); C4140 (Linear algebra)",
  corpsource =   "Univ. Delaware, Newark, DE, USA",
  keywords =     "block tridiagonal matrices; eigenvalues; eigenvalues and eigenfunctions; eigenvalues and eigenvectors; eigenvectors; linear algebra; matrix algebra; partial differential equations",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Parnas:1972:CDP,
  author =       "D. L. Parnas and A. N. Habermann and R. C. Holt",
  title =        "Comment on Deadlock Prevention Method",
  journal =      j-CACM,
  volume =       "15",
  number =       "9",
  pages =        "840--841",
  month =        sep,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150J (Operating systems)",
  corpsource =   "Carnegie-Mellon Univ., Pittsburgh, PA, USA",
  keywords =     "deadlock; deadlock prevention method; deadly embrace; interlock; knotting; lockout; multiprogramming; resource allocation; scheduling; time sharing; time-sharing; time-sharing systems",
  treatment =    "G General Review; T Theoretical or Mathematical",
}

@Article{Rubinstein:1972:CBT,
  author =       "R. Rubinstein and J. Feldman",
  title =        "A controller for a {Braille} terminal",
  journal =      j-CACM,
  volume =       "15",
  number =       "9",
  pages =        "841--842",
  month =        sep,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C5540 (Terminals and graphic displays); C5610 (Computer interfaces)",
  corpsource =   "Univ. California, Irvine, CA, USA",
  keywords =     "blind programming aid; braille; computer interfaces; computer peripheral equipment; computer terminal; controller; tactile terminal; terminal",
  treatment =    "P Practical",
}

@Article{Tan:1972:FIS,
  author =       "K. C. Tan",
  title =        "On {Foster}'s Information Storage and Retrieval Using {AVL} Trees",
  journal =      j-CACM,
  volume =       "15",
  number =       "9",
  pages =        "843--843",
  month =        sep,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "See \cite{Foster:1972:VCA}.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  corpsource =   "Northwestern Univ., Evanston, IL, USA",
  keywords =     "(mathematical); AVL trees; binary trees; file organisation; information retrieval; information storage; search trees; trees",
  treatment =    "T Theoretical or Mathematical",
  xxnote =       "Check cross-reference??",
}

@Article{Dijkstra:1972:HP,
  author =       "E. W. Dijkstra",
  title =        "The Humble Programmer",
  journal =      j-CACM,
  volume =       "15",
  number =       "10",
  pages =        "859--866",
  month =        oct,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Sat Jan 18 14:08:21 1997",
  note =         "1972 ACM Turing Award Lecture.",
  abstract =     "We shall do a much better programming job, provided that we approach the task with a full appreciation if its tremendous difficulty, provided that we stick to modest and elegant programming languages, provided that we respect the intrinsic limitations of the human mind and approach the task as Very Humble Programmers.",
}

@Article{Morris:1972:DPT,
  author =       "James B. Morris",
  title =        "Demand Paging Through Utilization of Working Sets on the {Maniac II}",
  journal =      j-CACM,
  volume =       "15",
  number =       "10",
  pages =        "867--872",
  month =        oct,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A hardware implementation on the Maniac II computer of the working set model for demand paging, as introduced by Denning, is discussed. characteristics of the Maniac II are given, along with a description of the basic demand paging scheme and the associative memory which has been added to the Maniac II hardware. A description of the hardware design for implementation of the working set model is discussed and a specification of the actions taken under various conditions which may arise during the operation of the full working set model, demand paging system is given.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5220 (Computer architecture); C6120 (File organisation)",
  classification = "723",
  corpsource =   "Univ. California, Los Alamos, NM, USA",
  journalabr =   "Commun ACM",
  keywords =     "associative memory; associative storage; computer architecture; computer operating systems; data storage, digital; demand paging; dynamic storage allocation; file; hardware implementation; MANIAC II; model; organisation; storage allocation; storage management; utilization of working sets; virtual memory; working set",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Ahrens:1972:CMS,
  author =       "J. H. Ahrens and U. Dieter",
  title =        "Computer Methods for Sampling from the Exponential and Normal Distributions",
  journal =      j-CACM,
  volume =       "15",
  number =       "10",
  pages =        "873--882",
  month =        oct,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65C10",
  MRnumber =     "49 1728",
  mrreviewer =   "V. Dupac",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1972.bib",
  abstract =     "Various methods are known for transforming uniformly distributed random numbers into exponentially and normally distributed quantities. The most efficient ones are compared, in terms of memory requirements and speed, with some new algorithms. A number of procedures convert Taylor series expansions directly into sampling steps, an approach which may be used for sampling from any continuous distribution. For the exponential distribution a definite recommendation can be made, whereas in the case of the normal distribution there remains a choice between slower and shorter algorithms and faster but space consuming methods.",
  acknowledgement = ack-nhfb,
  classcodes =   "C7890 (Other special applications of computing)",
  classification = "913; 922",
  corpsource =   "Nova Scotia Tech. Coll., Halifax, NS, Canada",
  country =      "USA",
  descriptors =  "RVG;",
  enum =         "6926",
  journalabr =   "Commun ACM",
  keywords =     "computer aided sampling; computer methods; distributed random numbers; distributions; exponential; normal distributions; random number generation; sampled data systems; sampling; sampling steps; uniformly",
  language =     "English",
  references =   "0",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Hanson:1972:IEI,
  author =       "Richard J. Hanson",
  title =        "Integral Equations of Immunology",
  journal =      j-CACM,
  volume =       "15",
  number =       "10",
  pages =        "883--890",
  month =        oct,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65R05",
  MRnumber =     "48 10166",
  mrreviewer =   "S. Malon",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The inversion of a particular integral equation of the first (Fredholm) kind is the basic problem considered. The strategy which yielded success consisted of three essential points: (1) fit the known experimental data by a curve with properties which derive from properties of the (as yet unknown) function; (2) stabilize the computation for the unknown function by using singular value decomposition; (3) constrain the unknown function approximation (since it represents a probability distribution) to be nonnegative. \par A number of test cases are presented. One set of actual experimental data is analyzed with the procedures presented.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290R (Integral equations); C4180 (Integral equations)",
  classification = "461; 921",
  corpsource =   "California Inst. Technol., Pasadena, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "biomedical engineering; curve fitting; decomposition; experimental data; first kind; immunology; integral equation of; integral equations; integral equations of the first kind; inversion; mathematical techniques; medicine; nonnegative constraints; numerical methods; singular value; singular value analysis",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Simmons:1972:GED,
  author =       "Robert F. Simmons and Jonathan Slocum",
  title =        "Generating {English} Discourse from Semantic Networks",
  journal =      j-CACM,
  volume =       "15",
  number =       "10",
  pages =        "891--905",
  month =        oct,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Ai/lisp.bib",
  abstract =     "A system is described for generating English sentences from a form of semantic nets in which the nodes are word-sense meanings and the paths are primarily deep case relations. The grammar used by the system is in the form of a network that imposes an ordering on a set of syntactic transformations that are expressed as LISP functions. The generation algorithm uses the information in the semantic network to select appropriate generation paths through the grammar. The system is designed for use as a computational tool that allows a linguist to develop and study methods for generating surface strings from an underlying semantic structure. Initial findings with regard to form determiners such as voice, form, tense, and mood, some rules for embedding sentences, and some attention to pronominal substitution are reported. The system is programmed in LISP 1.5 and is available from the authors.",
  acknowledgement = ack-nhfb,
  classcodes =   "C7820 (Humanities computing)",
  classification = "721; 723; 901",
  corpsource =   "Univ. Texas, Austin, TX, USA",
  journalabr =   "Commun ACM",
  keywords =     "automata theory; computer applications; computer programming languages --- lisp; data processing --- Humanities Applications; deep case relations; English sentence generation; information science --- Language Translation and Linguistics; language translation and linguistics; LISP functions; semantic generation; semantic networks",
  treatment =    "P Practical",
}

@Article{Dathe:1972:CDT,
  author =       "Gert Dathe",
  title =        "Conversion of Decision Tables by Rule Mask Method without Rule Mask",
  journal =      j-CACM,
  volume =       "15",
  number =       "10",
  pages =        "906--909",
  month =        oct,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Two algorithms for generating computer programs from decision tables are described. The algorithms allow handling limited entry, extended entry, and mixed entry tables. The algorithms are based on the rule mask method but need not have the masks at execution time. They perform the logical operations immediately rather than at the end of the interpreting process. Execution time can be considerably reduced by instantly marking rules which are not applicable or conditions which are already tested. The new algorithms combine to a certain degree the advantages of mask methods with those of tree methods.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming); C6150C (Compilers, interpreters and other processors)",
  classification = "723",
  corpsource =   "Software AG, Darmstadt, West Germany",
  journalabr =   "Commun ACM",
  keywords =     "computer programming; conversion; decision tables; mask; program generation; program processors; rule mask method without rule",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Frazer:1972:SNS,
  author =       "W. D. Frazer and C. K. Wong",
  title =        "Sorting by Natural Selection",
  journal =      j-CACM,
  volume =       "15",
  number =       "10",
  pages =        "910--913",
  month =        oct,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib",
  abstract =     "A family of sorting algorithms is proposed, the members of which make fuller use of the memory space and thus yield longer sorted strings. Extensive simulation results are presented, and various implications and further applications are discussed.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  classification = "723",
  corpsource =   "IBM Thomas J.Watson Res. Center, Yorktown Heights, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "CACM; computer programming --- Subroutines; computer systems programming; natural selection; sorting",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Ershov:1972:CAH,
  author =       "A. P. Ershov",
  title =        "Corrigendum: {``Aesthetics and the Human Factor in Programming''}",
  journal =      j-CACM,
  volume =       "15",
  number =       "10",
  pages =        "913--913",
  month =        oct,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Sat Jan 18 14:08:57 1997",
  note =         "See \cite{Ershov:1972:AHF}.",
}

@Article{Akima:1972:AAI,
  author =       "H. Akima",
  title =        "{ACM} Algorithm 433: Interpolation and Smooth Curve Fitting Based on Local Procedures",
  journal =      j-CACM,
  volume =       "15",
  number =       "10",
  pages =        "914--918",
  month =        oct,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Thu Sep 08 09:47:55 1994",
  note =         "See also \cite{Anderson:1976:RIS}.",
}

@Article{Fox:1972:CSC,
  author =       "Phyllis Fox",
  title =        "Comparative Study of Computer Programs for Integrating Differential Equations",
  journal =      j-CACM,
  volume =       "15",
  number =       "11",
  pages =        "941--948",
  month =        nov,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The integration methods represented include multistep methods (predictor-correctors), single-step methods (Runge-Kutta) and extrapolation methods (both polynomial and rational). The testing procedure is described together with the evaluation criteria applied. A set of test problems on which the programs were tested is included in appendix. For the particular problems and criteria used in the investigation it was found that a program based on rational extrapolation showed the best performance.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290P (Differential equations); C4170 (Differential equations)",
  classification = "723; 921",
  corpsource =   "Newark Coll. Engng., NJ, USA",
  journalabr =   "Commun ACM",
  keywords =     "comparative study; computer programming; computer programs; differential; differential equations; equations; extrapolation methods; integration methods; mathematical techniques --- Differential Equations; mathematical techniques --- Integration; predictor-corrector methods",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Malcolm:1972:ARP,
  author =       "Michael A. Malcolm",
  title =        "Algorithms to Reveal Properties of Floating-Point Arithmetic",
  journal =      j-CACM,
  volume =       "15",
  number =       "11",
  pages =        "949--951",
  month =        nov,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  note =         "See also \cite{Gentleman:1974:MAR}.",
  abstract =     "Two algorithms are presented in the form of Fortran subroutines. Each subroutine computes the radix and number of digits of the floating-point numbers and whether rounding or chopping is done by the machine on which it is run. The methods are shown to work on any ``reasonable'' floating-point computer.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5230 (Digital arithmetic methods)",
  classification = "723",
  corpsource =   "Stanford Univ., CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "chopping; computer programming; computer programming languages --- Fortran; digital arithmetic; digits; floating point arithmetic; Fortran subroutines; mathematical techniques --- Digital Arithmetic; number of; properties; radix; rounding",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Patrick:1972:HPA,
  author =       "Merrell L. Patrick",
  title =        "A Highly Parallel Algorithm for Approximating All Zeros of a Polynomial with Only Real Zeros",
  journal =      j-CACM,
  volume =       "15",
  number =       "11",
  pages =        "952--955",
  month =        nov,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65H05",
  MRnumber =     "48 1455",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "An algorithm is described based on Newton's method which simultaneously approximates all zeros of a polynomial with only real zeros. The algorithm, which is conceptually suitable for parallel computation, determines its own starting values so that convergence to the zeros is guaranteed. Multiple zeros and their multiplicity are readily determined. At no point in the method is polynomial deflation used.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290F (Interpolation and function approximation); C4130 (Interpolation and function approximation)",
  classification = "723; 921",
  corpsource =   "Duke Univ., Durham, NC, USA",
  journalabr =   "Commun ACM",
  keywords =     "approximation with real zeros; computer programming; function approximation; guaranteed convergence; highly; mathematical techniques --- Poles and Zeros; mathematical techniques --- Polynomials; multiple zeros; Newton's method; parallel algorithm; parallel numerical algorithms; poles and zeros; polynomial zeros; polynomials; real polynomials; real zeros; starting values",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Ledgard:1972:MTC,
  author =       "Henry F. Ledgard",
  title =        "Model for Type Checking --- with an Application to {Algol 60}",
  journal =      j-CACM,
  volume =       "15",
  number =       "11",
  pages =        "956--966",
  month =        nov,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "This paper attempts to isolate the notion of type checking and presents a partial solution to the type checking problem based on the notions of abstraction and application of functions. A program is mapped into an expression within a decidable subset of the lambda-calculus, which characterizes the type relations within the program and eliminates all other information. The determination of the type-wise correctness or incorrectness of the program is resolved by reducing its corresponding lambda-calculus expression to one of two normal forms, the constant ``correct'' for a type-wise correct program or the constant ``error.'' An application to type checking in Algol 60 is made, and the attendant problems faced for any notion of type checking are discussed.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150C (Compilers, interpreters and other processors)",
  classification = "723",
  corpsource =   "Johns Hopkins Univ., Baltimore, MD, USA",
  journalabr =   "Commun ACM",
  keywords =     "abstraction; ALGOL; ALGOL 60; application of functions; compilation; computer programming languages; execution; lambda calculus; model; program compilers; type checking",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Henderson:1972:DSS,
  author =       "Peter Henderson",
  title =        "Derived Semantics for Some Programming Language Constructs",
  journal =      j-CACM,
  volume =       "15",
  number =       "11",
  pages =        "967--973",
  month =        nov,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The constructs of a simple programming language are introduced and described informally in terms of values and side-effects. a translator is defined which translates the language into flowcharts for a simple machine. The action of the machine in executing a flowchart is defined. A proof is constructed that the effect of translating and executing any program can be expressed solely in terms of the value and side-effect of the program. during the course of constructing the proof, formal definitions of the concepts of value and side-effect are derived in order to make the proof rigorous. Correctness of the implementation involves checking that the definitions derived in the step above are an acceptable formalization of the informal description given in the first step.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory)",
  classification = "723",
  corpsource =   "Univ. Newcastle upon Tyne, UK",
  journalabr =   "Commun ACM",
  keywords =     "computer programming languages; constructs; derived semantics; flowcharts; lambda calculus; programming language; programming theory; side effects; translator; values",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Verhelst:1972:CLD,
  author =       "M. Verhelst",
  title =        "Conversion of Limited-Entry Decision Tables to Optimal and Near-Optimal Flowcharts: Two New Algorithms",
  journal =      j-CACM,
  volume =       "15",
  number =       "11",
  pages =        "974--980",
  month =        nov,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The algorithms are first derived for treating decision tables not containing an ELSE-rule, but the optimum-approaching algorithm is shown to be equally valid for tables including such a rule. Both algorithms are compared with existing ones and are applied to a somewhat large decision table derived from a real case.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming)",
  classification = "723",
  corpsource =   "Univ. Louvain, Belgium",
  journalabr =   "Commun ACM",
  keywords =     "algorithm; computer programming --- Subroutines; computer programming languages; conversion; decision tables; flowcharting; limited entry decision tables; minimum execution time; near; optimal flowcharts; optimisation; optimum approaching algorithm; optimum finding",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Baecker:1972:GCV,
  author =       "H. D. Baecker",
  title =        "Garbage Collection for Virtual Memory Computer Systems",
  journal =      j-CACM,
  volume =       "15",
  number =       "11",
  pages =        "981--986",
  month =        nov,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/garbage.collection.bib",
  abstract =     "In list processing there is typically a growing demand for space during program execution. This paper examines the practical implications of this growth within a virtual memory computer system, proposes two new garbage collection techniques for virtual memory systems, and compares them with traditional methods by discussion and by simulation.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723",
  corpsource =   "Univ. Calgary, Alta., Canada",
  journalabr =   "Commun ACM",
  keywords =     "computer operating systems --- Storage Allocation; computer programming languages; data storage, digital; file organisation; garbage collection; list; paging; processing; segmentation; storage allocation; storage management; virtual memory; virtual memory computer systems",
  treatment =    "P Practical",
}

@Article{Ramberg:1972:AMG,
  author =       "John S. Ramberg and Bruce W. Schmeiser",
  title =        "Approximate Method for Generating Symmetric Random Variables",
  journal =      j-CACM,
  volume =       "15",
  number =       "11",
  pages =        "987--990",
  month =        nov,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A method for generating values of continuous symmetric random variables that is relatively fast, requires essentially no computer memory, and is easy to use is developed. The method, which uses a uniform zero-one random number source, is based on the inverse function of the lambda distribution of Tukey. Since it approximates many of the continuous theoretical distributions and empirical distributions frequently used in simulations, the method should be useful to simulation practitioners.",
  acknowledgement = ack-nhfb,
  classcodes =   "C7890 (Other special applications of computing)",
  classification = "922",
  corpsource =   "Univ. Iowa, Iowa City, IA, USA",
  journalabr =   "Commun ACM",
  keywords =     "approximate method; inverse function; lambda distribution of Tukey; mathematical models; mathematical statistics; random number generation; random number source; simulation; symmetric random variable generation; uniform zero one",
  treatment =    "T Theoretical or Mathematical",
}

@Article{March:1972:AAE,
  author =       "D. L. March",
  title =        "{ACM} Algorithm 434: Exact Probabilities for ${R\times{C}}$ Contingency Tables",
  journal =      j-CACM,
  volume =       "15",
  number =       "11",
  pages =        "991--992",
  month =        nov,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Sep 20 19:26:04 1994",
  note =         "See also \cite{Boulton:1976:REP}.",
}

@Article{Fullerton:1972:AAM,
  author =       "W. Fullerton",
  title =        "{ACM} Algorithm 435: Modified Incomplete Gamma Function",
  journal =      j-CACM,
  volume =       "15",
  number =       "11",
  pages =        "993--995",
  month =        nov,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Thu Sep 08 09:47:55 1994",
  note =         "See also \cite{Schoene:1978:RMI}.",
}

@Article{Lum:1972:ARK,
  author =       "V. Y. Lum and P. S. T. Yuen",
  title =        "Additional results on key-to-address transform techniques: a fundamental performance study on large existing formatted files",
  journal =      j-CACM,
  volume =       "15",
  number =       "11",
  pages =        "996--997",
  month =        nov,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  corpsource =   "IBM Res. Lab., San Jose, CA, USA",
  keywords =     "file; file organisation; fundamental performance; hash coding; key to address transform techniques; large existing formatted files; organization; study",
  treatment =    "P Practical",
}

@Article{Kennedy:1972:NOD,
  author =       "S. Kennedy",
  title =        "A note on optimal doubly-chained trees",
  journal =      j-CACM,
  volume =       "15",
  number =       "11",
  pages =        "997--998",
  month =        nov,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  corpsource =   "California Inst. Technol., Pasadena, CA, USA",
  keywords =     "binary search; file organisation; file searching; optimal doubly chained trees; tree; trees (mathematical)",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Eisenberg:1972:FCD,
  author =       "Murray A. Eisenberg and Michael R. McGuire",
  title =        "Further comments on {Dijkstra}'s concurrent programming control problem",
  journal =      j-CACM,
  volume =       "15",
  number =       "11",
  pages =        "999--999",
  month =        nov,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150J (Operating systems)",
  keywords =     "critical; Dijkstra's concurrent programming control problem; multiprocessing; multiprocessing programs; section",
  treatment =    "T Theoretical or Mathematical",
  xxtitle =      "Further Comments on {Dijkstra}'s Concurrent Programming Control Problems",
}

@Article{Smoliar:1972:CMM,
  author =       "S. W. Smoliar",
  title =        "Comments on {Moorer's Music} and computer composition",
  journal =      j-CACM,
  volume =       "15",
  number =       "11",
  pages =        "1000--1001",
  month =        nov,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7820 (Humanities computing)",
  corpsource =   "Tech. Israel Inst. Technol., Haifa, Israel",
  keywords =     "artificial intelligence; computer composition; computer music; heuristic; humanities; programming",
  treatment =    "P Practical",
}

@Article{Phillips:1972:DPA,
  author =       "J. Richard Phillips and H. C. Adams",
  title =        "Dynamic Partitioning for Array Languages",
  journal =      j-CACM,
  volume =       "15",
  number =       "12",
  pages =        "1023--1032",
  month =        dec,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The classical process of partitioning an array into subarrays is extended to a more useful array language operation. Various modes of partitioning are defined for different types of arrays, so that subarrays may vary over the original array in a nearly arbitrary manner. These definitions are motivated with several realistic examples to illustrate the value of partitioning for array languages. Of general interest is the data structure for partitioning. This consists of dynamic tree structures which are used to derive and maintain the array control information. These are described in sufficient detail to be of value in the design of other array languages. The description presented in this paper is implemented in a new array language, OL/2, currently under development at the University of Illinois.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C6140D (High level languages)",
  classification = "723",
  corpsource =   "Univ. Illinois, Urbana-Champaign, IL, USA",
  journalabr =   "Commun ACM",
  keywords =     "array languages; array partitioning; computer programming languages; data processing --- Data Structures; data structure; data structures; dynamic partitioning; dynamic tree structures; OL/2; programming languages",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Bayer:1972:IRM,
  author =       "R. Bayer and C. Witzgall",
  title =        "Index Ranges for Matrix Calculi",
  journal =      j-CACM,
  volume =       "15",
  number =       "12",
  pages =        "1033--1039",
  month =        dec,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The paper describes a scheme for symbolic manipulation of index expressions which arise as a by-product of the symbolic manipulation of expressions in the matrix calculi described by the authors in a previous paper. This scheme attempts program optimization by transforming the original algorithm rather than the machine code. The goal is to automatically generate code for handling the tedious address calculations necessitated by complicated data structures. The paper is therefore preoccupied with ``indexing by position.'' The relationship of ``indexing by name'' and ``indexing by position'' is discussed.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  classification = "723",
  corpsource =   "Boeing Sci. Res. Labs., Seattle, WA, USA",
  journalabr =   "Commun ACM",
  keywords =     "address calculations; algorithm; computer programming languages; data handling; data processing; data structures; expressions; index; index ranges; indexing by name; indexing by position; matrix algebra; matrix calculi; program optimization; symbolic manipulation; transformation",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Earley:1972:MIC,
  author =       "Jay Earley and Paul Caizergues",
  title =        "Method for Incrementally Compiling Languages with Nested Statement Structure",
  journal =      j-CACM,
  volume =       "15",
  number =       "12",
  pages =        "1040--1044",
  month =        dec,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The method permits editing of the source language using a general purpose text editor, and incremental processing of changes without frequent recompilation of entire routines. The essential points of the method are: the syntax of the language is restricted insofar as which constructs may occur on lines; an internal data structure (called the skeleton) is maintained to represent the statement structure; the recompilation is partially batched in the sense that recompilation of modified lines does not occur until the last of a set of editing commands has been received; and the parsing and compilation are factored into two parts, that done on individual lines and that done globally to handle the relationships between the lines.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150C (Compilers, interpreters and other processors)",
  classification = "723",
  corpsource =   "Univ. California, Berkeley, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "ALGOL; computer operating systems --- Program Compilers; computer programming languages; data processing --- Data Structures; editor; general purpose text; incremental compilation; nested statement structure; PL/I; program compilers; programming languages; source language",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Luccio:1972:WIL,
  author =       "Fabrizio Luccio",
  title =        "Weighted Increment Linear Search for Scatter Tables",
  journal =      j-CACM,
  volume =       "15",
  number =       "12",
  pages =        "1045--1047",
  month =        dec,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "A new linear search for hash tables whose increment step is a function of the key being addressed is presented. Comparisons with known methods are given, in terms of efficiency and computation complexity. In particular, the new method applies to tables of size n equals 2**r. It allows full table searching, and practically eliminates primary clustering at a very low cost.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  classification = "723",
  corpsource =   "Univ. Pisa, Italy",
  journalabr =   "Commun ACM",
  keywords =     "clustering; computer programming; hash; information retrieval systems; information searching techniques; scatter tables; table lookup; tables; weighted increment linear search",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Barr:1972:CMN,
  author =       "D. R. Barr and N. L. Slezak",
  title =        "A comparison of multivariate normal generators",
  journal =      j-CACM,
  volume =       "15",
  number =       "12",
  pages =        "1048--1049",
  month =        dec,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7890 (Other special applications of computing)",
  corpsource =   "Naval Postgraduate School, Monterey, CA, USA",
  keywords =     "comparison; covariance matrix; Gaussian random number generator; multivariate; multivariate normal generators; normal random vectors; random number generation; simulation; triangular factorization",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Moore:1972:NMS,
  author =       "John Moore and Prentiss Robinson",
  title =        "New Method for the Solution of the {Cauchy} Problem for Parabolic Equations",
  journal =      j-CACM,
  volume =       "15",
  number =       "12",
  pages =        "1050--1052",
  month =        dec,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "An integral equation representation is given for parabolic partial differential equations. When the equations are defined in unbounded domains, as in the initial value (Cauchy) problem, the solution of the integral equation by the method of successive approximation has inherent advantages over other methods. Error bounds for the method are of order h**3**/**2 and h**7**/**2 (h is the increment size) depending on the finite difference approximations involved.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290P (Differential equations); C4170 (Differential equations)",
  classification = "921",
  corpsource =   "Univ. Newcastle, UK",
  journalabr =   "Commun ACM",
  keywords =     "Cauchy problem; initial value problem; integral equation representation; mathematical techniques; parabolic; partial differential equations; successive approximation",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Parnas:1972:CBU,
  author =       "D. L. Parnas",
  title =        "On the Criteria to Be Used in Decomposing Systems into Modules",
  journal =      j-CACM,
  volume =       "15",
  number =       "12",
  pages =        "1053--1058",
  month =        dec,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/softeng.bib",
  abstract =     "This paper discusses modularization as a mechanism for improving the flexibility and comprehensibility of a system while allowing the shortening of its development time. The effectiveness of a ``modularization'' is dependent upon the criteria used in dividing the system into modules. A system design problem presented and both a conventional and unconventional decomposition are described. It is shown that the unconventional decompositions have distinct advantages for the goals outlined. The criteria used in arriving at the decompositions are discussed. The unconventional decomposition, if implemented with the conventional assumption that a module consists of one or more subroutines, will be less efficient in most cases. An alternative approach to implementation which does not this effect is sketched.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming)",
  classification = "723",
  corpsource =   "Carnegie-Mellon Univ., Pittsburgh, PA, USA",
  journalabr =   "Commun ACM",
  keywords =     "comprehensibility; computer programming; criteria; decomposition; flexibility; modularization; modules; programming; software engineering; systems",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Brown:1972:LLP,
  author =       "P. J. Brown",
  title =        "Levels of Language for Portable Software",
  journal =      j-CACM,
  volume =       "15",
  number =       "12",
  pages =        "1059--1062",
  month =        dec,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "An increasing amount of software is being implemented in a portable form. A popular way of accomplishing this is to encode the software in a specially designed machine-independent language and then to map this language, often using a macro processor, into the assembly language of each desired object machine. The design of the machine-independent language is the key factor in this operation. This paper discusses the relative merits of pitching this language at a high level or a low level, and presents some comparative results.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140D (High level languages)",
  classification = "723",
  corpsource =   "Univ. Kent, Canterbury, UK",
  journalabr =   "Commun ACM",
  keywords =     "assembly language; computer programming; levels of language; machine independent language; macro processor; portable software; procedure oriented languages",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Sherman:1972:TMA,
  author =       "Stephen Sherman and Forest {Baskett, III} and J. C. Browne",
  title =        "Trace-Driven Modeling and Analysis of {CPU} Scheduling in a Multiprogramming System",
  journal =      j-CACM,
  volume =       "15",
  number =       "12",
  pages =        "1063--1069",
  month =        dec,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The scheduling methods tested included the best possible and worst possible methods, the traditional methods of multiprogramming theory, round-robin, first-come-first-served, and dynamic predictors. The relative and absolute performances of these scheduling methods are given. It is concluded that a successful CPU scheduling method must be preemptive and must prevent a given job from holding the CPU for too long a period.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150J (Operating systems)",
  classification = "723",
  corpsource =   "Univ. Texas, Austin, TX, USA",
  journalabr =   "Commun ACM",
  keywords =     "analysis; computer systems programming; CPU scheduling; first come first served; microscopic level job stream data; modelling; multiprogramming; multiprogramming system; round robin; trace driven modelling",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Boland:1972:AAPa,
  author =       "W. R. Boland",
  title =        "{ACM} Algorithm 436: Product Type Trapezoidal Integration",
  journal =      j-CACM,
  volume =       "15",
  number =       "12",
  pages =        "1070--1070",
  month =        dec,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Thu Sep 08 09:34:00 1994",
}

@Article{Boland:1972:AAPb,
  author =       "W. R. Boland",
  title =        "{ACM} Algorithm 437: Product Type {Simpson}'s Integration",
  journal =      j-CACM,
  volume =       "15",
  number =       "12",
  pages =        "1070--1071",
  month =        dec,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Thu Sep 08 09:33:59 1994",
}

@Article{Boland:1972:AAPc,
  author =       "W. R. Boland",
  title =        "{ACM} Algorithm 439: Product Type Three-point {Gauss-Legendre-Simpson}'s Integration",
  journal =      j-CACM,
  volume =       "15",
  number =       "12",
  pages =        "1072",
  month =        dec,
  year =         "1972",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Thu Sep 08 09:34:00 1994",
}

@Article{Denning:1973:CWM,
  author =       "Peter J. Denning and Stuart C. Schwartz",
  title =        "Corrigendum: ``{Properties of the working-set model}''",
  journal =      j-CACM,
  volume =       "15",
  number =       "2",
  pages =        "191--198",
  month =        feb,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue May 28 11:37:15 1996",
  note =         "See \cite{Denning:1972:PWS}.",
}

@Article{Shedler:1973:QMM,
  author =       "G. S. Shedler",
  title =        "A Queuing Model of a Multiprogrammed Computer with a Two-Level Storage System",
  journal =      j-CACM,
  volume =       "16",
  number =       "1",
  pages =        "3--10",
  month =        jan,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A50",
  MRnumber =     "51 14680",
  mrreviewer =   "K. Vairaran",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The results are presented of an analysis of a probabilistic model of a multiprogrammed computer system with a two-level storage system in which there is sequential dependency of accesses between the devices. Expressions are obtained for the long-run probability that both the CPU and each of the storage devices are busy. Some numerical results are given which quantify the gains in CPU utilization obtainable by multiprogramming in the presence of this type of storage system.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4290 (Other computer theory)",
  classification = "723; 922",
  corpsource =   "IBM, San Jose, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer systems programming --- Multiprogramming; data storage, digital; dependency of accesses; hierarchical index ses; hierarchical index sets; modelling; multiprogrammed computer; multiprogrammed computer system; multiprogramming; probability; queueing theory; queuing model; sequential; storage system; two level",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Bays:1973:RHC,
  author =       "Carter Bays",
  title =        "The Reallocation of Hash-Coded Tables",
  journal =      j-CACM,
  volume =       "16",
  number =       "1",
  pages =        "11--14",
  month =        jan,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "When the space allocation for a hash-coded table is altered, the table entries must be rescattered over the new space. A technique for accomplishing this rescattering is presented. The technique is independent of both the length of the table and the hashing function used, and can be utilized in conjunction with a linear reallocation of the table being rescattered. Moreover, it can be used to eliminate previously flagged deletions from any hash-coded table, or to change from one hashing method to another. The efficiency of the technique is discussed and theoretical statistics are given.",
  acknowledgement = ack-nhfb,
  annote =       "Algorithm to handle increase or decrease within a direct access table containing entries.",
  classcodes =   "C6110 (Systems analysis and programming); C6120 (File organisation)",
  classification = "723",
  corpsource =   "Univ. South Carolina, Columbia, SC, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer systems programming; data storage, digital; dynamic storage; hash code; reallocation; scatter storage",
  keywords =     "deletions; dynamic storage; hash code; programming; reallocation; scatter storage; storage allocation",
  treatment =    "P Practical",
}

@Article{Morris:1973:PPL,
  author =       "James H. {Morris, Jr.}",
  title =        "Protection in Programming Languages",
  journal =      j-CACM,
  volume =       "16",
  number =       "1",
  pages =        "15--21",
  month =        jan,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "Linguistic mechanisms which can be used to protect one subprogram from another's malfunctioning are described. Function-producing functions and various type-tagging schemes are considered. An attempt is made to distinguish between access limitation and authentication.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6100 (Software techniques and systems)",
  classification = "723",
  corpsource =   "Univ. California, Berkeley, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "access control; access keys; authentication; computer programming languages; environments; programming languages; protection; seals; secrecy; security of data; trademarks; types",
  treatment =    "G General Review; T Theoretical or Mathematical",
}

@Article{Muraoka:1973:TRS,
  author =       "Yoichi Muraoka and David J. Kuck",
  title =        "On the Time Required for a Sequence of Matrix Products",
  journal =      j-CACM,
  volume =       "16",
  number =       "1",
  pages =        "22--26",
  month =        jan,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A20",
  MRnumber =     "51 2347",
  mrreviewer =   "M. Tetruasvili",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Parallel/Multi.bib",
  abstract =     "This paper discusses the multiplication of conformable sequences of row vectors, column vectors, and square matrices. The minimum time required to evaluate such products on ordinary serial computers as well as parallel computers is discussed. Algorithms are presented which properly parse such matrix sequences subject to the constraints of the machine organization.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5230 (Digital arithmetic methods)",
  classification = "723",
  corpsource =   "Univ. Illinois, Urbana-Champaign, IL, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer programming; computer programming languages; computers; digital arithmetic; matrix algebra; matrix expressions; matrix multiplication; operation minimization; parallel computers; parallel machine; parallel processing; sequence of matrix products; serial; time required",
  treatment =    "T Theoretical or Mathematical",
}

@Article{James:1973:ACP,
  author =       "E. B. James and D. P. Partridge",
  title =        "Adaptive Correction of Program Statements",
  journal =      j-CACM,
  volume =       "16",
  number =       "1",
  pages =        "27--37",
  month =        jan,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A method of analyzing statements in a programming language which can tolerate a considerable inaccuracy in their specification is proposed. This method involves principles at present mainly confined to studies in the area of artificial intelligence such as feature extraction, approximate tree matching, and strategy improvement by feedback from the matching process. A pilot program incorporating the principles is described and preliminary operating results are presented. A final section surveys further principles which are currently being investigated.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory)",
  classification = "723",
  corpsource =   "Imperial Coll. Sci. and Technol., London, UK",
  journalabr =   "Commun ACM",
  keywords =     "adaptive correction; artificial intelligence; automatic parsing; compiler; computer metatheory; computer programming languages; linguistic pattern matching; program statements; programming; programming languages; syntax analysis; theory",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Richman:1973:VE,
  author =       "P. L. Richman",
  title =        "Variable-Precision Exponentiation",
  journal =      j-CACM,
  volume =       "16",
  number =       "1",
  pages =        "38--40",
  month =        jan,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65D20",
  MRnumber =     "51 4631",
  mrreviewer =   "V. V. Ivanov",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A previous paper presented an efficient algorithm, called the Recomputation Algorithm, for evaluating a rational expression to within any desired tolerance on a computer which performs variable-precision arithmetic operations. The Recomputation Algorithm can be applied to expressions involving any variable-precision operations having $O(10^(-p) + \sum_i|E_i|)$ error bounds, where $p$ denotes the operation's precision and $E_i$ denotes the error in the operation's $i$-th argument. \par This paper presents an efficient variable-precision exponential operation with an error bound of the above order. Other operations such as log, sin, and cos, which have simple series expansions, can be handled similarly.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5230 (Digital arithmetic methods)",
  classification = "723; 921",
  corpsource =   "Bell Telephone Labs. Inc., Denver, CO, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer programming; digital arithmetic; error analysis; exponential function; exponentiation; interval arithmetic; mathematical programming; variable precision; variable-precision",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Crawford:1973:RBS,
  author =       "C. R. Crawford",
  title =        "Reduction of a Band-Symmetric Generalized Eigenvalue Problem",
  journal =      j-CACM,
  volume =       "16",
  number =       "1",
  pages =        "41--44",
  month =        jan,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65F15",
  MRnumber =     "51 7266",
  mrreviewer =   "W. Niethammer",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Theory/gvl.bib and ftp://ftp.ira.uka.de/pub/bibliography/Theory/Matrix.bib",
  abstract =     "An algorithm is described for reducing a generalized eigenvalue problem to an ordinary problem, in case A and B are symmetric band matrices with B positive definite. If n is the order of the matrix and m the bandwidth, the matrices A and B are partitioned into m-by-m blocks; and the algorithm is described in terms of these blocks. The algorithm reduces the generalized problem to an ordinary eigenvalue problem for a symmetric band matrix C whose bandwidth is the same as A and B. The algorithm is similar to those of Rutishauser and Schwartz for the reduction of symmetric matrices to band form. The calculation of C requires order N**2m operation. The round-off error in the calculation of C is of the same order as the sum of the errors at each of the n/m steps of the algorithm, the latter errors being largely determined by the condition of B with respect to inversion.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290H (Linear algebra); C4140 (Linear algebra)",
  classification = "723; 921",
  corpsource =   "Univ. Toronto, Ont., Canada",
  journalabr =   "Commun ACM",
  keywords =     "computer programming --- Subroutines; generalized eigenvalues; mathematical techniques; symmetric band matrices",
  keywords =     "eigenvalues and eigenfunctions; generalized eigenvalues; matrix algebra; reduction; symmetric band matrices",
  kwds =         "nla, geig, band matrix, symmetric matrix",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Blount:1973:PAC,
  author =       "S. E. Blount and L. Fein",
  title =        "The practical aspect of computer science education --- discussion",
  journal =      j-CACM,
  volume =       "16",
  number =       "1",
  pages =        "45--46",
  month =        jan,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C0220 (Computing education and training)",
  corpsource =   "Digital Equipment Corp., Acton, MA, USA",
  keywords =     "computer engineering; computer science; curriculum; digital computers; education; systems design",
  treatment =    "G General Review",
}

@Article{Bays:1973:NWC,
  author =       "C. Bays",
  title =        "A note on when to chain overflow items within a direct-access table",
  journal =      j-CACM,
  volume =       "16",
  number =       "1",
  pages =        "46--47",
  month =        jan,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  corpsource =   "Univ. South Carolina, Columbia, SC, USA",
  keywords =     "chaining; collision; data handling; direct access table; hash code; information; open hash; overflow items; retrieval",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Atkins:1973:MRA,
  author =       "M. S. Atkins",
  title =        "Mutual recursion in {Algol 60} using restricted compilers",
  journal =      j-CACM,
  volume =       "16",
  number =       "1",
  pages =        "47--48",
  month =        jan,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140D (High level languages); C6150C (Compilers, interpreters and other processors)",
  corpsource =   "Univ. Warwick, Coventry, UK",
  keywords =     "ALGOL; ALGOL 60; mutual recursion; program compilers; restricted compilers",
  treatment =    "P Practical",
}

@Article{Gallaher:1973:AAM,
  author =       "L. J. Gallaher",
  title =        "{ACM} Algorithm 440: {A} Multidimensional {Monte} {Carlo} Quadrature with Adaptive Stratified Sampling",
  journal =      j-CACM,
  volume =       "16",
  number =       "1",
  pages =        "49--50",
  month =        jan,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290M (Numerical integration and differentiation); C4160 (Numerical integration and differentiation); C7310 (Mathematics computing)",
  corpsource =   "Georgia Inst. Technol., Atlanta, GA, USA",
  keywords =     "adaptive quadrature; ALGOL; integral; integration; Monte Carlo methods; Monte Carlo Quadrature; multidimensional; sampling; sequential stratification; stratified; subroutines",
  treatment =    "P Practical",
}

@Article{Knop:1973:AAR,
  author =       "R. E. Knop",
  title =        "{ACM} Algorithm 441: Random samples from the dipole distribution [{G5}]",
  journal =      j-CACM,
  volume =       "16",
  number =       "1",
  pages =        "51--51",
  month =        jan,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1973.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C7310 (Mathematics computing)",
  corpsource =   "Florida State Univ., Tallahassee, FL, USA",
  country =      "USA",
  descriptors =  "RVG;",
  enum =         "7514",
  keywords =     "dipole distribution; FORTRAN; probability density; random deviates; random number; statistics; subroutines",
  language =     "English",
  references =   "0",
  treatment =    "P Practical",
}

@Article{Hill:1973:AAN,
  author =       "G. W. Hill and A. W. Davis",
  title =        "{ACM} Algorithm 442: Normal deviate [{S14}]",
  journal =      j-CACM,
  volume =       "16",
  number =       "1",
  pages =        "51--52",
  month =        jan,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1973.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C7310 (Mathematics computing)",
  corpsource =   "CSIRO, Glen Osmond, Australia",
  country =      "USA",
  descriptors =  "RVG;",
  enum =         "7393",
  keywords =     "ALGOL; normal deviate; normal distribution inverse; probit; statistics; subroutines; Taylor series approximation; transform",
  language =     "English",
  references =   "0",
  treatment =    "P Practical",
}

@Article{Merrill:1973:RCR,
  author =       "R. D. Merrill",
  title =        "Representation of Contours and Regions for Efficient Computer Search",
  journal =      j-CACM,
  volume =       "16",
  number =       "2",
  pages =        "69--82",
  month =        feb,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A10",
  MRnumber =     "51 7362",
  mrreviewer =   "Arnold Griffith",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/imager/imager.75.bib",
  abstract =     "A novel computer-searchable representation for the three basic pictorial features, contour maps, region coverage, and line structures, is described. The representation, which has practical storage requirements, provides a rapid means of searching large files for data associated with geometric position as well as with attribute value. An application of this representation to handling terrain information illustrates its utility. The algebraic properties of the data structure make it computationally easy to determine whether a point lies within a closed boundary; compute the area contained by a closed boundary; generate the closed boundary representing the union or intersection of two closed boundaries; and determine the neighboring boundaries to a point and the minimum distances between them and the point. Pertinent to mapping.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques); C7400 (Engineering computing)",
  classification = "405; 723",
  corpsource =   "Lockheed Palo Alto Res. Laboratory, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "applications of computers; cartography; computer graphics; computer searchable structure; contour map representation; data handling; data processing --- Data Handling; data processing --- Data Structures; engineering; graphic data retrieval; maps and mapping; region boundary representation",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Crespi-Reghizzi:1973:UGI,
  author =       "S. Crespi-Reghizzi and M. A. Melkanoff and L. Lichten",
  title =        "The Use of Grammatical Inference for Designing Programming Languages",
  journal =      j-CACM,
  volume =       "16",
  number =       "2",
  pages =        "83--90",
  month =        feb,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A30",
  MRnumber =     "50 15446",
  mrreviewer =   "Leon Levy",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Ai/colt.bib",
  abstract =     "Both in designing a new programming language and in extending an existing language, the designer is faced with the problem of deriving a ``natural'' grammar for the language. We are proposing an interactive approach to the grammar design problem wherein the designer presents a sample of sentences and structures as input to a grammatical inference algorithm. The algorithm then constructs a grammar which is a reasonable generalization of the examples submitted by the designer. \par The implementation is presently restricted to a subclass of operator precedence grammars, but a second algorithm is outlined which applies to a larger class of context-free grammars.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic); C6140 (Programming languages)",
  classification = "723",
  corpsource =   "Univ. California, Los Angeles, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer programming languages; context; context-free grammars; extensible languages; free grammars; grammar design; grammatical inference; identification in the limit; inference; language definition; operator; precedence grammars; programming languages",
  treatment =    "P Practical",
}

@Article{Gimpel:1973:TDP,
  author =       "J. F. Gimpel",
  title =        "A Theory of Discrete Patterns and Their Implementation in {SNOBOL4}",
  journal =      j-CACM,
  volume =       "16",
  number =       "2",
  pages =        "91--100",
  month =        feb,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A15 (68A45)",
  MRnumber =     "52 7198",
  mrreviewer =   "John K. Debenham",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The notion of a discrete pattern is formalized and certain properties deduced. A pattern is shown to be a generalization of a formal language. Algorithms for implementing the kinds of patterns in SNOBOL4 are given. The general approach is to create, in-so-far as possible, a bottom-up parse from a top-down specification.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic); C6140 (Programming languages)",
  classification = "723",
  corpsource =   "Bell Telephone Labs., Holmdel, NJ, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer programming languages; data processing --- Data Structures; discrete patterns; formal language; formal languages; parsing; pattern implementation; pattern matching; pattern recognition systems; pattern theory; patterns; programming languages; SNOBOL4; string processing",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Rokne:1973:AES,
  author =       "J. Rokne",
  title =        "Automatic Errorbounds for Simple Zeros of Analytic Functions",
  journal =      j-CACM,
  volume =       "16",
  number =       "2",
  pages =        "101--104",
  month =        feb,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65E05",
  MRnumber =     "51 4638",
  mrreviewer =   "E. Maliszewski",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The Cauchy-Ostrowski theorem on convergence of Newton iterates for an analytic function in one variable is extended to include computational errors using complex interval arithmetic. Several numerical examples are given for polynomials with real and complex roots and one example for the Bessel function of the first kind.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290B (Error analysis in numerical methods); B0290D (Functional analysis); B0290K (Nonlinear and functional equations); C4110 (Error analysis in numerical methods); C4120 (Functional analysis); C4150 (Nonlinear and functional equations)",
  classification = "723",
  corpsource =   "Univ. Calgary, Alta., Canada",
  journalabr =   "Commun ACM",
  keywords =     "analysis; analytic functions; automatic errorbounds; Bessel functions; Cauchy-Ostrowski theorem; complex interval arithmetic; complex intervals; convergence of numerical methods; data processing --- Data Handling; data processing --- Data Structures; error; interval arithmetic; iterative methods; mathematical techniques; Newton's method; poles and zeros; polynomials; real interval arithmetic; real intervals; simple zeros; zeros of Bessel functions; zeros of polynomials",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Brent:1973:RRT,
  author =       "Richard P. Brent",
  title =        "Reducing the Retrieval Time of Scatter Storage Techniques",
  journal =      j-CACM,
  volume =       "16",
  number =       "2",
  pages =        "105--109",
  month =        feb,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  note =         "Modification of open addressing with double hashing to reduce the average number of probes for a successful search.",
  abstract =     "A new method for entering and retrieving information in a hash table is described. The method is intended to be efficient if most entries are looked up several times. The expected number of probes to look up an entry, predicted theoretically and verified by Monte Carlo experiments, is considerably less than for other comparable methods if the table is nearly full. An example of a possible Fortran implementation is given.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723; 901",
  journalabr =   "Commun ACM",
  keywords =     "address; address calculation; addressing; calculation; computer programming languages --- Fortran; content addressing; data storage, digital --- Random Access; file organisation; file searching; has; has code; hash addressing; information retrieval systems; linear probing; linear quotient; linear quotient method; method; retrieval time; scatter storage techniques; storage management; symbol table",
  treatment =    "P Practical",
}

@Article{Graham:1973:SDE,
  author =       "Robert M. Graham and Gerald J. {Clancy, Jr.} and David B. DeVaney",
  title =        "A software design and evaluation system",
  journal =      j-CACM,
  volume =       "16",
  number =       "2",
  pages =        "110--116",
  month =        feb,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A critical failure of current software system design and implementation methodology is that the performance of a proposed design is not evaluated before it is actually implemented. In this paper the reasons for this failure are explored, and a new methodology which overcomes many of the difficulties is proposed. A system which integrates performance evaluation with design and implementation is described. This system is based on a simple, high level language which is used to describe the evolving system at all stages of its development. The source language description is used as direct input to performance analysis and simulation routines. using the performance information obtained from these routines as feedback, the problems which adversely affect performance are detected early enough so that they can be corrected without costly major reimplementation of the proposed system.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150C (Compilers, interpreters and other processors); C6150J (Operating systems)",
  classification = "723",
  corpsource =   "Univ. California, Berkeley, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "compilers; computer programming languages; computer software; computer systems programming; computer systems programming --- Supervisory and Executive Programs; data processing --- Data Structures; debugging; des language; evaluation; executive programs; high level language; performance analysis; program maintenance; program processors; simulation; software design; supervisory and; supervisory systems; system programming",
  treatment =    "P Practical",
}

@Article{Balzer:1973:OIC,
  author =       "R. M. Balzer",
  title =        "An overview of the {ISPL} computer system design",
  journal =      j-CACM,
  volume =       "16",
  number =       "2",
  pages =        "117--122",
  month =        feb,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "This paper explores the advantages of the concurrent design of the language, operating system, and machine (via microcode) to create an interactive programming laboratory. It describes the synergistic effect that the freedom to move and alter features from one of these domains to another has had on the design of this system (which has not been implemented). This freedom simplified both incremental compilation and the system's addressing structure, and centralized the communication mechanisms enabling the construction of hierarchical subsystems. It also suggested an important new concept for operating systems: separation of the scheduling from the maintenance functions in resource allocation. This separation enables incorporation of new scheduling algorithms (decision of what to do) without endangering the system integration (correctly performing the scheduling decisions).",
  acknowledgement = ack-nhfb,
  classcodes =   "C6100 (Software techniques and systems); C6150J (Operating systems)",
  classification = "723",
  journalabr =   "Commun ACM",
  keywords =     "computer programming languages; computer system design; computer systems, digital --- Time Sharing; computers --- Data Communication Systems; hierarchical subsystems; incremental compilation; interactive programming laboratory; interprogram communication; ISPL; language; machine; operating system; operating systems (computers); programming",
  treatment =    "G General Review; T Theoretical or Mathematical",
}

@Article{Fritsch:1973:AAS,
  author =       "F. N. Fritsch and R. E. Shafer and W. P. Crowley",
  title =        "{ACM} Algorithm 443: Solution of the Transcendental Equation $w e^w = x$",
  journal =      j-CACM,
  volume =       "16",
  number =       "2",
  pages =        "123--124",
  month =        feb,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290D (Functional analysis); C4120 (Functional analysis); C7310 (Mathematics computing)",
  corpsource =   "Univ. California, Livermore, CA, USA",
  keywords =     "FORTRAN; function evaluation; iteration; iterative methods; subroutines; transcendental equation",
  treatment =    "T Theoretical or Mathematical",
  xxauthor =     "F. N. Fritsch and R. E. Shafer and W. P. Gowley",
}

@Article{Austing:1973:CSC,
  author =       "Richard H. Austing and Gerald L. Engel",
  title =        "A Computer Science Course Program for Small Colleges",
  journal =      j-CACM,
  volume =       "16",
  number =       "3",
  pages =        "139--147",
  month =        mar,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "This report gives recommendations for the content, implementation, and operation of a program of computer science courses specifically directed to small colleges. Implementation problems are discussed, specifically within the constraints of limited faculty and for the purposes of satisfying a wide variety of objectives. Detailed descriptions of four courses are given; suggestions are made for more advanced work; and an extensive library list is included.",
  acknowledgement = ack-nhfb,
  classcodes =   "C0220 (Computing education and training)",
  classification = "723; 901",
  corpsource =   "Univ. Maryland, College Park, MD, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer science education; data processing",
  keywords =     "computer organization course; computer science course; education; file organization course; programming course; reviews; small colleges; social implications course; universities",
  treatment =    "B Bibliography; G General Review",
}

@Article{Wagner:1973:CPM,
  author =       "Robert A. Wagner",
  title =        "Common Phrases and Minimum-Space Text Storage",
  journal =      j-CACM,
  volume =       "16",
  number =       "3",
  pages =        "148--152",
  month =        mar,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A method for saving storage space for text strings, such as compiler diagnostic messages, is described. The method relies on hand selection of a set of text strings which are common to one or more messages. These phrases are then stored only once. The storage technique gives rise to a mathematical optimization problem: determine how each message should use the available phrases to minimize its storage requirement. This problem is nontrivial when phrases which overlap exist. However, a dynamic programming algorithm is presented which solves the problem in time which grows linearly with the number of characters in the text. Algorithm 444 applies to this paper.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0260 (Optimisation techniques); C1180 (Optimisation techniques); C6120 (File organisation); C6150G (Diagnostic, testing, debugging and evaluating systems)",
  classification = "723",
  corpsource =   "Cornell Univ., NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "common phrases; computer operating systems --- Program Compilers; computer programming; diagnostic messages; dynamic programming; error messages; file organisation; minimum space; optimization; program diagnostics; text storage",
  treatment =    "P Practical",
}

@Article{Feinroth:1973:TUF,
  author =       "Y. Feinroth and E. Franceschini and M. Goldstein",
  title =        "Telecommunications Using a Front-End Minicomputer",
  journal =      j-CACM,
  volume =       "16",
  number =       "3",
  pages =        "153--160",
  month =        mar,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The use of a front-end minicomputer to provide varied remote terminal access to a large scale computer is considered. The problems of embedding telecommunications I/O within an operating system are discussed, and it is shown how the decentralization of intelligence acquired by front-end processing vastly simplifies the problem. A specific implementation is discussed with emphasis on the main processor-minicomputer link, the hardware-software implementation, the effect on the main processor operating system, and an assessment of the advantages over a hardwired line controller.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5600 (Data communication equipment and techniques)",
  classification = "718; 723",
  corpsource =   "New York Univ., NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "computers; computers, miniature; digital communication systems; front end processor; front-end processor; large scale computer; minicomputer; minicomputers; operating; operating system; remote; remote job entry; systems (computers); telecommunication systems; telecommunications; terminals",
  treatment =    "P Practical",
}

@Article{Pack:1973:EMC,
  author =       "Charles D. Pack",
  title =        "The Effects of Multiplexing on a Computer-Communications System",
  journal =      j-CACM,
  volume =       "16",
  number =       "3",
  pages =        "161--168",
  month =        mar,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/network.bib",
  abstract =     "A study is made of the way in which asynchronous time division multiplexing changes the stochastic nature of the arrival process from a user to the computer and, consequently, affects the performance of a time-shared computer-communications system. It is concluded that while, for certain values of system parameters, there is noticeable improvement in the performance of the computer (model), in the sense that time-shared scheduling delays are reduced, these improvements are offset by the transmission delays imposed by multiplexing so that there may be little or no change in the computer-communications system performance. Analytical and simulation results are based on the model of the computer-communications system being an M/D/I queue (the multiplexor) in tandem with a single exponential server (the computer). Analytical results include a general description of the output process of an M/D/1 queue and the conditions under which this output process is approximately Poisson.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5600 (Data communication equipment and techniques)",
  classification = "718; 722; 723",
  corpsource =   "Bell Telephone Labs. Inc., Murray Hill, NJ, USA",
  journalabr =   "Commun ACm",
  keywords =     "computer communications; computer programming --- Subroutines; computers; digital communication systems; multiplexing; operating systems; scheduling algorithms; systems; time sharing; time-sharing",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Conway:1973:DID,
  author =       "Richard W. Conway and Thomas R. Wilcox",
  title =        "Design and Implementation of Diagnostic Compiler for {PL/I}",
  journal =      j-CACM,
  volume =       "16",
  number =       "3",
  pages =        "169--179",
  month =        mar,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "PL/C is a compiler for a dialect for PL/I. The design objective was to provide a maximum degree of diagnostic assistance in a batch processing environment. For the most part this assistance is implicit and is provided automatically by the compilers. The most remarkable characteristic of PL/C is its perseverance --- it completes translation of every program submitted and continues execution until a user-established error limit is reached. This requires that the compiler repair errors encountered during both translation and execution, and the design of PL/C is dominated by this consideration. PL/C also introduces several explicit user-controlled facilities for program testing. To accommodate these extensions to PL/I without abandoning compatibility with the IBM compiler, PL/C permits ``pseudo comments'' --- constructions whose contents can optionally be considered either source text or comment. In spite of the diagnostic effort PL/C is a fast and efficient processor. It effectively demonstrates that compilers can provide better diagnostic assistance than is customarily offered, even when a sophisticated source language is employed, and that this assistance need not be prohibitively costly.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140D (High level languages); C6150C (Compilers, interpreters and other processors); C6150G (Diagnostic, testing, debugging and evaluating systems)",
  classification = "723",
  corpsource =   "Cornell Univ., NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "batch processing environment; batch-processing; computer operating systems; computer programming languages --- Program Debugging; computer programming languages --- Program Diagnostics; design; diagnostic compiler; diagnostics; implementation; PL/1; PL/C; PL/I; program; program compilers",
  treatment =    "P Practical",
  xxtitle =      "Design and implementation of a diagnostic compiler for {PL/I}",
}

@Article{Salzer:1973:GCO,
  author =       "H. E. Salzer",
  title =        "{Gray} code and the +or-sign sequence when +or-f(+or-f(+or-f( . . +or-f(x) . . .))) is ordered",
  journal =      j-CACM,
  volume =       "16",
  number =       "3",
  pages =        "180--180",
  month =        mar,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "Check title??",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  keywords =     "binary sequences; binary system; codes; functions; Galois sum; Gray code; ordering; positive monotonic; sign sequences",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Bookstein:1973:HST,
  author =       "Abraham Bookstein",
  title =        "On {Harrison}'s Substring Testing Technique",
  journal =      j-CACM,
  volume =       "16",
  number =       "3",
  pages =        "180--181",
  month =        mar,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  corpsource =   "Univ. Chicago, IL, USA",
  keywords =     "data handling; hashing; information storage; retrieval; substring testing technique",
  treatment =    "P Practical",
}

@Article{Payne:1973:GEP,
  author =       "W. H. Payne",
  title =        "Graduate Education: The {Ph.D.} Glut",
  journal =      j-CACM,
  volume =       "16",
  number =       "3",
  pages =        "181--182",
  month =        mar,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "See response and rebuttal \cite{Freeman:1974:GEP}.",
  acknowledgement = ack-nhfb,
  classcodes =   "C0220 (Computing education and training)",
  corpsource =   "Univ. Illinois, Urbana-Champaign, IL, USA",
  keywords =     "accreditation; education; graduate education; Ph.D. glut; Ph.D. production",
  treatment =    "G General Review",
}

@Article{Wagner:1973:AAA,
  author =       "R. A. Wagner",
  title =        "{ACM} Algorithm 444: An Algorithm for Extracting Phrases in a Space-Optimal Fashion",
  journal =      j-CACM,
  volume =       "16",
  number =       "3",
  pages =        "183--185",
  month =        mar,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  corpsource =   "Vanderbilt Univ., Nashville, TN, USA",
  keywords =     "algorithm; coding; data handling; extracting phrases; information retrieval; PARSE; PL/I; subroutines; text compression",
  treatment =    "P Practical",
}

@Article{Chang:1973:AAB,
  author =       "Shi-Kuo Chang",
  title =        "{ACM} Algorithm 445: Binary Pattern Reconstruction from Projections",
  journal =      j-CACM,
  volume =       "16",
  number =       "3",
  pages =        "185--186",
  month =        mar,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B6140C (Optical information, image and video signal processing); C1250 (Pattern recognition); C7800 (Other computer applications)",
  corpsource =   "Cornell Univ., Ithaca, NY, USA",
  keywords =     "ALGOL; binary pattern; compression; data; picture processing; projections; reconstruction; subroutines",
  treatment =    "P Practical; T Theoretical or Mathematical",
}

@Article{Lau:1973:BPR,
  author =       "J. Lau",
  title =        "Binary pattern reconstruction from projections",
  journal =      j-CACM,
  volume =       "16",
  number =       "3",
  pages =        "186--186",
  month =        mar,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B6140C (Optical information, image and video signal processing); C1250 (Pattern recognition); C7800 (Other computer applications)",
  corpsource =   "Univ. British Columbia, Vancouver, BC, Canada",
  keywords =     "ALGOL; binary pattern reconstruction; compression; data; picture processing; projections; subroutines",
  treatment =    "P Practical; T Theoretical or Mathematical",
}

@Article{Hassitt:1973:IHL,
  author =       "A. Hassitt and J. W. Lageschulte and L. E. Lyon",
  title =        "Implementation of a High Level Language Machine",
  journal =      j-CACM,
  volume =       "16",
  number =       "4",
  pages =        "199--212",
  month =        apr,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Computing machines which directly execute the statements of a high level language have been proposed in the past. This report describes the actual implementation of such a machine: it is a computer whose ``machine language'' is APL. The machine is fully operational and correctly executes almost all of the APL operations on scalars, vectors, and arrays. The machine automatically allocates memory, executes statements, calls functions, converts numbers from one type to another, checks subscripts, and automatically detects many types of programmer errors.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5220 (Computer architecture); C6140D (High level languages)",
  classification = "723",
  corpsource =   "IBM Palo Alto, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "APL; computer architecture; computer operating systems --- Program Compilers; computer programming languages; computing machines; emulators; high level language; high level language machine; implementation; interpreters; microprogramming; procedure oriented languages",
  treatment =    "P Practical",
}

@Article{Williams:1973:AMH,
  author =       "John G. Williams",
  title =        "Asymmetric Memory Hierarchies",
  journal =      j-CACM,
  volume =       "16",
  number =       "4",
  pages =        "213--222",
  month =        apr,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A50",
  MRnumber =     "51 2378",
  mrreviewer =   "I. Kaufmann",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/storage.bib",
  abstract =     "A study is presented of some of the system implications of memory hierarchies in which the backing or secondary store has a very small read time, relative of both the time required for writing and to the read time of conventional backing storage devices. Several analytic models are introduced, and it is shown that such hierarchies may operate in ways which differ from those of more conventional hierarchies. In particular, it is shown that it may not be necessary to multiprogram in such a situation. \par In the past, backing storage devices have been roughly symmetric with respect to their read and write times. This situation may not continue, as several devices are currently under development which may have a very small read-time/write-time ratio. This study places particular emphasis on one such system-the RCA read/write holographic optical memory.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5320Z (Other digital storage); C6120 (File organisation)",
  classification = "722; 723; 741",
  corpsource =   "RCA, Princeton, NJ, USA",
  journalabr =   "Commun ACM",
  keywords =     "asymmetric memory; asymmetric memory hierarchies; asymmetric memory hierarchy; computer systems programming --- Multiprogramming; data storage, optical; demand paging; file organisation; holographic; holographic optical memory; holography; memory device; memory hierarchy; optical memory; optical stores; paging; Performance Evaluation: Analytic; storage device; storage hierarchy; virtual memory",
  treatment =    "P Practical",
}

@Article{Kuki:1973:SSA,
  author =       "H. Kuki and W. J. Cody",
  title =        "A Statistical Study of the Accuracy of Floating Point Number Systems",
  journal =      j-CACM,
  volume =       "16",
  number =       "4",
  pages =        "223--230",
  month =        apr,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A20 (65G05)",
  MRnumber =     "51 2344",
  mrreviewer =   "I. Kaufmann",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; garbo.uwasa.fi:/pc/doc-soft/fpbiblio.txt",
  abstract =     "This paper presents the statistical results of tests of the accuracy of certain arithmetic systems in evaluating sums, products and inner products, and analytic error estimates for some of the computations. The arithmetic systems studied are 6-digit hexadecimal and 22-digit binary floating point number representations combined with the usual chop and round modes of arithmetic with various numbers of guard digits, and with a modified round mode with guard digits. In a certain sense, arithmetic systems differing only in their use of binary or hexadecimal number representations are shown to be approximately statistically equivalent in accuracy. Further, the usual round mode with guard digits is shown to be statistically superior in accuracy to the usual chop mode in all cases save one. The modified round mode is found to be superior to the chop mode in all cases.",
  acknowledgement = ack-nhfb # " and " # ack-nj,
  classcodes =   "C5230 (Digital arithmetic methods)",
  classification = "723",
  corpsource =   "Univ. Chicago, IL, USA",
  journalabr =   "Commun ACM",
  keywords =     "accuracy; arithmetic; computer programming; digital arithmetic; error analysis; floating point arithmetic; floating point number systems; guard digits; number representation; rounding; statistical study",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Burkhard:1973:SAB,
  author =       "W. A. Burkhard and R. M. Keller",
  title =        "Some Approaches to Best-Match File Searching",
  journal =      j-CACM,
  volume =       "16",
  number =       "4",
  pages =        "230--236",
  month =        apr,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/siggraph/pre75.bib",
  abstract =     "The problem of searching the set of keys in a file to find a key which is closest to a given query key is discussed. After ``closest'', in terms of a metric on the key space, is suitably defined, three file structures are presented together with their corresponding search algorithms, which are intended to reduce the number of comparisons required to achieve the desired result. These methods are derived using certain inequalities satisfied by metrics and by graph-theoretic concepts. Some empirical results are presented which compare the efficiency of the methods.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723; 901",
  corpsource =   "Univ. California, San Diego, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "best match; data processing; file organisation; file searching; file structuring; heuristics; information retrieval systems",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Strong:1973:RCT,
  author =       "James P. {Strong, III} and Azriel Rosenfeld",
  title =        "A region coloring technique for scene analysis",
  journal =      j-CACM,
  volume =       "16",
  number =       "4",
  pages =        "237--246",
  month =        apr,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A method of converting a picture into a ``cartoon'' or ``map'' whose regions correspond to differently textured regions is described. Texture edges in the picture are detected, and solid regions surrounded by these (usually broken) edges are ``colored in'' using a propagation process. The resulting map is cleaned by comparing the region colors with the textures of the corresponding regions in the picture, and also by merging some regions with others according to criteria based on topology and size. The method has been applied to the construction of could cover maps from cloud cover pictures obtained by satellites.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5540 (Terminals and graphic displays)",
  classification = "405; 723; 741",
  corpsource =   "NASA, Greenbelt, MD, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer graphics; data processing --- Natural Sciences Applications; edge detection; maps and mapping; pattern recognition systems; picture; picture processing; processing; region colouring technique; scene analysis",
  treatment =    "P Practical",
}

@Article{Rodriguez-Rosell:1973:DIE,
  author =       "Juan Rodriguez-Rosell and Jean-Pierre Dupuy",
  title =        "The design, implementation, and evaluation of a working set dispatcher",
  journal =      j-CACM,
  volume =       "16",
  number =       "4",
  pages =        "247--253",
  month =        apr,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The behavior of a computer system is largely dependent upon the algorithm employed to allocate the system resources to the processes competing for them. Recent research in time-sharing paging systems has developed the working set model for program behavior, and a resource allocation strategy based on this model has been proposed. Two implementations along these principles have been reported, but it seems that in neither case have further results been announced. This report discusses the design and implementation of a dispatcher based on the working set principle, presents data to permit analysis of its behavior, and indicates future directions of research on methods of controlling a computer system.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150J (Operating systems)",
  classification = "722; 723",
  corpsource =   "Royal Inst. Technol., Stockholm, Sweden",
  journalabr =   "Commun ACM",
  keywords =     "computer systems, digital; computers --- Operating Procedures; design; evaluation; implementation; operating systems; resource allocation; scheduler; software evaluation; supervisory and executive programs; supervisory systems; time sharing; time-sharing systems; working set; working set dispatcher",
  treatment =    "T Theoretical or Mathematical",
  xxtitle =      "Design, Implementation, and Evaluation of Working Set Dispatcher",
}

@Article{Broucke:1973:AAT,
  author =       "R. Broucke",
  title =        "{ACM} Algorithm 446: Ten Subroutines for the Manipulation of {Chebyshev} Series",
  journal =      j-CACM,
  volume =       "16",
  number =       "4",
  pages =        "254--256",
  month =        apr,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290F (Interpolation and function approximation); C4130 (Interpolation and function approximation); C7310 (Mathematics computing)",
  corpsource =   "Univ. California, Los Angeles, CA, USA",
  keywords =     "approximations; Chebyshev approximation; Chebyshev series; curve fitting; Manipulation; negative powers; series (mathematics); subroutines",
}

@Article{Ragland:1973:GCD,
  author =       "L. C. Ragland and D. I. Good",
  title =        "Greatest common divisor of $n$ integers and multipliers",
  journal =      j-CACM,
  volume =       "16",
  number =       "4",
  pages =        "257--257",
  month =        apr,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C5230 (Digital arithmetic methods)",
  corpsource =   "Univ. Texas, Austin, TX, USA",
  keywords =     "Euclidean algorithm; greatest common divisor; inductive assertion method; integers; multipliers; number theory; proof of algorithms",
  treatment =    "P Practical",
}

@Article{Pager:1973:PCC,
  author =       "David Pager",
  title =        "On the Problem of Communicating Complex Information",
  journal =      j-CACM,
  volume =       "16",
  number =       "5",
  pages =        "275--281",
  month =        may,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The nature of the difficulty involved in communicating mathematical results between scientists using a computer based information retrieval system is examined. The problem is analyzed in terms of psychological and information-processing processes, and what turns out to be a vicious circle of effects is described. The paper then considers how the presentation of information by a computer-based information retrieval system, or by other media, can be improved. Some trade-offs which affect the design of the presentation are mentioned, and a number of ideas for improvement are described. These include ways of augmenting written language by various notational and linguistic devices, the exhibition of the structure inherent in the information the authors are communicating, and a sophisticated interactive system controlled by computer.",
  acknowledgement = ack-nhfb,
  classcodes =   "C7250 (Information storage and retrieval)",
  classification = "723; 901",
  corpsource =   "Univ. Hawaii, Honolulu, HI, USA",
  journalabr =   "Commun ACM",
  keywords =     "communication; complex information; computer based information retrieval; computers --- Data Communication Systems; information; information retrieval systems; information science --- Information Retrieval; interactive system; language; mathematics; proof; psychology; system",
  treatment =    "P Practical",
}

@Article{Low:1973:PQE,
  author =       "David W. Low",
  title =        "Programming by Questionnaire: an Effective Way to Use Decision Tables",
  journal =      j-CACM,
  volume =       "16",
  number =       "5",
  pages =        "282--286",
  month =        may,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Programming by questionnaire combines aspects of decision table programming and general purpose programming by using decision tables to construct an application program through the selection of certain source statements from a predefined file. It is proposed that programming by questionnaire is a useful compromise between general and special purpose programming for a significant class of large scale problems. The elements of the approach are discussed and an existing application is described.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming)",
  classification = "723",
  corpsource =   "IBM Corp., Los Angeles, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "automatic program; automatic program generation; computer systems programming; decision tables; generation; productivity; programmer; programming; questionnaire; simulator generation",
  treatment =    "P Practical",
}

@Article{King:1973:SCU,
  author =       "P. J. H. King and R. G. Johnson",
  title =        "Some Comments on the Use of Ambiguous Decision Tables and Their Conversion to Computer Programs",
  journal =      j-CACM,
  volume =       "16",
  number =       "5",
  pages =        "287--290",
  month =        may,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "This paper comments upon recently published work on decision table translation using methods similar to rule-mask technique. The applicability of these methods under various possible conventions on overall table meaning is discussed, and it is argued that there is a place both for the multi-rule and the single-rule (or action set) convention in decision table usage.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming)",
  classification = "723",
  corpsource =   "Birbeck Coll., Univ. London, UK",
  journalabr =   "Commun ACM",
  keywords =     "computer programs; computer systems programming; conversion; decision tables",
  treatment =    "P Practical",
}

@Article{Salasin:1973:HSI,
  author =       "John Salasin",
  title =        "Hierarchical Storage in Information Retrieval",
  journal =      j-CACM,
  volume =       "16",
  number =       "5",
  pages =        "291--295",
  month =        may,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/storage.bib and ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "A probabilistic analysis is employed to determine the effect of hierarchical storage organizations on information retrieval operations. The data storage hardware is assumed to consist of n-levels of linearly connected memory hardware with increasing data access times and increasing data storage capabilities. A system might, for example, consist of fast semiconductor memory, computer core memory, extended core storage, disk memory, and data cells. Equations are derived to predict the effect of such a system on data access times using sequential files, random access files, and structured files employing multiple-hierarchical linked lists.",
  acknowledgement = ack-nhfb,
  annote =       "Simple evaluation of record fetch costs using various accessing sequences.",
  classcodes =   "C6120 (File organisation); C7250 (Information storage and retrieval)",
  classification = "723; 901",
  corpsource =   "Univ. Minneapolis, MN, USA",
  journalabr =   "Commun ACM",
  keywords =     "analysis; analytic; computer operating systems --- Storage Allocation; data access times; file organisation; files; hierarchical storage; information retrieval; information retrieval systems; linked lists; memory hierarchy; performance evaluation; probabilistic; random access; sequential files; structured files",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Corneil:1973:MEN,
  author =       "D. G. Corneil and C. C. Gotlieb and Y. M. Lee",
  title =        "Minimal Event-Node Network of Project Precedence Relations",
  journal =      j-CACM,
  volume =       "16",
  number =       "5",
  pages =        "296--298",
  month =        may,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A procedure for constructing a minimal event-node network to represent a set of precedence relations without parallel activities is presented. A minimal even-node network is an event-node network in which both the number of nodes and the number of arcs are the minima to preserve the given precedence relations. Counterexamples are given to show that the algorithm presented by A. C. Fisher, J. S. Liebman, and G. L. Nemhauser (1968) produces event-node networks which are not minimal. Since our procedure includes the set-covering problem, the time required may grow exponentially with the number of given activities.",
  acknowledgement = ack-nhfb,
  classcodes =   "C7100 (Business and administration)",
  classification = "912",
  corpsource =   "Univ. Toronto, Ont., Canada",
  journalabr =   "Commun ACM",
  keywords =     "event node network; event-node network; management science; management sciences; minimal; minimal event-node network; network analysis; operations research; project precedence relations",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Mercer:1973:AGP,
  author =       "Andrew Mercer and Azriel Rosenfeld",
  title =        "An array grammar programming system",
  journal =      j-CACM,
  volume =       "16",
  number =       "5",
  pages =        "299--305",
  month =        may,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A package of Fortran programs has been developed that permits a user to interactively design and test array grammars. The user can control the rule selection procedure in a derivation or parse, using weighted programming matrices; he also has a choice of instance selection schemes (raster, random, parallel). Examples are given involving array languages consisting of simple geometrical patterns, as well as a language of ``neuron pictures.''",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic); C7430 (Computer engineering)",
  classification = "721; 723",
  corpsource =   "Kappa Systems Inc., Arlington, VA, USA",
  journalabr =   "Commun ACM",
  keywords =     "array grammar; array grammars; automata theory --- Grammars; automatic testing; CAD; computer graphics; computer programming languages; computer-aided design; Fortran programs; grammars; interactively; picture grammars; programming system; test",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Reingold:1973:NLM,
  author =       "Edward M. Reingold",
  title =        "A Nonrecursive List Moving Algorithm",
  journal =      j-CACM,
  volume =       "16",
  number =       "5",
  pages =        "305--307",
  month =        may,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/garbage.collection.bib",
  abstract =     "An efficient, nonrecursive algorithm is given for moving any LIST-type list. In particular, the algorithm requires no storage other than the new nodes into which the list is to be moved, and no additional bits per node for marking; the algorithm runs in time proportional to the number of nodes in the list. The original list structure is destroyed as it is moved.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  classification = "723",
  corpsource =   "Univ. Illinois, Urbana-Champaign, IL, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer programming --- Subroutines; computer programming languages; computer programming languages --- lisp; garbage collection; LISP; list moving; list processing; nonrecursive algorithm; storage management",
  treatment =    "P Practical",
}

@Article{Vos:1973:CWF,
  author =       "H. Vos",
  title =        "Coulomb wave functions",
  journal =      j-CACM,
  volume =       "16",
  number =       "5",
  pages =        "308--309",
  month =        may,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290D (Functional analysis); C4120 (Functional analysis); C7310 (Mathematics computing)",
  corpsource =   "Vrije Univ., Amsterdam, Netherlands",
  keywords =     "Coulomb wave functions; function evaluation; mathematics; wave functions",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Bayer:1973:M,
  author =       "G. Bayer",
  title =        "Maxflow",
  journal =      j-CACM,
  volume =       "16",
  number =       "5",
  pages =        "309--309",
  month =        may,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7300 (Natural sciences computing)",
  corpsource =   "Tech. Univ., Braunschweig, West Germany",
  keywords =     "arcs; flows; input parameters; maxflow; network; network analysis",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Holmgren:1973:MAL,
  author =       "B. Holmgren and A. Kolm and D. Obradovic",
  title =        "Minit algorithm for linear programming",
  journal =      j-CACM,
  volume =       "16",
  number =       "5",
  pages =        "310--310",
  month =        may,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0260 (Optimisation techniques); C1180 (Optimisation techniques); C7310 (Mathematics computing)",
  corpsource =   "ASEA, Vasteras, Sweden",
  keywords =     "linear programming; minit algorithm",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Obradovic:1973:MAL,
  author =       "D. Obradovic",
  title =        "Minit algorithm for linear programming",
  journal =      j-CACM,
  volume =       "16",
  number =       "5",
  pages =        "310--310",
  month =        may,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0260 (Optimisation techniques); C1180 (Optimisation techniques); C7310 (Mathematics computing)",
  corpsource =   "Boris Kidric Inst. Nuclear Sci., Beograd, Yugoslavia",
  keywords =     "linear programming; mini algorithm",
  treatment =    "P Practical",
}

@Article{Howell:1973:ESL,
  author =       "J. A. Howell",
  title =        "Exact solution of linear equations using residue arithmetic",
  journal =      j-CACM,
  volume =       "16",
  number =       "5",
  pages =        "311--311",
  month =        may,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290H (Linear algebra); C4140 (Linear algebra); C5230 (Digital arithmetic methods); C7310 (Mathematics computing)",
  corpsource =   "Yale Univ., New Haven, CT, USA",
  keywords =     "digital arithmetic; exact solution; inversion; linear algebra; linear equations; matrix; mixed radix conversion; modulus; prime number; residue arithmetic",
  treatment =    "P Practical",
}

@Article{Sale:1973:SMP,
  author =       "A. H. J. Sale",
  title =        "A sparse matrix package",
  journal =      j-CACM,
  volume =       "16",
  number =       "5",
  pages =        "311--311",
  month =        may,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290H (Linear algebra); C4140 (Linear algebra); C7310 (Mathematics computing)",
  corpsource =   "Univ. Sydney, NSW, Australia",
  keywords =     "algorithm; matrix algebra; sparse matrix package",
  treatment =    "P Practical",
}

@Article{Wheeler:1973:IEQ,
  author =       "R. E. Wheeler",
  title =        "Increasing the efficiency of quicksort",
  journal =      j-CACM,
  volume =       "16",
  number =       "5",
  pages =        "311--311",
  month =        may,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  corpsource =   "E. I. du Pont Nemours and Co., Wilmington, DE, USA",
  keywords =     "efficiency; quicksort; sorting",
  treatment =    "P Practical",
}

@Article{Roy:1973:RPR,
  author =       "M. K. Roy",
  title =        "Reflection-free permutations, rosary permutations and adjacent transposition algorithms",
  journal =      j-CACM,
  volume =       "16",
  number =       "5",
  pages =        "312--312",
  month =        may,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0250 (Combinatorial mathematics); C1160 (Combinatorial mathematics)",
  corpsource =   "Jadavpur Univ., Calcutta, India",
  keywords =     "adjacent transposition algorithms; combinatorial analysis; combinatorial mathematics; permutation; reflection free; rosary",
  treatment =    "T Theoretical or Mathematical",
}

@Article{McMorrow:1973:CMC,
  author =       "C. H. McMorrow",
  title =        "Concerning music and computer composition in computational linguistics",
  journal =      j-CACM,
  volume =       "16",
  number =       "5",
  pages =        "313--313",
  month =        may,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7820 (Humanities computing)",
  corpsource =   "Eagle Signal Corp., Davenport, IA, USA",
  keywords =     "computational linguistics; computer composition; humanities; music",
  treatment =    "G General Review",
}

@Article{Wexelblat:1973:ACC,
  author =       "R. L. Wexelblat",
  title =        "Another comment on computer music",
  journal =      j-CACM,
  volume =       "16",
  number =       "5",
  pages =        "313--314",
  month =        may,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7820 (Humanities computing)",
  corpsource =   "Bell Labs., Holmdel, NJ, USA",
  keywords =     "composer; computer music; humanities; musical taste; value judgment",
  treatment =    "G General Review",
}

@Article{Estell:1973:CPA,
  author =       "R. G. Estell",
  title =        "A comment on the practical aspects of computer science education",
  journal =      j-CACM,
  volume =       "16",
  number =       "5",
  pages =        "314--315",
  month =        may,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C0220 (Computing education and training)",
  keywords =     "computer science education; curriculum; digital computers; education",
  treatment =    "G General Review; P Practical",
}

@Article{Fajman:1973:WIT,
  author =       "Roger Fajman and John Borgelt",
  title =        "{WYLBUR}, An Interactive Text Editing and Remote Job Entry System",
  journal =      j-CACM,
  volume =       "16",
  number =       "5",
  pages =        "314--322",
  month =        may,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib; ftp://ftp.ira.uka.de/pub/bibliography/Misc/os.bib",
  abstract =     "WYLBUR is a comprehensive system for manipulating all kinds of text, such as computer programs, letters, and manuscripts, using typewriter terminals connected to a computer. It has facilities for remote job entry and retrieval as well as facilities for text alignment and justification. A powerful method for addressing text by content is provided. This paper describes the external appearance of WYLBUR as well as its internal structure. A short description of the major features of ORVYL, a general purpose time-sharing system which operates in conjunction with WYLBUR, is also included.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques); C6150J (Operating systems)",
  classification = "723",
  corpsource =   "Stanford Univ., CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "addressing; computer systems programming; content; content addressing; data entry; data handling; data processing; document preparation; interactive text editing; ORVYL; remote; remote job entry; remote job retrieval; terminal; text editing",
  treatment =    "P Practical",
}

@Article{Frailey:1973:PAM,
  author =       "Dennis J. Frailey",
  title =        "A Practical Approach to Managing Resources and Avoiding Deadlocks",
  journal =      j-CACM,
  volume =       "16",
  number =       "5",
  pages =        "323--329",
  month =        may,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "Resource scheduling and allocation can be expensive with regard to time and space in multiprogramming or time-sharing environments involving large numbers of tasks and resources with conflicting requirements. \par Detection and\slash or prevention of deadlocks can require massive amounts of additional overhead if efficient usage of resources is to be maintained. A resource management program is described which uses linked lists along with other techniques to overcome a large portion of this overhead. The program, which is currently running as part of a large scale general purpose operating system, keeps resources relatively active but does not detect or prevent all deadlocks in its implemented state. Certain changes, which would permit more comprehensive levels of deadlock prevention\slash detection at additional cost, have not been incorporated in the running system due to the infrequency of deadlock situations.",
  acknowledgement = ack-nhfb,
  annote =       "Description of a limited implementation and good overview.",
  classcodes =   "C6150J (Operating systems)",
  classification = "723",
  corpsource =   "Southern Methodist Univ., Dallas, TX, USA",
  journalabr =   "Commun ACM",
  keywords =     "(computers); allocation; computer systems programming; deadlock; deadly embrace; file organisation; multiprocessing; multiprogramming; operating systems; resource; resource allocation; resource management; resource scheduling; scheduling; storage allocation; time sharing; time-sharing; time-sharing programs",
  treatment =    "P Practical",
}

@Article{Hamlet:1973:EMR,
  author =       "R. G. Hamlet",
  title =        "Efficient multiprogramming resource allocation and accounting",
  journal =      j-CACM,
  volume =       "16",
  number =       "6",
  pages =        "337--342",
  month =        jun,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C6150J (Operating systems)",
  corpsource =   "Univ. Maryland, Baltimore, MD, USA",
  keywords =     "accounting; efficient; executive; memory; monitor; multiprogramming; resource allocation; storage allocation",
  treatment =    "P Practical",
}

@Article{Gelenbe:1973:MWS,
  author =       "E. Gelenbe and J. C. A. Boekhorst and J. L. W. Kessels",
  title =        "Minimizing wasted space in partitioned segmentation",
  journal =      j-CACM,
  volume =       "16",
  number =       "6",
  pages =        "343--349",
  month =        jun,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C6150J (Operating systems)",
  corpsource =   "Univ. Michigan, Ann Arbor, MI, USA",
  keywords =     "algorithms; dynamic storage allocation; file organisation; fragmentation; multiple; page sizes; paged virtual memory; partitioned segmentation; storage allocation; storage management; system; wasted space",
  treatment =    "P Practical",
}

@Article{Hill:1973:SPM,
  author =       "J. C. Hill",
  title =        "Synchronizing processors with memory-content-generated interrupts",
  journal =      j-CACM,
  volume =       "16",
  number =       "6",
  pages =        "350--351",
  month =        jun,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150J (Operating systems)",
  corpsource =   "Univ. California, Livermore, CA, USA",
  keywords =     "associative memories; debugging; interrupts; microprogramming; monitors; multiprocessing programs; multiprocessor; parallel processing; supervisors; synchronisation; synchronizing processors",
  treatment =    "P Practical",
}

@Article{Stone:1973:NOS,
  author =       "Harold S. Stone and Samuel F. Fuller",
  title =        "On the Near-Optimality of the Shortest-Latency-Time-First Drum Scheduling Discipline",
  journal =      j-CACM,
  volume =       "16",
  number =       "6",
  pages =        "352--353",
  month =        jun,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  note =         "Also published in/as: Technical Note No.12, DSL.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  corpsource =   "Stanford Univ., CA, USA",
  keywords =     "computer systems; drum scheduling discipline; file organisation; latency scheduling; minimal; shortest latency time first; storage allocation; storage management",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Stockhausen:1973:AOC,
  author =       "P. F. Stockhausen",
  title =        "Adapting optimal code generation for arithmetic expressions to the instruction sets available on present-day computers",
  journal =      j-CACM,
  volume =       "16",
  number =       "6",
  pages =        "353--354",
  month =        jun,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C5230 (Digital arithmetic methods)",
  corpsource =   "Bell Labs., Murray Hill., NJ, USA",
  keywords =     "arithmetic expressions; codes; digital arithmetic; instruction; optimal code generation; sets",
  treatment =    "P Practical",
}

@Article{Ling:1973:CGA,
  author =       "R. F. Ling",
  title =        "A computer generated aid for cluster analysis",
  journal =      j-CACM,
  volume =       "16",
  number =       "6",
  pages =        "355--361",
  month =        jun,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C5530 (Pattern recognition and computer vision equipment); C5540 (Terminals and graphic displays)",
  corpsource =   "Univ. Chicago, IL, USA",
  keywords =     "cluster analysis; computer aided analysis; computer graphics; factor analysis; hierarchical clustering; numerical taxonomy; pattern; recognition",
  treatment =    "P Practical",
}

@Article{Shneiderman:1973:ODB,
  author =       "Ben Shneiderman",
  title =        "Optimum Data Base Reorganization Points",
  journal =      j-CACM,
  volume =       "16",
  number =       "6",
  pages =        "362--365",
  month =        jun,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  acknowledgement = ack-nhfb,
  annote =       "Criteria for file reorganization",
  classcodes =   "C6120 (File organisation)",
  corpsource =   "State Univ. New York, Stony Brook, NY, USA",
  keywords =     "cost per access; data base; file organisation; files; information retrieval; optimum; reorganization; strategies",
  treatment =    "P Practical",
}

@Article{Strunz:1973:DDT,
  author =       "H. Strunz",
  title =        "The development of decision tables via parsing of complex decision situations",
  journal =      j-CACM,
  volume =       "16",
  number =       "6",
  pages =        "366--369",
  month =        jun,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming)",
  corpsource =   "Mathematischer Beratungs- and Programmierungsdienst GmbH, Cologne, West Germany",
  keywords =     "decision grid chart; decision tables; development; parsing; problem analysis",
  treatment =    "P Practical",
}

@Article{Bell:1973:TC,
  author =       "James R. Bell",
  title =        "Threaded Code",
  journal =      j-CACM,
  volume =       "16",
  number =       "6",
  pages =        "370--372",
  month =        jun,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  abstract =     "The concept of ``threaded code'' is presented as an alternative to machine language code. Hardware and software realizations of it are given. In software it is realized as interpretive code not needing an interpreter. Extensions and optimizations are mentioned.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5220 (Computer architecture); C6110 (Systems analysis and programming); C6140B (Machine-oriented languages)",
  corpsource =   "Digital Equipment Corp., Maynard, MA, USA",
  keywords =     "code; compiled code; hardware; interpreter; machine; machine code; machine oriented languages; microprogramming; programming; software; space tradeoff; subroutine calls; threaded code; time tradeoff",
  treatment =    "P Practical",
}

@Article{Hopcroft:1973:AAE,
  author =       "J. Hopcroft and R. Tarjan",
  title =        "{ACM} Algorithm 447: Efficient Algorithms for Graph Manipulation",
  journal =      j-CACM,
  volume =       "16",
  number =       "6",
  pages =        "372--378",
  month =        jun,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Parallel/Multi.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C7310 (Mathematics computing)",
  corpsource =   "Cornell Univ., Ithaca, NY, USA",
  keywords =     "ALGOL; algorithms; graph manipulation; graph theory; mathematics; partitioning; subroutines",
  treatment =    "P Practical",
}

@Article{Beyer:1973:AAN,
  author =       "T. Beyer and D. F. Swinehart",
  title =        "{ACM} Algorithm 448: Number of Multiply-Restricted Partitions",
  journal =      j-CACM,
  volume =       "16",
  number =       "6",
  pages =        "379--379",
  month =        jun,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C5230 (Digital arithmetic methods)",
  corpsource =   "Univ. Oregon, Eugene, OR, USA",
  keywords =     "change making; digital arithmetic; enumeration; FORTRAN; multiply restricted partitions; positive integer; subroutine; subroutines",
  treatment =    "P Practical",
}

@Article{Ferguson:1973:LSP,
  author =       "J. Ferguson and P. A. Staley",
  title =        "Least squares piecewise cubic curve fitting",
  journal =      j-CACM,
  volume =       "16",
  number =       "6",
  pages =        "380--382",
  month =        jun,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65D10",
  MRnumber =     "50 15267",
  mrreviewer =   "Bernard H. Rosman",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  abstract =     "The matrices involved in a linear least squares formulation are determined for the problem of fitting piecewise cubic functions, those possessing a continuous derivative, to arrays of planar data.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290F (Interpolation and function approximation); C4130 (Interpolation and function approximation)",
  corpsource =   "Teledyne Ryan Aeronaut. Co., San Diego, CA, USA",
  keywords =     "approximation splines; curve fitting; data; data reduction; data reduction and analysis; function approximation; least; least squares; piecewise cubic; reduction; squares approximations",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Hoskins:1973:CSS,
  author =       "W. D. Hoskins",
  title =        "Cubic spline solutions to fourth-order boundary value problems",
  journal =      j-CACM,
  volume =       "16",
  number =       "6",
  pages =        "382--385",
  month =        jun,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65L10",
  MRnumber =     "58 31861",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  abstract =     "The cubic spline approximation to the fourth-order differential equation $y''''+p(x)y''+q(x)y'+r(x)y=t(x)$ is shown to reduce to the solution of a five-term recurrence relationship. For some special cases the approximation is shown to be simply related to a finite difference representation with a local truncation error of order $(y/720)\delta^8$.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290F (Interpolation and function approximation); B0290P (Differential equations); C4130 (Interpolation and function approximation); C4170 (Differential equations)",
  corpsource =   "Univ. Manitoba, Winnipeg, Man., Canada",
  keywords =     "(mathematics); boundary value problem; boundary value problems; boundary-value problems; cubic spline; differential; differential equations; equations; fourth order; splines",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Alt:1973:CPT,
  author =       "Franz L. Alt and Judith Yuni Kirk",
  title =        "Computer Photocomposition of Technical Text",
  journal =      j-CACM,
  volume =       "16",
  number =       "6",
  pages =        "386--391",
  month =        jun,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "Describes the typesetting system used by the American Institute of Physics.",
  abstract =     "In computer assisted typesetting by means of photocomposition, special problems arise in highly technical material such as mathematical formulas. New solutions to several of these problems have been devised in the information system of the American Institute of Physics. They include: the representation of special characters (foreign alphabets, mathematical symbols, etc.) not available on input keyboards or on the photocomposer; the generation of such symbols, e.g. by overprinting; the precise positioning of accent marks (floating diacritics); line breaks, i.e. words or formulas placed partly at the end of one line and partly at the beginning of the next; and certain aspects of error correction.",
  acknowledgement = ack-nhfb,
  classcodes =   "C7230 (Publishing and reproduction)",
  corpsource =   "American Inst. Phys., New York, NY, USA",
  keywords =     "computer; computer controlled typesetting; graphics; photocomposition; printing; technical text; text processing; typesetting",
  treatment =    "P Practical",
}

@Article{Nolan:1973:MCR,
  author =       "Richard L. Nolan",
  title =        "Managing the Computer Resource: Stage Hypothesis",
  journal =      j-CACM,
  volume =       "16",
  number =       "7",
  pages =        "399--405",
  month =        jul,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Based on the study of expenditures for data processing, a descriptive stage hypothesis is presented. It is suggested that the planning, organizing, and controlling activities associated with managing the computer resource will change in character over a period of time, and will evolve in patterns roughly correlated to four stages of the computer budget: Stage I (computer acquisition), Stage II (intense system development), Stage III (proliferation of controls), and Stage IV (user\slash service orientation). Each stage is described and related to individual tasks for managing the computer resource.",
  acknowledgement = ack-nhfb,
  classcodes =   "C0310 (EDP management)",
  classification = "723",
  corpsource =   "Harvard Univ. Cambridge, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer; computer budget; computer expenditures; computer management; computer resource; control; data processing; data processing, business; economics; management; organizing; planning; resource; stage hypothesis",
  treatment =    "E Economic",
  xxtitle =      "Managing the computer resource: a stage hypothesis",
}

@Article{Huang:1973:NIO,
  author =       "J. C. Huang",
  title =        "A Note on Information Organization and Storage",
  journal =      j-CACM,
  volume =       "16",
  number =       "7",
  pages =        "406--410",
  month =        jul,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A50",
  MRnumber =     "55 13900",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Since the logical structure of a data base can be represented by a tree or graph, it is quite natural for us to view the process of designing a data base as that of constructing a tree or a graph. \par A general method for constructing such a tree or a graph is provided. There are three important elements in this general construction method; namely, a set of binary relations, an algorithm for constructing subsets of a set, and an algorithm for selecting an element from the given set of objects. The use of different relations and algorithms results in different information structures, as list, tree, ring, etc. Thus the problem of information organization and storage is reduced to that of defining relations and formulating algorithms under a given set of constraints. \par The results presented may be valuable to designers as useful design concepts, and may serve as a basis for developing a formal theory on the subject.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723; 901; 921",
  corpsource =   "Univ. Houston, TX, USA",
  journalabr =   "Commun ACM",
  keywords =     "(mathematical); data base; data-base management; file organisation; file organization; graph; graph theory; information; information retrieval; information retrieval systems; information structure; management; mathematical techniques --- Graph Theory; storage allocation; structure; tree; trees",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Kozdrowicki:1973:CIC,
  author =       "Edward W. Kozdrowicki and Dennis W. Cooper",
  title =        "{COKO III}: the {Cooper-Koz} Chess Program",
  journal =      j-CACM,
  volume =       "16",
  number =       "7",
  pages =        "411--427 (or 411--426??)",
  month =        jul,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "COKO III is a chess player written entirely in Fortran. On the IBM 360-65, COKO III plays a minimal chess game at the rate of. 2 sec cpu time per move, with a level close to lower chess club play. A selective tree searching procedure controlled by tactical chess logistics allows a deployment of multiple minimal game calculations to achieve some optimal move selection. In addition, an interesting phenomenon called a tree searching catastrophe has plagued COKO's entire development just as it troubles a human player. Standard exponential growth is curbed to a large extent by the definition and trimming of the Fischer set. Representation of the chess environment is described along with a strategic preanalysis procedure that maps the Lasker regions. Specific chess algorithms are described which could be used as a command structure by anyone desiring to do some chess program experimentation. A comparison is made of some mysterious actions of human players and COKO III.",
  acknowledgement = ack-nhfb,
  classcodes =   "C1230 (Artificial intelligence); C7810 (Social and behavioural sciences computing)",
  classification = "723",
  corpsource =   "Univ. California, Davis, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "artificial intelligence; chess program; COKO III; computer systems programming; FORTRAN; games of skill; heuristic programming; minimal chess game; selective searching; tree searching",
  treatment =    "A Application",
}

@Article{Howard:1973:MSD,
  author =       "John H. {Howard, Jr.}",
  title =        "Mixed Solutions for the Deadlock Problem",
  journal =      j-CACM,
  volume =       "16",
  number =       "7",
  pages =        "427--430",
  month =        jul,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Parallel/Multi.bib",
  abstract =     "Mixtures of detection, avoidance, and prevention provide more effective and practical solutions to the deadlock problem than any one of these alone. The individual techniques can be tailored for subproblems of resource allocation and still operate together to prevent deadlocks. This paper presents a method, based on the concept of the hierarchical operating system, for constructing appropriate mixtures and suggests appropriate subsystems for the most frequently occurring resource allocation problems.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150J (Operating systems)",
  classification = "723",
  corpsource =   "Univ. Texas, Austin, TX, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer operating systems; computer systems programming --- Multiprogramming; deadlock problem; deadlocks; hierarchical systems; mixed solutions; multiprogramming; operating systems; operating systems (computers); resource allocation",
  treatment =    "P Practical",
}

@Article{Gelenbe:1973:DPP,
  author =       "Erol Gelenbe",
  title =        "Distribution of a Program in Primary and Fast Buffer Storage",
  journal =      j-CACM,
  volume =       "16",
  number =       "7",
  pages =        "431--434",
  month =        jul,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A virtual memory computer system with a fast buffer (cache) memory between primary memory and central processing unit is considered. The optimal distribution of a program between the buffer and primary memory is studied using the program's lifetime function. Expressions for the distribution of a program which maximizes the useful fraction of the cost-time integral of primary and fast buffer storage are obtained for swapping and nonswapping buffer management policies.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723",
  journalabr =   "Commun ACM",
  keywords =     "cache; computer systems programming; cost time integral; distribution of a program; fast buffer; function; lifetime; lifetime function; storage; virtual memory; virtual memory computer system; virtual storage",
  treatment =    "P Practical",
}

@Article{Rosin:1973:TP,
  author =       "Robert F. Rosin",
  title =        "Teaching ``About Programming''",
  journal =      j-CACM,
  volume =       "16",
  number =       "7",
  pages =        "435--439",
  month =        jul,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "This paper presents the goals and organization of a course about programming designed to provide entering students in a graduate program with a cultural enrichment in their professional lives. The students are expected to have taken at least two programming courses prior to this one and, therefore, to be familiar with at least two programming languages, both as students and users. Teaching someone how to program is similar to teaching him to play a musical instrument: neither skill can be taught-they must be learned. However, the teacher still serves several vital purposes: to present a set of rules for producing well-formed utterances; to offer numerous demonstrations of his own skill; and to function as an involved critic. Finally, the teacher is the source of information about the process in which the student is involved.",
  acknowledgement = ack-nhfb,
  classcodes =   "C0220 (Computing education and training); C6110 (Systems analysis and programming)",
  classification = "723",
  corpsource =   "Univ. Aarhus, Denmark",
  journalabr =   "Commun ACM",
  keywords =     "computer systems programming; education; professionalism; programming; programming concepts; teaching",
}

@Article{McFarlan:1973:CRG,
  author =       "F. Warren McFarlan and Richard L. Nolan",
  title =        "Curriculum Recommendations for Graduate Professional Programs in Information Systems: Recommended Addendum on Information Systems Administration",
  journal =      j-CACM,
  volume =       "16",
  number =       "7",
  pages =        "439--442 (or 439--441??)",
  month =        jul,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "An addendum to the Report of the ACM Curriculum Committee on Computer Education for Management is proposed. The proposed addendum is to include in the curriculum a course on Information Systems administration. It is important for two reasons: (1) the systems designer must understand the administrative framework in which he must operate to work effectively, and (2) an important objective of the curriculum recommendations is to prepare the future manager of the computer activity. \par It is felt that the importance of these two reasons justifies the addition of the recommended course. \par The course is outlined in the format of the original report.",
  acknowledgement = ack-nhfb,
  classcodes =   "C0220 (Computing education and training); C0310 (EDP management); C7100 (Business and administration)",
  classification = "723; 901",
  corpsource =   "Harvard Univ., Cambridge, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "administration; computer management; curriculum recommendations; education; information retrieval systems; information systems; information systems administration; information systems management; management; management information systems",
  treatment =    "P Practical",
}

@Article{Kandel:1973:CSS,
  author =       "A. Kandel",
  title =        "Computer Science --- Seminars for Undergraduates",
  journal =      j-CACM,
  volume =       "16",
  number =       "7",
  pages =        "442--442",
  month =        jul,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C0220 (Computing education and training)",
  corpsource =   "New Mexico Inst. Mining Technol., Soccorro., NM, USA",
  keywords =     "computer science; curriculum; digital computers; education; seminars; undergraduates",
  keywords =     "computer science; curriculum; education; fuzzy educational structure; imprecise synthesis",
  treatment =    "G General Review; P Practical",
}

@Article{Bochmann:1973:MEL,
  author =       "G. V. Bochmann",
  title =        "Multiple Exits from a Loop Without the {GOTO}",
  journal =      j-CACM,
  volume =       "16",
  number =       "7",
  pages =        "443--444",
  month =        jul,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140 (Programming languages)",
  corpsource =   "Univ. Montreal, Que., Canada",
  keywords =     "control structures; exit statement; from loops; goto free programming; multiple exits; multiple exits from loops; programming languages",
  treatment =    "P Practical",
}

@Article{Hall:1973:EBA,
  author =       "Patrick A. V. Hall",
  title =        "Equivalence Between {AND\slash OR} Graphs and Context-Free Grammars",
  journal =      j-CACM,
  volume =       "16",
  number =       "7",
  pages =        "444--445",
  month =        jul,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C1230 (Artificial intelligence); C4210 (Formal logic)",
  corpsource =   "City Univ., London, UK",
  keywords =     "AND/OR graphs; artificial intelligence; context free grammars; context-free grammars; equivalance; graph theory; language theory",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Fiala:1973:AAS,
  author =       "F. Fiala",
  title =        "{ACM} Algorithm 449: Solution of Linear Programming Problems in 0-1 Variables",
  journal =      j-CACM,
  volume =       "16",
  number =       "7",
  pages =        "445--448 (or 445--447??)",
  month =        jul,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0260 (Optimisation techniques); C1180 (Optimisation techniques); C7310 (Mathematics computing)",
  corpsource =   "Univ. Alberta, Edmonton, Alta., Canada",
  keywords =     "FORTRAN; linear programming; subroutine; subroutines; zero one programming",
  treatment =    "P Practical",
}

@Article{Kernighan:1973:RAM,
  author =       "B. W. Kernighan",
  title =        "Remark on {``Algorithm 422: Minimal Spanning Tree''}",
  journal =      j-CACM,
  volume =       "16",
  number =       "7",
  pages =        "448--448",
  month =        jul,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "See \cite{Whitney:1972:AAM}.",
  acknowledgement = ack-nhfb,
  classcodes =   "C7310 (Mathematics computing)",
  corpsource =   "Bell Telephone Labs. Inc., Murray Hill, NJ, USA",
  keywords =     "minimal spanning tree; subroutine; trees (mathematical)",
  keywords =     "minimal spanning tree; Prim algorithm; spanning tree",
}

@Article{Macleod:1973:HPP,
  author =       "I. D. G. Macleod and A. M. Collins",
  title =        "Hidden-line plotting program",
  journal =      j-CACM,
  volume =       "16",
  number =       "7",
  pages =        "448--448",
  month =        jul,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C5540 (Terminals and graphic displays); C6130 (Data handling techniques)",
  corpsource =   "Australian Nat. Univ., Canberra, Australia",
  keywords =     "computer graphics; data handling; hidden line; surface plot",
  treatment =    "P Practical",
}

@Article{Nikolai:1973:DSO,
  author =       "P. J. Nikolai",
  title =        "{DIFSUB} for solution of ordinary differential equations",
  journal =      j-CACM,
  volume =       "16",
  number =       "7",
  pages =        "448--448",
  month =        jul,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290P (Differential equations); C4170 (Differential equations); C7310 (Mathematics computing)",
  corpsource =   "Wright-Patterson Air Force Base, OH, USA",
  keywords =     "boundary value; certification; differential equations; DIFSUB; ordinary differential equations; problems",
  treatment =    "P Practical",
}

@Article{Smith:1973:LPW,
  author =       "Michael H. Smith",
  title =        "A learning program which plays partnership dominoes",
  journal =      j-CACM,
  volume =       "16",
  number =       "8",
  pages =        "462--467",
  month =        aug,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A learning program has been written in BASIC to play four-player partnership dominoes. Because dominoes is a game of incomplete information, the program uses somewhat different principles of artificial intelligence from those used in programs for games of complete information, such as checkers, chess, and go. The program was constructed to use a ``strategy signature table'' which classifies board situations through the interactions of game parameters. Each entry in the table contains adaptively determined weights indicating the advisability of various strategies. Once chosen, a strategy then employs probability analysis and linear polynomial evaluation to choose a move. Our program wins approximately two-thirds of its games in tournament situations, and has defeated championship players.",
  acknowledgement = ack-nhfb,
  classcodes =   "C1230 (Artificial intelligence); C7890 (Other special applications of computing)",
  classification = "461; 912",
  corpsource =   "Univ. California, Berkeley, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "artificial intelligence; BASIC; game playing; games of skill; heuristic; intelligence; learning program; learning: heuristic procedures; partnership dominoes; problem; programming; solving; systems science and cybernetics",
  treatment =    "P Practical",
}

@Article{MacLennan:1973:FAB,
  author =       "B. J. MacLennan",
  title =        "{Fen} --- an Axiomatic Basis for Program Semantics",
  journal =      j-CACM,
  volume =       "16",
  number =       "8",
  pages =        "468--474",
  month =        aug,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A05 (02G99)",
  MRnumber =     "51 9561",
  mrreviewer =   "W. D. Maurer",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The notions of data item, function, and relation. It is argued that the system is more suitable than set theory (or its derivatives) for the concise and accurate description of program semantics. It is shown how the system can be used to build composite data types out of simper ones with the operations of rowing, structuring, and uniting. It is also demonstrated that completely new primitive types can be introduced into languages through the mechanism of singleton data types. Both deterministic and nondeterministic functions are shown to be definable in the system. \par It is described how the local environment can be modeled as a data item and how imperative statements can be considered functions on the environment. The nature of recursive functions is briefly discussed, and a technique is presented by which they can be introduced into the system. The technique is contrasted with the use of the paradoxical combinator, Y. The questions of local and global environments and of various modes of function calling and parameter passing are touched upon. The theory is applied to the proof of several elementary theorems concerning the semantics of the assignment, conditional, and iterative statements. An appendix is included which presents in detail the formal system governing webs and fen, the abstractions used informally in the body of the paper.",
  abstract2 =    "A formal system is presented which abstracts the notions of data item, function, and relation. It is shown how the system can be used to build composite data types out of simpler ones with the operations of rowing, structuring, and uniting. It is also demonstrated that completely new primitive types can be introduced into languages through the mechanism of singleton data types. Both deterministic and nondeterministic functions are shown to be definable in the system. It is described how the local environment can be modeled as a data item and how imperative statements can be considered functions on the environment. The nature of recursive functions is briefly discussed, and a technique is presented by which they can be introduced into the system.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic)",
  classification = "723",
  corpsource =   "Florida State Univ., Tallahassee, FL, USA",
  journalabr =   "Commun ACM",
  keywords =     "axioms; computer metatheory; correctness; data; data structures; data types; definition; description languages; extensible languages; fen; formal description; formal language; formal language definition; formal languages; formal systems; lambda-calculus; models of computation; modes; semantics; types",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Misunas:1973:PNS,
  author =       "David Misunas",
  title =        "Petri Nets and Speed Independent Design",
  journal =      j-CACM,
  volume =       "16",
  number =       "8",
  pages =        "474--482 (or 474--481??)",
  month =        aug,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/async.circuits.bib",
  abstract =     "Petri nets are investigated as one method of modeling speed independent asynchronous circuits. A study of circuit realization of Petri nets leads to a demonstration of their usefulness in modeling speed independent operation. This usefulness is emphasized by the design of a speed independent processor from modules developed in the investigation of Petri net implementation.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4230D (Sequential switching theory); C5210 (Logic design methods)",
  classification = "721; 723",
  corpsource =   "MIT, Cambridge, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "asynchronous circuits; asynchronous sequential logic; design; logic design; Petri nets; speed independent",
  treatment =    "T Theoretical or Mathematical",
}

@Article{MacHura:1973:AAR,
  author =       "M. MacHura and A. Mulawa",
  title =        "{ACM} Algorithm 450: {Rosenbrock} Function Minimization",
  journal =      j-CACM,
  volume =       "16",
  number =       "8",
  pages =        "482--483",
  month =        aug,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "See also \cite{Davies:1976:RRF}.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0260 (Optimisation techniques); C1180 (Optimisation techniques); C7310 (Mathematics computing)",
  corpsource =   "Inst. Automation and Measurements, Warsaw, Poland",
  keywords =     "direct search; FORTRAN; function minimization; minimisation; Rosenbrock; subroutine; subroutines; unconstrained problem",
  treatment =    "P Practical",
}

@Article{Goldstein:1973:AAC,
  author =       "R. B. Goldstein",
  title =        "{ACM} Algorithm 451: Chi-Square Quantiles",
  journal =      j-CACM,
  volume =       "16",
  number =       "8",
  pages =        "483--485",
  month =        aug,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7310 (Mathematics computing)",
  corpsource =   "Providence Coll., RI, USA",
  keywords =     "Chi square quantiles; probability; statistic; statistics; subroutines",
  treatment =    "P Practical",
}

@Article{Liu:1973:AAE,
  author =       "C. N. Liu and D. T. Tang",
  title =        "{ACM} Algorithm 452: Enumerating Combinations of $m$ Out of $n$ Objects",
  journal =      j-CACM,
  volume =       "16",
  number =       "8",
  pages =        "485--485",
  month =        aug,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7310 (Mathematics computing)",
  corpsource =   "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA",
  keywords =     "combinations; FORTRAN; NXCBN; permutations; statistics; subroutines",
  treatment =    "P Practical",
}

@Article{Piessens:1973:AAG,
  author =       "Robert Piessens",
  title =        "{ACM} Algorithm 453: {Gaussian} Quadrature Formulas for {Bromwich}'s Integral",
  journal =      j-CACM,
  volume =       "16",
  number =       "8",
  pages =        "486--487",
  month =        aug,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290M (Numerical integration and differentiation); C4160 (Numerical integration and differentiation); C7310 (Mathematics computing)",
  corpsource =   "Univ. Leuven, Heverlee, Belgium",
  keywords =     "BROMIN; Bromwich's integral; complex; FORTRAN; Gaussian quadrature formulas; integration; Laplace transform; Laplace transforms; numerical inversion; subroutines",
  treatment =    "P Practical",
}

@Article{Richardson:1973:AAC,
  author =       "J. A. Richardson and J. L. Kuester",
  title =        "{ACM} Algorithm 454: The Complex Method for Constrained Optimization",
  journal =      j-CACM,
  volume =       "16",
  number =       "8",
  pages =        "487--489",
  month =        aug,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0260 (Optimisation techniques); C1180 (Optimisation techniques); C7310 (Mathematics computing)",
  corpsource =   "Arizona State Univ., Tempe, AZ, USA",
  keywords =     "Box's algorithm; complex method; constrained optimization; FORTRAN; maximum; multivariable; nonlinear function; optimisation; subroutines",
  treatment =    "P Practical",
}

@Article{Andrejkova:1973:CGF,
  author =       "G. Andrejkova and J. Vinar",
  title =        "Complex gamma function",
  journal =      j-CACM,
  volume =       "16",
  number =       "8",
  pages =        "489--489",
  month =        aug,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7310 (Mathematics computing)",
  corpsource =   "Safarik Univ., Kosice, Czechoslovakia",
  keywords =     "algorithm; certification; comment; complex gamma function; functions",
  treatment =    "P Practical",
}

@Article{DeMorgan:1973:RAA,
  author =       "R. M. {De Morgan}",
  title =        "Remark on {``Algorithm 357 [A1]: An Efficient Prime Number Generator''}",
  journal =      j-CACM,
  volume =       "16",
  number =       "8",
  pages =        "489--489",
  month =        aug,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7310 (Mathematics computing)",
  corpsource =   "Digital Equipment Co. Ltd., Reading, UK",
  keywords =     "algorithm; mathematics; prime number generator",
  treatment =    "P Practical",
}

@Article{Watkins:1973:GP,
  author =       "R. P. Watkins",
  title =        "Graph plotter",
  journal =      j-CACM,
  volume =       "16",
  number =       "8",
  pages =        "489--490",
  month =        aug,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C5540 (Terminals and graphic displays); C6130 (Data handling techniques)",
  corpsource =   "Royal Melbourne Inst. Technol., Vic., Australia",
  keywords =     "algorithm; computer graphics; graph plotter; plotters",
  treatment =    "P Practical",
}

@Article{Byrne:1973:HMR,
  author =       "J. G. Byrne",
  title =        "{Hu-Tucker} minimum redundancy alphabetic coding method",
  journal =      j-CACM,
  volume =       "16",
  number =       "8",
  pages =        "490--490",
  month =        aug,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  corpsource =   "Trinity Coll., Dublin, Ireland",
  keywords =     "algorithm; alphabetic coding method; encoding; Hu; minimum redundancy; Tucker",
  treatment =    "P Practical",
}

@Article{Good:1973:CQ,
  author =       "A. J. Good",
  title =        "{Clenshaw-Curtis} quadrature",
  journal =      j-CACM,
  volume =       "16",
  number =       "8",
  pages =        "490--490",
  month =        aug,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290M (Numerical integration and differentiation); C4160 (Numerical integration and differentiation); C7310 (Mathematics computing)",
  corpsource =   "Systems, Sci. and Software, La Jolla, CA, USA",
  keywords =     "algorithm; Clenshaw Curtis quadrature; integration",
  treatment =    "P Practical",
}

@Article{Williams:1973:LRP,
  author =       "E. J. Williams",
  title =        "Localization of the roots of a polynomial",
  journal =      j-CACM,
  volume =       "16",
  number =       "8",
  pages =        "490--490",
  month =        aug,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290H (Linear algebra); C4140 (Linear algebra); C7310 (Mathematics computing)",
  corpsource =   "Ford Motor Co., Dearborn, MI, USA",
  keywords =     "algorithm; localization; polynomials; roots of a polynomial",
  treatment =    "P Practical",
}

@Article{Manna:1973:IMP,
  author =       "Zohar Manna and Stephen Ness and Jean Vuillemin",
  title =        "Inductive Methods for Proving Properties of Programs",
  journal =      j-CACM,
  volume =       "16",
  number =       "8",
  pages =        "491--502",
  month =        aug,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A05",
  MRnumber =     "51 2331",
  mrreviewer =   "W. D. Maurer",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/ml.bib",
  abstract =     "There are two main purposes in this paper: first, clarification and extension of known results about computation of recursive programs, with emphasis on the difference between the theoretical and practical approaches; second, presentation and examination of various known methods for proving properties of recursive programs. Discussed in detail are two powerful inductive methods, computational induction and structural induction, including examples of their application.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory)",
  classification = "723",
  corpsource =   "Stanford Univ., CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computability and decidability; computation induction; computer metatheory; inductive methods; least fixedpoint; programming theory; properties of programs; proving; recursive programs; structural induction",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Peterson:1973:CWR,
  author =       "W. W. Peterson and T. Kasami and N. Tokura",
  title =        "On the Capabilities of While, Repeat, and Exit Statements",
  journal =      j-CACM,
  volume =       "16",
  number =       "8",
  pages =        "503--512",
  month =        aug,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A05",
  MRnumber =     "51 4707",
  mrreviewer =   "J. E. L. Peck",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A well-formed program is defined as a program in which loops and if statements are properly nested and can be entered only at their beginning. A corresponding definition is given for a well-formed flowchart. It is shown that a program is well formed if and only if it can be written with if, repeat, and multi-level exit statements for sequence control. It is also shown that if, while, and repeat statements with single-level exit do not suffice. It is also shown that any flowchart can be converted to a well-formed flowchart by node splitting. Practical implications are discussed.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory)",
  classification = "723",
  corpsource =   "Univ. Hawaii, Honolulu, HI, USA",
  journalabr =   "Commun ACM",
  keywords =     "capabilities; computer metatheory; exit; exit statement; flowchart; go to statement; node splitting; programming theory; repeat statement; software reliability; statement; well formed program; well-formed program; while statement",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Foster:1973:GAT,
  author =       "Caxton C. Foster",
  title =        "A Generalization of {AVL} Trees",
  journal =      j-CACM,
  volume =       "16",
  number =       "8",
  pages =        "513--517",
  month =        aug,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "A generalization of AVL trees is proposed in which imbalances up to (triangle shape) is a small integer. An experiment is performed to compare these trees with standard AVL trees and with balanced trees on the basis of mean retrieval time, of amount of restructuring expected, and on the worst case of retrieval time. It is shown that, by permitting imbalances of up to five units, the retrieval time is increased a small amount while the amount of restructuring required is decreased by a factor of ten. \par A few theoretical results are derived, including the correction of an earlier paper, and are duly compared with the experimental data. Reasonably good correspondence is found.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic); C6120 (File organisation)",
  classification = "723; 901",
  corpsource =   "Univ. Massachusetts, Amherst, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "AVL trees; balanced trees; file organisation; generalisation; information retrieval systems; information storage and; information storage and retrieval; retrieval; trees (mathematical)",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Buzen:1973:CAC,
  author =       "Jeffrey P. Buzen",
  title =        "Computational Algorithms for Closed Queueing Networks with Exponential Servers",
  journal =      j-CACM,
  volume =       "16",
  number =       "9",
  pages =        "527--531",
  month =        sep,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A10",
  MRnumber =     "50 15423",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1973.bib",
  abstract =     "Methods are presented for computing the equilibrium distribution of customers in closed queueing networks with exponential servers. Expressions for various marginal distributions are also derived. The computational algorithms are based on two-dimensional iterative techniques which are highly efficient and quite simple to implement. Implementation considerations such as storage allocation strategies and order of evaluation are examined in some detail.",
  acknowledgement = ack-nhfb,
  annote =       "Methods are presented for computing the equilibrium distribution of customers in closed queueing networks with exponential servers. Expressions for various marginal distributions are also derived.",
  classcodes =   "B0240C (Queueing theory); C1140C (Queueing theory)",
  classification = "912; 922",
  corpsource =   "Harvard Univ., Cambridge, MA, USA",
  country =      "USA",
  date =         "14/12/79",
  descriptors =  "Exponential queueing network; number of elements in system; method;",
  enum =         "483",
  journalabr =   "Commun ACM",
  keywords =     "closed queueing networks; computational algorithms; distributions; equilibrium distributions; exponential servers; operations research; probability; queueing networks; queueing theory; steady state",
  language =     "English",
  references =   "6",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Ganapathy:1973:ITA,
  author =       "S. Ganapathy and V. Rajaraman",
  title =        "Information Theory Applied to the Conversion of Decision Tables to Computer Programs",
  journal =      j-CACM,
  volume =       "16",
  number =       "9",
  pages =        "532--539",
  month =        sep,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Theory/inductive.inference.bib",
  abstract =     "Using ideas from information theory, this paper develops a heuristic algorithm that converts a limited entry decision table to a tree structured computer program with near minimum average processing time. The method is applicable to any limited entry decision table and does not require that actions have single rules or that the cost of testing conditions be equal. It is thus more general than the previously published heuristic algorithms. Compared to the optimal algorithm of Reinwald and Soland, this algorithm is easy to code and takes a much smaller translation time; it is thus felt that it is more useful in practice. The algorithm is well suited for manual conversion of decision tables to flowcharts.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory)",
  classification = "723; 731; 922",
  corpsource =   "Indian Inst. Technol., New Delhi, India",
  journalabr =   "Commun ACM",
  keywords =     "computer; computer systems programming --- Decision Tables; conversion; decision tables; decision theory and analysis; information measure; information theory; optimum computer programs; programming theory; programs",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Cardenas:1973:ESF,
  author =       "Alfonso F. Cardenas",
  title =        "Evaluation and Selection of File Organization --- {A} Model and a System",
  journal =      j-CACM,
  volume =       "16",
  number =       "9",
  pages =        "540--548",
  month =        sep,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "This work first discusses the factors that affect file (data base) organization performance, an elusive subject, and then presents a methodology, a model and a programmed system to estimate primarily total storage costs and average access time of several file organizations, given a specific data base, query characterization and device-related specifications. Based on these estimates, an appropriate file structure may be selected for the specific situation. The system is a convenient tool to study file structures and to facilitate as much as possible the process of data base structure design and evaluation.",
  acknowledgement = ack-nhfb,
  annote =       "Tree, indexed, and ring files compared for six files and various retrieval requests.",
  classcodes =   "C6120 (File organisation)",
  classification = "723",
  corpsource =   "Univ. California, Los Angeles, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "access time; data base; data management; data processing; data structures; design; evaluation; file management; file organisation; file organization; file structures; model; selection; simulation; storage requirement",
  treatment =    "P Practical",
}

@Article{Casey:1973:DTS,
  author =       "R. G. Casey",
  title =        "Design of Tree Structures for Efficient Querying",
  journal =      j-CACM,
  volume =       "16",
  number =       "9",
  pages =        "549--556",
  month =        sep,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "This paper poses an optimization problem in the design of such trees to serve a well-specified application. The problem is academic in the sense that ordinarily the optimal tree cannot be implemented by means of practical techniques. On the other hand, it is potentially useful for the comparison it affords between observed performance and that of an intuitively attractive ideal search procedure. As a practical application of such a model this paper considers the design of a novel tree search scheme based on a bit vector representation of data and shows that essentially the same algorithm can be used to design either an ideal search tree or a bit-vector tree. An experimental study of a small formatted file illustrates the concepts.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C7250 (Information storage and retrieval)",
  classification = "723; 901",
  corpsource =   "IBM, San Jose, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "clustering; data; data structure; data structures; design; file organisation; information retrieval; information retrieval systems; information storage; information storage and; management; querying; retrieval; search; tree file; tree structures",
  treatment =    "P Practical",
}

@Article{Rodriguez-Rosell:1973:EWS,
  author =       "Juan Rodriguez-Rosell",
  title =        "Empirical Working Set Behavior",
  journal =      j-CACM,
  volume =       "16",
  number =       "9",
  pages =        "556--560",
  month =        sep,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The working set model for program behavior has been proposed in recent years as a basis for the design of scheduling and paging algorithms. Although the words ``working set'' are now commonly encountered in the literature dealing with resource allocation, there is a dearth of published data on program working set behavior. It is the purpose of this paper to present empirical data from actual program measurements, in the hope that workers in the field might find experimental evidence upon which to substantiate and base theoretical work.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C6150J (Operating systems)",
  classification = "723",
  corpsource =   "Royal Inst. Technol., Stockholm, Sweden",
  journalabr =   "Commun ACM",
  keywords =     "computer metatheory; measurement; operating systems (computers); paging; program behaviour; scheduling; software; software measurement; virtual memory; virtual storage; working set",
  treatment =    "P Practical",
}

@Article{Gates:1973:STS,
  author =       "Geoffrey W. Gates and David A. Poplawski",
  title =        "A simple technique for structured variable lookup",
  journal =      j-CACM,
  volume =       "16",
  number =       "9",
  pages =        "561--565",
  month =        sep,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A simple technique for the symbol-table lookup of structured variables based on simple automata theory is presented. The technique offers a deterministic solution to a problem which is currently handled in a nondeterministic manner in PL/I and COBOL compilers.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques); C6140D (High level languages)",
  classification = "723",
  corpsource =   "Michigan State Univ., East Lansing, MI, USA",
  journalabr =   "Commun ACM",
  keywords =     "automata theory; COBOL; computer programming languages; computer systems programming; deterministic; PL/1; PL/I; structured variable; table lookup",
  treatment =    "P Practical",
}

@Article{Zelkowitz:1973:RE,
  author =       "M. V. Zelkowitz",
  title =        "Reversible Execution",
  journal =      j-CACM,
  volume =       "16",
  number =       "9",
  pages =        "566--566",
  month =        sep,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Misc/debug.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140D (High level languages); C6150G (Diagnostic, testing, debugging and evaluating systems)",
  corpsource =   "Univ. Maryland, Baltimore, MD, USA",
  keywords =     "backtracking; computer program; debugging; PL/I; program debugging; programming language; programming languages; reversible execution",
  treatment =    "P Practical",
}

@Article{Barnhill:1973:SKC,
  author =       "Robert E. Barnhill and David T. Pilcher",
  title =        "{Sard} kernels for certain bivariate cubatures",
  journal =      j-CACM,
  volume =       "16",
  number =       "9",
  pages =        "567--571 (or 567--570??)",
  month =        sep,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65D30",
  MRnumber =     "52 2150",
  mrreviewer =   "P. Brock",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "An error analysis for some bivariate cubatures is given. The remainders are obtained by the use of Sard kernels. Numerical results and computer graphs are given for some of the kernel functions.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290B (Error analysis in numerical methods); B0290M (Numerical integration and differentiation); C4110 (Error analysis in numerical methods); C4160 (Numerical integration and differentiation)",
  classification = "921",
  corpsource =   "Univ. Utah, Salt Lake City, UT, USA",
  journalabr =   "Commun ACM",
  keywords =     "bivariate cubatures; cubatures; error analysis; integration; mathematical techniques; numerical integration; numerical methods; remainder formulas; Sard kernels",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Hunter:1973:AAA,
  author =       "D. B. Hunter and J. M. Williams",
  title =        "{ACM} Algorithm 455: Analysis of Skew Representations of the Symmetric Group",
  journal =      j-CACM,
  volume =       "16",
  number =       "9",
  pages =        "571--572",
  month =        sep,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7310 (Mathematics computing)",
  corpsource =   "Univ. Bradford, UK",
  keywords =     "ALGOL; analysis; binary model; group theory; lattice; outer product; permutation; skew representations; subroutines; symmetric group",
  treatment =    "P Practical",
}

@Article{Fencl:1973:AAR,
  author =       "Zden{\v{e}}k Fencl",
  title =        "{ACM} Algorithm 456: Routing Problem",
  journal =      j-CACM,
  volume =       "16",
  number =       "9",
  pages =        "572--574",
  month =        sep,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7310 (Mathematics computing)",
  corpsource =   "RCA, Marlborough, MA, USA",
  keywords =     "FORTRAN; graph theory; Hamiltonian circuit; optimisation; routing problem; shortest path; subroutines; travelling salesman problem",
  treatment =    "P Practical",
}

@Article{Bron:1973:AAF,
  author =       "Coen Bron and Joep Kerbosch",
  title =        "{ACM} Algorithm 457: Finding All Cliques of an Undirected Graph",
  journal =      j-CACM,
  volume =       "16",
  number =       "9",
  pages =        "575--577",
  month =        sep,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Theory/graph.coloring.bib and ftp://ftp.ira.uka.de/pub/bibliography/Theory/clique.color.bib",
  acknowledgement = ack-nhfb,
  annote =       "An implicit enumeration algorithm for listing all cliques in a graph. Includes easily translated code.",
  classcodes =   "C7310 (Mathematics computing)",
  corpsource =   "Technol. Univ., Eindhoven, Netherlands",
  keywords =     "ALGOL; backtracking algorithm; branch and bound technique; cliques; clusters; fgraph coloring related clique backtracking branch and bound; graph theory; maximal complete; recursion; subgraph; subroutines; undirected graph",
  treatment =    "P Practical",
}

@Article{Roy:1973:RAG,
  author =       "M. K. Roy",
  title =        "Remark on {``Algorithm 323 [G6]: Generation of Permutations in Lexicographic Order''}",
  journal =      j-CACM,
  volume =       "16",
  number =       "9",
  pages =        "577--578",
  month =        sep,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7310 (Mathematics computing)",
  corpsource =   "Jadavpur Univ., Calcutta, India",
  keywords =     "algorithm; generation; lexicographic order; permutations; statistics",
  treatment =    "P Practical",
}

@Article{Roy:1973:RGP,
  author =       "Mohit Kumar Roy",
  title =        "Remark on {``Algorithm 323 [G6]: Generation of Permutations in Lexicographic Order''}",
  journal =      j-CACM,
  volume =       "16",
  number =       "9",
  pages =        "577--578",
  month =        sep,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Sat Jan 18 14:55:49 1997",
}

@Article{Lawrence:1973:SMP,
  author =       "E. E. Lawrence",
  title =        "A sparse matrix package. {I}",
  journal =      j-CACM,
  volume =       "16",
  number =       "9",
  pages =        "578--578",
  month =        sep,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290H (Linear algebra); C4140 (Linear algebra); C7310 (Mathematics computing)",
  corpsource =   "Mullard Ltd., Mitcham, UK",
  keywords =     "algorithm; matrix algebra; sparse matrix package",
  treatment =    "P Practical",
}

@Article{Williamson:1973:HPP,
  author =       "H. Williamson",
  title =        "Hidden-line plotting program",
  journal =      j-CACM,
  volume =       "16",
  number =       "9",
  pages =        "578--579",
  month =        sep,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C5540 (Terminals and graphic displays); C6130 (Data handling techniques)",
  corpsource =   "Nat. Con-Serv. Inc., Austin, TX, USA",
  keywords =     "algorithm; computer graphics; data handling; hidden line plotting; program",
  treatment =    "P Practical",
}

@Article{Driessen:1973:LRP,
  author =       "H. B. Driessen and E. W. LeM. Hunt",
  title =        "Localization of the roots of a polynomial",
  journal =      j-CACM,
  volume =       "16",
  number =       "9",
  pages =        "579--579",
  month =        sep,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290H (Linear algebra); C4140 (Linear algebra); C7310 (Mathematics computing)",
  corpsource =   "Supreme Headquarters Allied Powers Europe, The Hague, Netherlands",
  keywords =     "algorithm; localization; polynomial; polynomials; roots",
  treatment =    "P Practical",
}

@Article{McGeachie:1973:MTU,
  author =       "John S. McGeachie",
  title =        "Multiple Terminals Under User Program Control in a Time-Sharing Environment",
  journal =      j-CACM,
  volume =       "16",
  number =       "10",
  pages =        "587--590",
  month =        oct,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "User-written programs on the Dartmouth Time-Sharing System can communicate with many remote terminals simultaneously and can control the interactions between these terminals. Such programs can be written using standard input and output instructions in any language available on the system. This paper describes how this multiple-terminal facility was implemented without requiring any changes in the system executive or in any of the system's compilers or interpreters.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150J (Operating systems)",
  classification = "722",
  corpsource =   "Dartmouth Coll., Hanover, NH, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer systems, digital; multiple terminals; on-line interaction; remote consoles; time sharing; time-sharing programs; user program control",
  treatment =    "P Practical",
}

@Article{Bobrow:1973:MSI,
  author =       "Daniel G. Bobrow and Ben Wegbreit",
  title =        "A Model and Stack Implementation of Multiple Environments",
  journal =      j-CACM,
  volume =       "16",
  number =       "10",
  pages =        "591--603",
  month =        oct,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/garbage.collection.bib",
  abstract =     "This paper presents an implementation technique using a single stack to hold procedure activation storage which allows retention of that storage for durations not necessarily tied to control flow. The technique has the property that, in the simple case, it runs identically to the usual automatic stack allocation and deallocation procedure. Applications of this technique to multitasking, coroutines, backtracking, label-valued variables, and functional arguments are discussed. In the initial model, a single real processor is assumed, and the implementation assumes multiple-processes coordinate by passing control explicitly to one another.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming); C6120 (File organisation)",
  classification = "723",
  corpsource =   "Xerox Palo Alto Res. Center, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer programming; control; coroutines; dendrarchy; dynamic; funarg problem; label-valued variables; model; multiple environments; multiprocessing programs; multiprocessor; multitasking; programming; retention; stack allocation; stack implementation; storage allocation; structures; systems",
  treatment =    "P Practical",
}

@Article{Lum:1973:GPA,
  author =       "Vincent Y. Lum",
  title =        "General Performance Analysis of Key-to-Address Transformation Methods Using an Abstract File Concept",
  journal =      j-CACM,
  volume =       "16",
  number =       "10",
  pages =        "603--612",
  month =        oct,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "This paper presents a new approach to the analysis of performance of the various key-to-address transformation methods. In this approach the keys in a file are assumed to have been selected from the key space according to a certain probabilistic selection algorithm. All files with the same number of keys selected from this key space will be suitably weighted in accordance with the algorithm, and the average performance of the transformation methods on these files will be used as the potential of these methods. Using this analysis, methods with the same overall performance can be classified and key distributions partial to certain transformations can be identified. All this can be done analytically. The approach is applied to a group of transformation methods using files whose keys are selected randomly.",
  acknowledgement = ack-nhfb,
  annote =       "analysis and results using distributions from the entire key domain.",
  classcodes =   "C6120 (File organisation)",
  classification = "723; 901",
  corpsource =   "IBM Res. Lab., San Jose, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "abstract file concept; access; direct addressing; file organisation; hashing; information retrieval systems; key to address transformation; performance analysis; random; scatter storage; storage management",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Lampson:1973:NCP,
  author =       "Butler W. Lampson",
  title =        "A Note on the Confinement Problem",
  journal =      j-CACM,
  volume =       "16",
  number =       "10",
  pages =        "613--615",
  month =        oct,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "This note explores the problem of confining a program during its execution so that it cannot transmit information to any other program except its caller. A set of examples attempts to stake out the boundaries of the problem. Necessary conditions for a solution are stated and informally justified.",
  acknowledgement = ack-nhfb,
  annote =       "Prevention of privacy leaks between programs.",
  classcodes =   "C6130 (Data handling techniques); C6150J (Operating systems)",
  classification = "723",
  corpsource =   "Xerox Palo Alto Res. Center, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer systems programming; confinement; leakage of data; operating systems (computers); privacy; proprietary program; protection; security; security of data",
  treatment =    "P Practical",
}

@Article{Hirschberg:1973:CDM,
  author =       "Daniel S. Hirschberg",
  title =        "A Class of Dynamic Memory Allocation Algorithms",
  journal =      j-CACM,
  volume =       "16",
  number =       "10",
  pages =        "615--618",
  month =        oct,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A new dynamic memory allocation algorithm, the Fibonacci system, is introduced. This algorithm is similar to, but seems to have certain advantages over, the ``buddy'' system. A generalization is mentioned which includes both of these systems as special cases.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723",
  corpsource =   "Princeton Univ., NJ, USA",
  journalabr =   "Commun ACM",
  keywords =     "buddy system; computer operating systems; dynamic memory allocation algorithms; dynamic storage allocation; Fibonacci; Fibonacci system; fragmentation; simulation; storage allocation",
  treatment =    "P Practical",
}

@Article{Prieve:1973:UPR,
  author =       "Barton G. Prieve",
  title =        "Using Page Residency to Select the Working Set Parameter",
  journal =      j-CACM,
  volume =       "16",
  number =       "10",
  pages =        "619--620",
  month =        oct,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Denning's method for selecting the working set parameter, which uses interreference intervals, is examined. Several omissions in his model are noted, and new assumptions are introduced to overcome these omissions. Using this modified model, Denning's results on page residency are rederived and reconsidered for selecting the working set parameter.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory); C6120 (File organisation)",
  classification = "723",
  corpsource =   "Bell Telephone Labs., Inc., Naperville, IL, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer operating systems; page residency; program behaviour; programming theory; virtual storage; working set parameter",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Millstein:1973:CSI,
  author =       "Robert E. Millstein",
  title =        "Control Structures in {Illiac IV Fortran}",
  journal =      j-CACM,
  volume =       "16",
  number =       "10",
  pages =        "621--627",
  month =        oct,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "As part of an effort to design and implement a Fortran compiler on the ILLIAC IV, an extended Fortran, called IVTRAN, has been developed. This language provides a means of expressing data and control structures suitable for exploiting ILLIAC IV parallelism. \par This paper reviews the hardware characteristics of the ILLIAC and singles out unconventional features which could be expected to influence language (and compiler) design. The implications of these features for data layout and algorithm structure are discussed, and the conclusion is drawn that data allocation rather than code structuring is the crucial ILLIAC optimization problem. A satisfactory method of data allocation is then presented. Language structures to utilize this storage method and express parallel algorithms are described.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140D (High level languages); C6150C (Compilers, interpreters and other processors)",
  classification = "723",
  corpsource =   "Massachusetts Computer Associates, Inc., Wakefield, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "array allocation; array processing; computer programming languages; control structures; explicit parallelism; FORTRAN; ILLIAC IV; ILLIAC IV Fortran; parallel control; parallel control structures; parallel processing; parallelism detection; procedure oriented languages; program compilers; structures",
  treatment =    "P Practical",
}

@Article{Robers:1973:AAD,
  author =       "P. D. Robers and S. S. Robers",
  title =        "{ACM} Algorithm 458: Discrete Linear ${L}_1$ Approximation by Interval Linear Programming",
  journal =      j-CACM,
  volume =       "16",
  number =       "10",
  pages =        "629--631",
  month =        oct,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0260 (Optimisation techniques); B0290F (Interpolation and function approximation); C1180 (Optimisation techniques); C4130 (Interpolation and function approximation); C7310 (Mathematics computing)",
  corpsource =   "Ernst and Ernst, Washington, DC, USA",
  keywords =     "discrete linear; FORTRAN; function approximation; interval linear programming; L/sub 1/ approximation; linear programming; suboptimisation method; subroutine; subroutines",
  treatment =    "P Practical",
}

@Article{Syslo:1973:AAE,
  author =       "M. M. Syslo",
  title =        "{ACM} Algorithm 459: The Elementary Circuits of a Graph",
  journal =      j-CACM,
  volume =       "16",
  number =       "10",
  pages =        "632--633",
  month =        oct,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7310 (Mathematics computing)",
  corpsource =   "Univ. Wroclaw, Poland",
  keywords =     "ALGOL; elementary circuits; graph; graph theory; path search algorithm; subroutines",
  treatment =    "P Practical",
}

@Article{Saylor:1973:AAC,
  author =       "Paul E. Saylor and James D. Sebastian",
  title =        "{ACM} Algorithm 460: Calculation of Optimum Parameters for Alternating Direction Implicit Procedures",
  journal =      j-CACM,
  volume =       "16",
  number =       "10",
  pages =        "633--635",
  month =        oct,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290P (Differential equations); C4170 (Differential equations); C7310 (Mathematics computing)",
  corpsource =   "Univ. Illinois, Urbana, IL, USA",
  keywords =     "alternating direction implicit; differential equations; elliptic difference; equations; FORTRAN; optimum parameters; procedures; simultaneous equations; subroutine; subroutines",
  treatment =    "P Practical",
}

@Article{Burkowski:1973:AAC,
  author =       "F. J. Burkowski and W. D. Hoskins",
  title =        "{ACM} Algorithm 461: Cubic Spline Solutions to a Class of Functional Differential Equations",
  journal =      j-CACM,
  volume =       "16",
  number =       "10",
  pages =        "635--637",
  month =        oct,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290F (Interpolation and function approximation); B0290P (Differential equations); C4130 (Interpolation and function approximation); C4170 (Differential equations); C7310 (Mathematics computing)",
  corpsource =   "Univ. Manitoba, Winnipeg, Man., Canada",
  keywords =     "(mathematics); boundary value problem; boundary-value problems; cubic spline solutions; differential equations; FORTRAN; functional differential equations; piecewise continuous approximation; splines; SPNBVF; subroutine; subroutines",
  treatment =    "P Practical",
}

@Article{Donnelly:1973:AAB,
  author =       "T. G. Donnelly",
  title =        "{ACM} Algorithm 462: Bivariate Normal Distribution",
  journal =      j-CACM,
  volume =       "16",
  number =       "10",
  pages =        "638--638",
  month =        oct,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7310 (Mathematics computing)",
  corpsource =   "Univ. North Carolina, Chapel Hill, NC, USA",
  keywords =     "bivariate normal distribution; FORTRAN; frequency distribution; statistics; subroutine; subroutines",
  treatment =    "P Practical",
}

@Article{Lewart:1973:AAA,
  author =       "C. R. Lewart",
  title =        "{ACM} Algorithm 463: Algorithms {SCALE}1, {SCALE}2, and {SCALE}3 for Determination of Scales on Computer Generated Plots",
  journal =      j-CACM,
  volume =       "16",
  number =       "10",
  pages =        "639--640",
  month =        oct,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C5540 (Terminals and graphic displays); C6130 (Data handling techniques)",
  corpsource =   "Bell Telephone Lab., Inc., Holmdel, NJ, USA",
  keywords =     "algorithms; computer generated plots; computer graphics; determination of; FORTRAN; SCALE 1; SCALE 2; SCALE 3; scales; subroutines",
  treatment =    "P Practical",
}

@Article{Bachman:1973:PN,
  author =       "Charles W. Bachman",
  title =        "The Programmer as Navigator",
  journal =      j-CACM,
  volume =       "16",
  number =       "11",
  pages =        "653--658",
  month =        nov,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib and ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib",
  note =         "1973 ACM Turing Award Lecture.",
  acknowledgement = ack-nhfb,
  annote =       "Turing award acceptance speech-general view of the state of database work from a DBTG originator.",
  classcodes =   "C6110 (Systems analysis and programming); C6120 (File organisation); C6130 (Data handling techniques)",
  corpsource =   "Honeywell Information Systems Inc., Waltham, MA, USA",
  keywords =     "access; addressing; data handling; database; file organisation; network hierarchical data model CACM; programmer; programming",
  treatment =    "G General Review",
}

@Article{Fabry:1973:DVO,
  author =       "R. S. Fabry",
  title =        "Dynamic Verification of Operating System Decisions",
  journal =      j-CACM,
  volume =       "16",
  number =       "11",
  pages =        "659--668",
  month =        nov,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Dynamic verification of a decision implies that every time the decision is made there is a consistency check performed on the decision using independent hardware and software. The dynamic verification of operating system decisions is used on the PRIME system being designed and constructed at the University of California, Berkeley. PRIME is an experimental time-sharing system which is to have the properties of continuous availability, data privacy, and cost effectiveness. The technique of dynamic verification allows the construction of an operating system which does not make certain decisions improperly even in the presence of a single hardware or software fault. Furthermore, multiple faults lead to unreliable operation only if the faults happen to reinforce each other. On PRIME, dynamic verification is used to ensure that one user's information cannot become available to another user gratuitously even in the presence of a single hardware or software fault.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150G (Diagnostic, testing, debugging and evaluating systems); C6150J (Operating systems)",
  classification = "722; 723",
  corpsource =   "Univ. California, Berkeley, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer operating systems; computer systems; computer systems, digital; data privacy; data security; dynamic verification; fault tolerance; modular; operating systems; operating systems (computers); program verification; reliability; security of data; software",
  treatment =    "P Practical; X Experimental",
}

@Article{Mickunas:1973:PSC,
  author =       "M. D. Mickunas and V. B. Schneider",
  title =        "Parser-Generating System for Constructing Compressed Compilers",
  journal =      j-CACM,
  volume =       "16",
  number =       "11",
  pages =        "669--676",
  month =        nov,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "This paper describes a parser-generating system (PGS) currently in use on the CDC-6500 computer at Purdue University. The PGS is a FORTRAN-coded program that accepts a translation grammar as input and constructs from it a compact, machine-coded compiler. In the input translation grammar, each BNF syntactic rule corresponds to a (possibly empty) ``code generator'' realizable as an assembly language, FORTRAN or Algol, subroutine that is called whenever that syntactic rule is applied in the parse of a program. Typical one-pass compilers constructed by the PGS translate source programs at speeds approaching 14,000 cards per minute. For an XPL compiler, the parser program and its tables currently occupy 288 words of 60-bit core memory of which 140 words are parsing table entries and 82 words are links to code generators.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic); C4220 (Automata theory); C6150C (Compilers, interpreters and other processors)",
  classification = "723",
  corpsource =   "Purdue Univ., Lafayette, IN, USA",
  journalabr =   "Commun ACM",
  keywords =     "BNF; compression algorithm; computer operating systems --- Program Compilers; computer programming languages; data compression; grammars; interpreters; parser generators; program; program compilers; pushdown automata; syntactic analysis; translation grammars; translator writing systems",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Jordan:1973:SCA,
  author =       "B. W. {Jordan, Jr.} and R. C. Barrett",
  title =        "Scan Conversion Algorithm with Reduced Storage Requirements",
  journal =      j-CACM,
  volume =       "16",
  number =       "11",
  pages =        "676--682",
  month =        nov,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The scan conversion algorithm that is described uses a linked list data structure to process the lines of the drawing in strips corresponding to groups of scan lines. A relatively small primary memory buffer area is used to accumulate the binary image for a group of scan lines. When this portion of the drawing has been plotted, the buffer is reused for the next portion. Because of the list processing procedures used, only a single pass through the XY display file is required when generating the binary image and only a slight increase in execution time over the fully buffered core results. Results show that storage requirements can be reduced by more than 80\% while causing less than a 10\% increase in execution time.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5540 (Terminals and graphic displays); C6130 (Data handling techniques)",
  classification = "723",
  corpsource =   "Northwestern Univ., Evanston, IL, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer graphics; data handling; discrete image; dot generation; line drawing; raster plotter; reduced storage requirements; scan conversion; scan conversion algorithm",
  treatment =    "P Practical",
}

@Article{Slagle:1973:EAT,
  author =       "James R. Slagle and Lewis M. Norton",
  title =        "Experiments with an Automatic Theorem-Prover Having Partial Ordering Inference Rules",
  journal =      j-CACM,
  volume =       "16",
  number =       "11",
  pages =        "682--688",
  month =        nov,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Ai/nonmono.bib",
  abstract =     "This paper presents a detailed description of the program and a comprehensive account of the experiments that have been performed with it.",
  acknowledgement = ack-nhfb,
  classcodes =   "C1230 (Artificial intelligence)",
  classification = "723",
  corpsource =   "Nat. Inst. Health, Bethesda, MD, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer programming; heuristics; inference rules; paramodulation; partial ordering; resolution; theorem proving",
  treatment =    "X Experimental",
}

@Article{Reinsch:1973:AAE,
  author =       "C. H. Reinsch",
  title =        "{ACM} Algorithm 464: Eigenvalues of a Real Symmetric Tridiagonal Matrix",
  journal =      j-CACM,
  volume =       "16",
  number =       "11",
  pages =        "689--689",
  month =        nov,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290H (Linear algebra); C4140 (Linear algebra); C7310 (Mathematics computing)",
  corpsource =   "Tech. Univ., M{\"u}nchen, West Germany",
  keywords =     "ALGOL; eigenvalues; eigenvalues and eigenfunctions; matrix; matrix algebra; QR; real; subroutines; symmetric; transformation; tridiagonal",
  treatment =    "P Practical",
}

@Article{Hill:1973:AAS,
  author =       "G. W. Hill",
  title =        "{ACM} Algorithm 465: {Student}'s $t$ Frequency",
  journal =      j-CACM,
  volume =       "16",
  number =       "11",
  pages =        "690--690",
  month =        nov,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7310 (Mathematics computing)",
  corpsource =   "CSIRO, Glen Osmond, SA, Australia",
  keywords =     "ALGOL; approximation; density function; series; statistics; student's t statistic; subroutine; subroutines",
  treatment =    "P Practical",
}

@Article{Ehrlich:1973:AAF,
  author =       "G. Ehrlich",
  title =        "{ACM} Algorithm 466: Four Combinatorial Algorithms",
  journal =      j-CACM,
  volume =       "16",
  number =       "11",
  pages =        "690--691",
  month =        nov,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7310 (Mathematics computing)",
  corpsource =   "Weizmann Inst. Sci., Rehovot, Israel",
  keywords =     "combinations; combinatorial algorithms; permutations; PL/1; statistics; subroutines",
  treatment =    "P Practical",
}

@Article{Brenner:1973:AAM,
  author =       "N. Brenner",
  title =        "{ACM} Algorithm 467: Matrix Transposition in Place",
  journal =      j-CACM,
  volume =       "16",
  number =       "11",
  pages =        "692--694",
  month =        nov,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "See also \cite{Leathers:1979:RAS}.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290H (Linear algebra); C4140 (Linear algebra); C7310 (Mathematics computing)",
  corpsource =   "MIT, Cambridge, MA, USA",
  keywords =     "in place; matrix algebra; matrix operations; number theory; permutations; primitive; rectangular matrix; roots; subroutines; transposition",
  treatment =    "P Practical",
}

@Article{Patterson:1973:AAA,
  author =       "T. N. L. Patterson",
  title =        "{ACM} Algorithm 468: Algorithm for Automatic Numerical Integration Over a Finite Interval",
  journal =      j-CACM,
  volume =       "16",
  number =       "11",
  pages =        "694--699",
  month =        nov,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290M (Numerical integration and differentiation); C4160 (Numerical integration and differentiation); C7310 (Mathematics computing)",
  keywords =     "finite interval; FORTRAN algorithm; integration; numerical; numerical integration; numerical methods; quadrature; subroutines",
  treatment =    "P Practical",
}

@Article{Lam:1973:AAA,
  author =       "C. Lam and J. McKay",
  title =        "{ACM} Algorithm 469: Arithmetic Over a Finite Field",
  journal =      j-CACM,
  volume =       "16",
  number =       "11",
  pages =        "699--699",
  month =        nov,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290H (Linear algebra); C4140 (Linear algebra); C5230 (Digital arithmetic methods); C7310 (Mathematics computing)",
  corpsource =   "Caltech Univ., Pasadena, CA, USA",
  keywords =     "algebra; ALGOL; arithmetic; digital arithmetic; finite field; linear algebra; rational operations; subroutines",
  treatment =    "P Practical",
}

@Article{Denning:1973:NSO,
  author =       "Peter J. Denning and G. Scott Graham",
  title =        "A Note on Subexpression Ordering in the Execution of Arithmetic Expressions",
  journal =      j-CACM,
  volume =       "16",
  number =       "11",
  pages =        "700--702",
  month =        nov,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A20",
  MRnumber =     "50 11844",
  mrreviewer =   "B. S. Baker",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  note =         "Erratum, ibid. 17, 1974, 455.",
  abstract =     "A counterexample to the supposed optimality of an algorithm for generating schedules for trees of tasks with unequal execution times is presented. A comparison with the ``critical path'' heuristic is discussed.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory); C5230 (Digital arithmetic methods); C6150J (Operating systems)",
  classification = "723",
  corpsource =   "Purdue Univ., Lafayette, IN, USA",
  journalabr =   "Commun ACM",
  keywords =     "arithmetic expressions; computer operating systems; digital arithmetic; execution; multiprocessing programs; multiprocessor scheduling; ordering; scheduling; subexpression; task; tree scheduling",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Feldman:1973:CBS,
  author =       "Jerome A. Feldman and James R. Low and R. P. Brent",
  title =        "Comment on {Brent}'s scatter storage algorithm (and author's reply)",
  journal =      j-CACM,
  volume =       "16",
  number =       "11",
  pages =        "703--703",
  month =        nov,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  corpsource =   "Stanford Univ., CA, USA",
  keywords =     "dynamic chaining; file organisation; hashing; Hashing; information storage and retrieval; scatter storage; scatter storage algorithm; searching; storage allocation; storage management; symbol table",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Wegner:1973:TP,
  author =       "E. Wegner",
  title =        "Tree-structured programs",
  journal =      j-CACM,
  volume =       "16",
  number =       "11",
  pages =        "704--705",
  month =        nov,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4290 (Other computer theory); C6110 (Systems analysis and programming)",
  corpsource =   "Tech. Univ., Berlin, West Germany",
  keywords =     "compilers; control structures; data structures; fixpoints; flowcharts; goto statements; graphs; inductive assertion; least; program documentation; program flow; programming; programming language design; proof of programs; semantics of programming languages; structured programming; tree structure",
  treatment =    "G General Review; P Practical",
}

@Article{Salzer:1973:RSC,
  author =       "Herbert E. Salzer",
  title =        "A recurrence scheme for converting from one orthogonal expansion into another",
  journal =      j-CACM,
  volume =       "16",
  number =       "11",
  pages =        "705--707",
  month =        nov,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65D05 (65Q05)",
  MRnumber =     "52 15956",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290H (Linear algebra); C4140 (Linear algebra)",
  keywords =     "Chebyshev; Clenshaw recurrence; Hamming recurrence; numerical methods; orthogonal expansions; polynomials; recurrence; schemes; series; series (mathematics); series interconversion",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Stenger:1973:AAS,
  author =       "F. Stenger",
  title =        "An algorithm for the approximate solution of {Wiener-Hopf} integral equations",
  journal =      j-CACM,
  volume =       "16",
  number =       "11",
  pages =        "708--710",
  month =        nov,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290R (Integral equations); C4180 (Integral equations)",
  corpsource =   "Univ. Utah, Salt Lake City, UT, USA",
  keywords =     "algorithm; approximate solution; convolution; Hopf; integral equations; numerical methods; Wiener",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Ehrlich:1973:SBE,
  author =       "L. W. Ehrlich",
  title =        "Solving the Biharmonic Equation in a Square: a Direct Versus a Semidirect Method",
  journal =      j-CACM,
  volume =       "16",
  number =       "11",
  pages =        "711--714",
  month =        nov,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Two methods for solving the biharmonic equation are compared. One method is direct, using eigenvalue-eigenvector decomposition. The other method is iterative, solving a Poisson equation directly at each iteration.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290P (Differential equations); C4170 (Differential equations)",
  classification = "723",
  corpsource =   "Johns Hopkins Univ., Baltimore, MD, USA",
  journalabr =   "Commun ACM",
  keywords =     "biharmonic; biharmonic equation; compared; computer systems programming; decomposition; difference; difference equations; eigenvalues and eigenfunctions; eigenvector; equations; iterative; iterative methods; numerical methods; partial differential; Poisson equation; square",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Couger:1973:CRU,
  author =       "J. Daniel Couger",
  title =        "Curriculum Recommendations for Undergraduate Programs in Information Systems",
  journal =      j-CACM,
  volume =       "16",
  number =       "12",
  pages =        "727--749",
  month =        dec,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  abstract =     "The need for education related to information systems in organizations is discussed, and a curriculum is proposed for an undergraduate program. Material necessary for such programs is identified, and courses incorporating it are specified.Detailed course descriptions are presented. Program organization and a problems of implementation are discussed.",
  acknowledgement = ack-nhfb,
  classcodes =   "C0220 (Computing education and training); C0310 (EDP management); C6110 (Systems analysis and programming); C7100 (Business and administration)",
  keywords =     "curriculum; education; information analysis; information systems; management information systems; management systems; recommendations; system design; systems analysis; undergraduate; undergraduate curricula",
  treatment =    "B Bibliography; P Practical",
}

@Article{Sibley:1973:DDM,
  author =       "Edgar H. Sibley and Robert W. Taylor",
  title =        "A Data Definition and Mapping Language",
  journal =      j-CACM,
  volume =       "16",
  number =       "12",
  pages =        "750--759",
  month =        dec,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  acknowledgement = ack-nhfb,
  annote =       "Overview of data translation",
  classcodes =   "C6120 (File organisation)",
  corpsource =   "Univ. Michigan, Ann Arbor, MI, USA",
  keywords =     "data base management; data definition language; data structures; data translation; file organisation; file translation; mapping language; storage allocation; storage structure; systems",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Kubicek:1973:AAL,
  author =       "M. Kubicek",
  title =        "{ACM} Algorithm 470: Linear Systems with Almost Tridiagonal Matrix",
  journal =      j-CACM,
  volume =       "16",
  number =       "12",
  pages =        "760--761",
  month =        dec,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290H (Linear algebra); C4140 (Linear algebra); C7310 (Mathematics computing)",
  corpsource =   "Tech. Univ., Praha, Czechoslovakia",
  keywords =     "almost tridiagonal matrix; FAKUB; FORTRAN; linear systems; matrix algebra; program; sparse matrix; subroutines",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Gautschi:1973:AAE,
  author =       "W. Gautschi",
  title =        "{ACM} Algorithm 471: Exponential Integrals",
  journal =      j-CACM,
  volume =       "16",
  number =       "12",
  pages =        "761--763",
  month =        dec,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290M (Numerical integration and differentiation); C4160 (Numerical integration and differentiation); C7310 (Mathematics computing)",
  corpsource =   "Purdue Univ., Lafayette, IN, USA",
  keywords =     "ALGOL; computation; continued fractions; exponential integrals; integration; recurrence relations; recursive; subroutine; subroutines",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Herriot:1973:AAP,
  author =       "J. G. Herriot and C. H. Reinsch",
  title =        "{ACM} Algorithm 472: Procedures for Natural Spline Interpolation",
  journal =      j-CACM,
  volume =       "16",
  number =       "12",
  pages =        "763--768",
  month =        dec,
  year =         "1973",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290F (Interpolation and function approximation); C4130 (Interpolation and function approximation); C7310 (Mathematics computing)",
  corpsource =   "Stanford Univ., CA, USA",
  keywords =     "approximation; cubic natural spline; interpolation; natural spline interpolation; procedures; splines (mathematics); subroutines",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Lyon:1974:SLA,
  author =       "G. Lyon",
  title =        "Syntax-directed least-errors analysis for context-free languages: a practical approach",
  journal =      j-CACM,
  volume =       "17",
  number =       "1",
  pages =        "3--14",
  month =        jan,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic)",
  corpsource =   "Nat. Bur. Stand., Washington, DC, USA",
  keywords =     "arbitrary input strings; context free grammars; context-free languages; dynamic programming; error analysis; least errors correction; merging; parsing; separability; state; stored subanalyses",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Malcolm:1974:FMS,
  author =       "Michael A. Malcolm and John Palmer",
  title =        "A Fast Method For Solving a Class of Tridiagonal Systems of Linear Equations",
  journal =      j-CACM,
  volume =       "17",
  number =       "1",
  pages =        "14--17",
  month =        jan,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65F05",
  MRnumber =     "48 10076",
  mrreviewer =   "D. B. Hunter",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Theory/Matrix.bib",
  abstract =     "The solution of linear systems having real, symmetric, diagonally dominant,tridiagonal coefficient matrices with constant diagonals is considered. It is proved that the diagonals of the LU decomposition converges when floating-point precision. It is also proved that the computed LU decomposition converges when floating-point arithmetic is used and that the limits of the LU diagonals using floating point are roughly within machine precision of the limits using real arithmetic. This fact is exploited to reduce the number of floating-point operations required to solve a linear system from $8n-7$ to $5n+2k-3$, where $k$ is much less than $n$, the order of the matrix. If the elements of the subdiagonals and superdiagonals are 1, then only $4n+2k-3$ operations are needed. The entire LU decomposition takes $k$ words of storage, and considerable savings in array subscripting are achieved. Upper and lower bounds on $k$ are obtained in terms of the ratio of the coefficient matrix diagonal constants and parameters of the floating-point number system. Various generalizations of these results are discussed.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290H (Linear algebra); C4140 (Linear algebra); C5230 (Digital arithmetic methods)",
  corpsource =   "Univ. Waterloo, Ont., Canada",
  keywords =     "digital arithmetic; fast method; floating point; linear systems; matrix algebra; numerical linear algebra; operations; real arithmetic; Toeplitz matrices; tridiagonal matrices",
  kwds =         "nla, linear system, tridiagonal matrix, fast algorithm",
  treatment =    "T Theoretical or Mathematical",
  xxtitle =      "A fast method for solving a class of tridiagonal linear systems",
}

@Article{Akima:1974:MBI,
  author =       "H. Akima",
  title =        "A method of bivariate interpolation and smooth surface fitting based on local procedures",
  journal =      j-CACM,
  volume =       "17",
  number =       "1",
  pages =        "18--20",
  month =        jan,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Graphics/siggraph/pre75.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290F (Interpolation and function approximation); C4130 (Interpolation and function approximation)",
  corpsource =   "US Dept. Commerce, Boulder, Colo., USA",
  keywords =     "bivariate interpolation; interpolation; local; partial derivative; polynomial; procedures; smooth surface fitting",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Gibbs:1974:TP,
  author =       "Norman E. Gibbs and William G. {Poole, Jr.}",
  title =        "Tridiagonalization by Permutations",
  journal =      j-CACM,
  volume =       "17",
  number =       "1",
  pages =        "20--24",
  month =        jan,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65F15",
  MRnumber =     "48 7567",
  mrreviewer =   "J. Hurt",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Theory/Matrix.bib",
  abstract =     "Tridiagonalizing a matrix by similarity transformations is an important computational tool in numerical linear algebra. Consider the class of sparse matrices which can be tridiagonalized using only row and corresponding column permutations. The advantages of using such a transformation include the absence of round-off errors and improved computation time when compared with standard transformations. \par A graph theoretic algorithm which examines an arbitrary $n \times n$ matrix and determines whether or not it can be permuted into tridiagonal form is given. The algorithm requires no arithmetic while the number of comparisons, the number of assignments, and the number of increments are linear in $n$. This compares very favorably with standard transformation methods. \par If the matrix is permutable into tridiagonal form, the algorithm gives the explicit tridiagonal form. Otherwise, early rejection will occur.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290H (Linear algebra); C4140 (Linear algebra)",
  corpsource =   "College William and Mary, Williamsburg, VA, USA",
  keywords =     "algorithm; bandwidth; eigenvalues; graph; matrix algebra; permutation; sparse matrix; tridiagonal matrix",
  kwds =         "nla, tridiagonal matrix, permutation matrix",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Piessens:1974:AAC,
  author =       "R. Piessens",
  title =        "{ACM} Algorithm 473: Computation of {Legendre} Series Coefficients",
  journal =      j-CACM,
  volume =       "17",
  number =       "1",
  pages =        "25--25",
  month =        jan,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290F (Interpolation and function approximation); C4130 (Interpolation and function approximation); C7310 (Mathematics computing)",
  corpsource =   "Univ. Leuven, Heverlee, Belgium",
  keywords =     "Chebyshev; Chebyshev approximation; coefficients; computation; FORTRAN; Legendre series; LEGSER; series; series (mathematics); subroutines",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Akima:1974:AAB,
  author =       "H. Akima",
  title =        "{ACM} Algorithm 474: Bivariate Interpolation and Smooth Surface Fitting Based on Local Procedures",
  journal =      j-CACM,
  volume =       "17",
  number =       "1",
  pages =        "26--31",
  month =        jan,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "See also \cite{Anderson:1979:RBI}.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290F (Interpolation and function approximation); C4130 (Interpolation and function approximation); C7310 (Mathematics computing)",
  corpsource =   "US Dept Commerce, Boulder, Colo., USA",
  keywords =     "bivariate interpolation; FORTRAN; interpolation; ITPLBV; local; partial derivative; polynomial; procedures; SFCFIT; smooth surface fitting; subroutines",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Sutherland:1974:RPC,
  author =       "Ivan E. Sutherland and Gary W. Hodgman",
  title =        "Reentrant Polygon Clipping",
  journal =      j-CACM,
  volume =       "17",
  number =       "1",
  pages =        "32--42",
  month =        jan,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C5540 (Terminals and graphic displays); C6130 (Data handling techniques)",
  corpsource =   "Evand and Sutherland Computer Corp., Salt Lake City, UT, USA",
  keywords =     "algorithms; computer; computer graphics; data handling; graphics; hidden line; perspective; perspective projection; pictures; planes; polygon clipping; reentrant polygon clipping; surface; three dimensions",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{King:1974:CAV,
  author =       "P. J. H. King and R. G. Johnson",
  title =        "Comments on the algorithms of {Verhelst} for the conversion of limited-entry decision tables to flowcharts (and author's reply)",
  journal =      j-CACM,
  volume =       "17",
  number =       "1",
  pages =        "43--45",
  month =        jan,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming)",
  corpsource =   "Birkbeck Coll., Univ. London, UK",
  keywords =     "algorithms; conversion; decision table; decision tables; flow charting; flowcharting; optimal programs; preprocessor; search",
  treatment =    "P Practical",
}

@Article{Knott:1974:NSC,
  author =       "Gary D. Knott",
  title =        "A Numbering System for Combinations",
  journal =      j-CACM,
  volume =       "17",
  number =       "1",
  pages =        "45--46",
  month =        jan,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming)",
  corpsource =   "Nat. Inst. Health, Bethesda, MD, USA",
  keywords =     "coding system; coding systems; combinations; combinatorics; numbering system; programming; programming techniques; storage mapping function; storage mapping functions",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Lucas:1974:CRG,
  author =       "H. C. {Lucas, Jr.}",
  title =        "A {CRT} report generating system",
  journal =      j-CACM,
  volume =       "17",
  number =       "1",
  pages =        "47--48",
  month =        jan,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming)",
  corpsource =   "Stanford Univ., CA, USA",
  keywords =     "automated systems design; data; management; processing; programming; report generation; report generators; systems analysis",
  treatment =    "P Practical",
}

@Article{Rothnie:1974:ABF,
  author =       "James B. {Rothnie, Jr.} and Tomas Lozano",
  title =        "Attribute Based File Organization in a Paged Memory Environment",
  journal =      j-CACM,
  volume =       "17",
  number =       "2",
  pages =        "63--69",
  month =        feb,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/database.bib",
  abstract =     "This article analyzes the high cost of page accessing and proposes a method called multiple key hashing which attempts to minimize it. since this approach is not always preferable to inversion, a combined method is described. The exact specifications of this combination for a file with given data and traffic characteristics are formulated as a mathematical program. The proposed heuristic solution to this program can often improve on a simple inversion technique by a factor of 2 or 3.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723",
  corpsource =   "MIT, Cambridge, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "attribute based file organization; cost; data organization; data processing; data storage, digital; file organisation; file organization; heuristic solution; inverted file; mathematical; mathematical programming; multikey retrieval; multiple key hashing; page accessing; paged memories; paged memory environment; paging; program; retrieval algorithm; virtual storage",
  treatment =    "A Application; E Economic; T Theoretical or Mathematical",
}

@Article{Jordan:1974:COR,
  author =       "B. W. {Jordan, Jr.} and R. C. Barrett",
  title =        "A cell organized raster display for line drawings",
  journal =      j-CACM,
  volume =       "17",
  number =       "2",
  pages =        "70--77",
  month =        feb,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Raster scan computer graphics displays with ``real time'' character generators have previously been limited to alphanumeric characters. A display is described which extends the capabilities of this organization to include general graphics. The feasibility of such a display is shown by deriving the minimum number of patterns required in the read only memory of the character generator to synthesize an arbitrary line. The synthesis process does not compromise picture quality, since the resulting dot patterns are identical with those of a conventional raster display. The time constraints of a raster display are shown to be satisfied for a typical design for very complex line drawings.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5540 (Terminals and graphic displays); C6130 (Data handling techniques)",
  classification = "722",
  corpsource =   "Northwestern Univ., Evanston, IL, USA",
  journalabr =   "Commun ACM",
  keywords =     "arbitrary line; cell organized raster display; complex line drawings; computer; computer graphic equipment; computer graphics; computer peripheral equipment; discrete; dot; dot generation; graphics displays; image; line drawing; line drawings; matrix displays; minimum; number of patterns; patterns; read only memory; real time character generators",
  treatment =    "P Practical",
}

@Article{Ramberg:1974:AMG,
  author =       "John S. Ramberg and Bruce W. Schmeiser",
  title =        "An Approximate Method for Generating Asymmetric Random Variables",
  journal =      j-CACM,
  volume =       "17",
  number =       "2",
  pages =        "78--82",
  month =        feb,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65C10",
  MRnumber =     "48 10043",
  mrreviewer =   "J. Spanier",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1974.bib",
  abstract =     "Tukey's lambda distribution is generalized to provide an algorithm for generating values of unimodal asymmetric random variables. This algorithm has the same advantages as the symmetric random variable generator previously given by the authors, except that the addition of another parameter complicates the problem of finding the parameter values to fit a distribution.",
  acknowledgement = ack-nhfb,
  classcodes =   "C7890 (Other special applications of computing)",
  classification = "723; 922",
  corpsource =   "Univ. Iowa, IA, USA",
  country =      "USA",
  descriptors =  "RNG; RVG;",
  enum =         "2505",
  journalabr =   "Commun ACM",
  keywords =     "approximate method; approximations; computer programming --- Subroutines; distribution; generating asymmetric random variables; mathematical statistics; moments; Monte Carlo; Monte Carlo methods; probability; random number generation; random numbers; random variables; simulation; statistics; Tukey's lambda distribution; unimodal asymmetric random; variables",
  language =     "English",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Lamport:1974:PED,
  author =       "Leslie Lamport",
  title =        "The Parallel Execution of {DO} Loops",
  journal =      j-CACM,
  volume =       "17",
  number =       "2",
  pages =        "83--93",
  month =        feb,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Methods are developed for the parallel execution of different iterations of a DO loop. Both asynchronous multiprocessor computers and array computers are considered. Practical application to the design of compilers for such computers is discussed.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming); C6150C (Compilers, interpreters and other processors)",
  classification = "722; 723",
  corpsource =   "Massachusetts Computer Associates Inc., Wakefield, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "array computers; asynchronous multiprocessor; computer operating systems --- Program Compilers; computer systems, digital; computers; computing; design of compilers; DO loops; loops; parallel; parallel execution; parallel processing; program compilers; programming; vector computers",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Ledgard:1974:PSC,
  author =       "Henry F. Ledgard",
  title =        "{Production Systems}: or can we do better than {BNF}?",
  journal =      j-CACM,
  volume =       "17",
  number =       "2",
  pages =        "94--102",
  month =        feb,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Since the development of BNF, the definition of the syntax of programming languages has been almost universally associated with context-free requirements. \par Yet numerous interesting and difficult issues in syntax stem from the context-sensitive requirements, notably the compatibility between the declaration of an identifier and its uses, the correspondence between actual and formal parameters, and issues arising from block structure. This paper explores the use of a formal notation called Production Systems in providing a readable and complete formal definition of syntax. As a practical illustration, a small but significant subset of PL/I is considered. A more detailed presentation, as well as the application to define abstract syntax and translations between languages, is given in a previous paper by the author.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic)",
  classification = "721; 723",
  corpsource =   "Univ. Massachusetts, Amherst, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "automata theory; BNF; compilers; computer programming languages; context sensitive grammars; context sensitive requirements; context-sensitive grammars; definition; definition of syntax; formal; formal definition; PL/I standards; Production Systems; readable and complete formal; syntax; syntax of programming languages; translation",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Wegbreit:1974:SLP,
  author =       "Ben Wegbreit",
  title =        "The Synthesis of Loop Predicates",
  journal =      j-CACM,
  volume =       "17",
  number =       "2",
  pages =        "102--112",
  month =        feb,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A05",
  MRnumber =     "49 8420",
  mrreviewer =   "Armin Cremers",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Current methods for mechanical program verification require a complete predicate specification on each loop. Because this is tedious and error prone, producing a program with complete, correct predicates is reasonably difficult and would be facilitated by machine assistance. This paper discusses techniques for mechanically synthesizing loop predicates. Two classes of techniques are considered: (1) heuristic methods which derive loop predicates from boundary conditions and/or partially specified inductive assertions: (2) extraction methods which use input predicates and appropriate weak interpretations to obtain certain classes of loop predicates by an evaluation on the weak interpretation.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory); C6150G (Diagnostic, testing, debugging and evaluating systems)",
  classification = "721; 723",
  corpsource =   "Harvard Univ., Cambridge, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "assertions; automata theory --- Theorem Proving; boundary conditions; computer operating systems; computer programming; extraction methods; heuristic methods; inductive; inductive assertions; input predicates; interpretations; loop predicates; mechanical program verification; program debugging; program verification; program verifiers; programming theory; property extraction; synthesis; synthesis of loop predicates; theorem proving; weak; weak interpretation; weak interpretations; well founded sets; well-founded sets",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Sreenivasan:1974:CRS,
  author =       "K. Sreenivasan and A. J. Kleinman",
  title =        "On the Construction of a Representative Synthetic Workload",
  journal =      j-CACM,
  volume =       "17",
  number =       "3",
  pages =        "127--133",
  month =        mar,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "A general method of constructing a drive workload representative of a real workload is described. The real workload is characterized by its demands on the various system resources. These characteristics of the real workload are obtained from the system accounting data. The characteristics of the drive workload are determined by matching the joint probability density of the real workload with that of the drive workload. The drive workload is realized by using a synthetic program in which the characteristics can be varied by varying the appropriate parameters. Calibration experiments are conducted to determine expressions relating the synthetic program parameters with the workload characteristics. The general method is applied to the case of two variables, cpu seconds and number of I/O activities; and a synthetic workload with 88 jobs is constructed to represent a month's workload consisting of about 6000 jobs.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150G (Diagnostic, testing, debugging and evaluating systems); C7430 (Computer engineering)",
  classification = "722",
  corpsource =   "MITRE Corp., Bedford, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "activities; calibration experiments; computer systems, digital; computer testing; construction; cpu seconds; data; drive; joint probability density; number of I/O; real workload; representative synthetic workload; simulation; synthetic program; synthetic workload; system accounting; system resources; workload",
  treatment =    "P Practical",
}

@Article{Balkovich:1974:DMR,
  author =       "E. Balkovich and W. Chiu and L. Presser and R. Wood",
  title =        "Dynamic Memory Repacking",
  journal =      j-CACM,
  volume =       "17",
  number =       "3",
  pages =        "133--138",
  month =        mar,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A probabilistic model of a multiprogramming system is exercised in order to determine the conditions under which the dynamic repacking of main memory is beneficial. An expression is derived for the maximum interference that a repacking process may introduce before the original performance of the system is degraded. Alternative approaches to repacking are discussed, and the operating conditions that lead to improved system throughput through repacking are delineated.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C6150J (Operating systems)",
  classification = "723",
  corpsource =   "Univ. California, Santa Barbara, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "central; computer systems programming; dynamic memory repacking; file organisation; fragmentation; maximum interference; multiprogramming; multiprogramming system; multiprogramming system model; probabilistic model; processor productivity; resource utilization; storage; storage fragmentation; system; throughput",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Morgan:1974:OSA,
  author =       "Howard Lee Morgan",
  title =        "Optimal Space Allocation on Disk Storage Devices",
  journal =      j-CACM,
  volume =       "17",
  number =       "3",
  pages =        "139--142",
  month =        mar,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "When the amount of space required for file storage exceeds the amount which can be kept online, decisions must be made as to which files are to be permanently resident and which mountable. These decisions will affect the number of mount requests issued to the operators. This is often a bottleneck in a computing facility, and reducing the number of mounts thus decreases turnaround time. An optimization model for the assignment of files to disk packs, and packs to either resident or nonresident status is presented. Heuristics are suggested for those cases in which it is inefficient to compute the actual optimum.",
  acknowledgement = ack-nhfb,
  annote =       "Optimization of file allocation to mountable diskpacks.",
  classcodes =   "C6120 (File organisation)",
  classification = "723",
  corpsource =   "California Inst. Technol., Pasadena, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "bottleneck; computer operating systems; computing facility; disc analysis; disc files; disc storage devices; file; file systems; Heuristics; magnetic disc storage; memory hierarchy; optimal space allocation; optimization model; scheduling; storage; storage allocation",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Loeser:1974:SPT,
  author =       "Rudolf Loeser",
  title =        "Some Performance Tests of ``Quicksort'' and Descendants",
  journal =      j-CACM,
  volume =       "17",
  number =       "3",
  pages =        "143--152",
  month =        mar,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib",
  abstract =     "Detailed performance evaluations are presented for six ACM algorithms: quicksort (No. 64), Shellsort (No. 201), stringsort (No. 207), ``TREESORTS3'' (No. 245), quickersort (No. 271), and qsort (No. 402). Algorithms 271 and 402 are refinements of algorithm 64, and all three are discussed in some detail. The evidence given here demonstrates that qsort (No. 402) requires many more comparisons that its author claims. Of all these algorithms, quickersort requires the fewest comparisons to sort random arrays.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques); C6150G (Diagnostic, testing, debugging and evaluating systems)",
  classification = "723",
  corpsource =   "Smithsonian Astrophys. Obs., Cambridge, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "'quicksort'; ACM; algorithms; computer programming; computer testing; general; performance evaluations; performance tests; purpose sort algorithm; qsort; quicksort; quicksort quickersort qsort CACM; random arrays; Shellsort; sorting; sorting algorithm documentation; sorting efficiency; sorting performance tests; string sort; TREESORT3; utility sort algorithm",
  treatment =    "P Practical",
}

@Article{Wright:1974:VSP,
  author =       "T. Wright",
  title =        "Visible surface plotting program",
  journal =      j-CACM,
  volume =       "17",
  number =       "3",
  pages =        "152--157 (or 152--155??)",
  month =        mar,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1972.bib",
  note =         "See also \cite{Duta:1976:RVS,Swieten:1979:RVS}.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5540 (Terminals and graphic displays); C6130 (Data handling techniques)",
  corpsource =   "Nat. Center Atmospheric Res., Boulder, CO, USA",
  country =      "USA",
  descriptors =  "FORTRAN; graphics; application; method; human factors; hidden line algorithm; contour surface",
  enum =         "3343",
  keywords =     "computer graphics; contour surface; hidden line problem; subroutines; visible surface plotting program",
  language =     "English",
  references =   "0",
  treatment =    "P Practical",
}

@Article{Bosten:1974:IBR,
  author =       "N. E. Bosten and E. L. Battiste",
  title =        "Incomplete beta ratio",
  journal =      j-CACM,
  volume =       "17",
  number =       "3",
  pages =        "156--157",
  month =        mar,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290F (Interpolation and function approximation); C4130 (Interpolation and function approximation); C7310 (Mathematics computing)",
  corpsource =   "IMSL, Houston, TX, USA",
  keywords =     "Algorithm 179; computer aided analysis; function approximation; incomplete beta ratio; subroutines",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Barrett:1974:SCA,
  author =       "R. C. Barrett and B. W. {Jordan, Jr.}",
  title =        "Scan Conversion Algorithms for a Cell Organized Raster Display",
  journal =      j-CACM,
  volume =       "17",
  number =       "3",
  pages =        "157--163",
  month =        mar,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Raster scan computer graphics with ``real time'' character generators have previously been limited to alphanumeric characters. A display has been described which extends the capabilities of this organization to include general graphics. Two fundamentally different scan conversion algorithms which have been developed to support this display are presented. One is most suitable to noninteractive applications and the other to interactive applications. The algorithms were implemented in Fortran on the CDC6400 computer. Results obtained from the implementations show that the noninteractive algorithms can significantly reduce display file storage requirements at little cost in execution time over that of a conventional raster display. The interactive algorithm improve response time and reduce storage requirements.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5540 (Terminals and graphic displays); C6130 (Data handling techniques)",
  classification = "723",
  corpsource =   "Hughes Aircraft Co., Culver City, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "'real time' character generators; cell organized raster display; computer graphics; computer programming --- Subroutines; data handling; general graphics; interactive applications; noninteractive applications; scan conversion algorithms",
  treatment =    "A Application; P Practical",
}

@Article{Ackerman:1974:QSH,
  author =       "A. Frank Ackerman",
  title =        "Quadratic Search for Hash Tables of Size $p^n$",
  journal =      j-CACM,
  volume =       "17",
  number =       "3",
  pages =        "164--164",
  month =        mar,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A05",
  MRnumber =     "48 10178",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C6130 (Data handling techniques)",
  keywords =     "file organisation; quadratic search for hash tables; table lookup",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Stone:1974:NCP,
  author =       "Harold S. Stone",
  title =        "A note on a combinatorial problem of {Burnett} and {Coffman}",
  journal =      j-CACM,
  volume =       "17",
  number =       "3",
  pages =        "165--166",
  month =        mar,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "05A05",
  MRnumber =     "48 10826",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0250 (Combinatorial mathematics); C1160 (Combinatorial mathematics); C6130 (Data handling techniques)",
  corpsource =   "Stanford Univ., CA, USA",
  keywords =     "combinatorial analysis; combinatorial mathematics; combinatorial problem; derangements; file organisation; interleaved memory systems; interleaving; mean; memories; memory bandwidth; rencontres",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Krogh:1974:EIV,
  author =       "Fred T. Krogh",
  title =        "Efficient Implementation of a Variable Projection Algorithm for Nonlinear Least Squares Problems",
  journal =      j-CACM,
  volume =       "17",
  number =       "3",
  pages =        "167--169",
  month =        mar,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65K05",
  MRnumber =     "49 1773",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Theory/Matrix.bib",
  note =         "See errata \cite{Krogh:1974:EEI}.",
  abstract =     "Nonlinear least squares problems frequently arise for which the variables to be solved for can be separated into a linear and a nonlinear part. A variable projection algorithm has been developed recently which is designed to take advantage of the structure of a problem whose variables separate in this way. This paper gives a slightly more efficient and slightly more general version of this algorithm than has appeared earlier.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290F (Interpolation and function approximation); C4130 (Interpolation and function approximation); C7310 (Mathematics computing)",
  classification = "723; 921",
  corpsource =   "California Inst. Technol., Pasadena, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer aided analysis; computer programming; least squares approximations; lsq; mathematical techniques --- Least Squares Approximations; nllsq; nlop; nlsq; nonlinear least squares; parameter estimation; problems; variable projection; variable projection algorithm; varpro",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Saltzer:1974:SLM,
  author =       "Jerome H. Saltzer",
  title =        "A Simple Linear Model of Demand Paging Performance",
  journal =      j-CACM,
  volume =       "17",
  number =       "4",
  pages =        "181--186",
  month =        apr,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/storage.bib and ftp://ftp.ira.uka.de/pub/bibliography/Misc/cache.bib",
  abstract =     "This paper proposes and analyzes a demand paged virtual memory computer system. The simple model combines the effect of the information reference pattern with the effect of the automatic management algorithm to produce a single, composite statement: the mean number of memory references between paging exceptions increases linearly with the size of the paging memory. The resulting model is easy to manipulate, and is applicable to such diverse problems as choosing an optimum size for a paging memory, arranging for reproducible memory usage charges, and estimating the amount of core memory sharing.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C6150J (Operating systems)",
  classification = "723",
  corpsource =   "MIT, Cambridge, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "automatic management algorithm; automatically managed multilevel memory system; computer metatheory; computer testing; core memory; demand paging performance; information; linear model; memory hierarchy; memory models; operating systems (computers); optimum; paging; performance; Performance Evaluation: Analytic; performance measurement; predicting the; program reference model; reference pattern; reproducible memory usage charges; sharing; size; storage; virtual; virtual memory",
  treatment =    "A Application; X Experimental",
}

@Article{Franklin:1974:CPF,
  author =       "M. A. Franklin and R. K. Gupta",
  title =        "Computation of Page Fault Probability from Program Transition Diagram",
  journal =      j-CACM,
  volume =       "17",
  number =       "4",
  pages =        "186--191",
  month =        apr,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "An algorithm is given for calculating page fault probability in a virtual memory system operating under demand paging with various memory sizes and replacement rules. A first order Markov model of program behavior is assumed, and a representation of the system based on memory states, control states, and memory substates is presented. The algorithm is general in the sense that the page fault probabilities can be calculated for nonpredictive replacement rules applied to any program represented by a one-step Markov chain. A detailed example is given to illustrate the algorithm for Random and Least Recently Used (LRU) replacement rules.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C7430 (Computer engineering)",
  classification = "723",
  corpsource =   "Washington Univ., St. Louis, MO, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer metatheory; computer testing; control states; demand paging; fault tolerant computing; Markov model; memory; memory states; memory substates; nonpredictive replacement rules; page fault probability; program transition diagram; various memory sizes; virtual; virtual storage",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Boyse:1974:ECP,
  author =       "John W. Boyse",
  title =        "Execution Characteristics of Programs in a Page-On-Demand System",
  journal =      j-CACM,
  volume =       "17",
  number =       "4",
  pages =        "192--196",
  month =        apr,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Data are presented which show the execution characteristics of two types of commonly used programs in a large-scale, time-shared computer system. A software monitoring facility built into the supervisor was used for data collection during normal system operation. These data were analyzed, and results of this analysis are presented for a FORTRAN compiler and an interactive line file editor. Probability distribution functions and other data are given for such things as CPU intervals, I/O intervals, and the number of such intervals during execution. Empirical distributions are compared with simple theoretical distributions (exponential, hyperexponential, and geometric). Other data show paging characteristics of tasks as a function of the number of pages those tasks have in core.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C6150C (Compilers, interpreters and other processors); C6150G (Diagnostic, testing, debugging and evaluating systems); C6150J (Operating systems)",
  classification = "723",
  corpsource =   "Univ. Michigan, Ann Arbor, MI, USA",
  journalabr =   "Commun ACM",
  keywords =     "characteristics; compiler execution behaviour; computer metatheory; computer testing; CPU intervals; demand paging; editor; execution behaviour; Fortran compiler; I/O intervals; interactive line file; large scale, time shared computer system; monitoring facility; page on demand system; paging characteristics; probability distribution functions; program behaviour; program execution; software; supervisory and executive programs; virtual memory; virtual storage",
  treatment =    "A Application; P Practical",
}

@Article{Smith:1974:LCE,
  author =       "Graham Smith and Ian M. Sefton",
  title =        "On {Lions}' Counter Example for {Gotlieb}'s Method for the Construction of School Timetables",
  journal =      j-CACM,
  volume =       "17",
  number =       "4",
  pages =        "196--197",
  month =        apr,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The timetable problem is an essentially discrete problem. Although the discrete problem may have no feasible solution, there may exist a solution to the equivalent continuous problem. An example is given, for which the nondiscrete solution can be interpreted as a set of timetables, differing from week to week, which together satisfy the long-term requirements of the timetable problem.",
  acknowledgement = ack-nhfb,
  classcodes =   "C7110 (Educational administration); C7890 (Other special applications of computing)",
  classification = "921",
  corpsource =   "Univ. New South Wales, Kensington, NSW, Australia",
  journalabr =   "Commun ACM",
  keywords =     "combinatorial; combinatorial mathematics; discrete problem; educational administrative data; Gotlieb's method; mathematical programming; multiindex problem; processing; schedule; scheduling; school timetables; timetable",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Lindstrom:1974:CLS,
  author =       "Gary Lindstrom",
  title =        "Copying List Structures Using Bounded Workspace",
  journal =      j-CACM,
  volume =       "17",
  number =       "4",
  pages =        "198--202",
  month =        apr,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/garbage.collection.bib",
  abstract =     "Two new algorithms are presented for list structure copying using bounded workspace. The first, of primarily theoretical interest, shows that without cell tag bits the task can be performed in time n**2. The second algorithm, assuming one tag bit in each cell, delivers attractive practical speed. Any noncyclic structure is copied in linear speed, while cyclic structures are copied in average time less than n log n. No foreknowledge of cycle absence is necessary to achieve linear speed. A variation of the second algorithm solves an open problem concerning list structure marking. That result demonstrates that marking can be done in average time n log n without the aid of supplemental tag bits or stacks.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C6130 (Data handling techniques)",
  classification = "723",
  corpsource =   "Univ. Pittsburgh, PA, USA",
  journalabr =   "Commun ACM",
  keywords =     "algorithms; bounded workspace; complexity; computer programming; copying list structures; cyclic; data structures; list; list processing; list structure marking; noncyclic structure; one tag bit; space; structure copying; structures",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Even:1974:PTS,
  author =       "Shimon Even",
  title =        "Parallelism in Tape-Sorting",
  journal =      j-CACM,
  volume =       "17",
  number =       "4",
  pages =        "202--204",
  month =        apr,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Parallel/Multi.bib",
  abstract =     "Two methods for employing parallelism in tape-sorting are presented. Method A is the natural way to use parallelism. Method B is new. Both approximately achieve the goal of reducing the processing time by a divisor which is the number of processors.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  classification = "723",
  corpsource =   "Weizmann Inst. Sci., Rehovot, Israel",
  journalabr =   "Commun ACM",
  keywords =     "computer systems programming",
  keywords =     "external sorting; parallel processing; parallelism; queues; reducing the processing time; sorting; stacks; tape sorting",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Lucas:1974:SCU,
  author =       "H. C. {Lucas, Jr.} and D. B. Montgomery and J. C. Larreche",
  title =        "A study of computer use in a graduate school of business",
  journal =      j-CACM,
  volume =       "17",
  number =       "4",
  pages =        "205--206",
  month =        apr,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C0220 (Computing education and training); C7100 (Business and administration)",
  corpsource =   "Stanford Univ., CA, USA",
  keywords =     "accounting records; commerce; computer aided instruction; computer use; cumulative; curriculum; education; general problem solving tool; graduate school of business; process model; questionnaires; research",
  treatment =    "G General Review",
}

@Article{Freeman:1974:GEP,
  author =       "Peter Freeman and Michael A. Malcolm and William H. Payne",
  title =        "Graduate Education: The {Ph.D.} Glut: Response and Rebuttal",
  journal =      j-CACM,
  volume =       "17",
  number =       "4",
  pages =        "206--207",
  month =        apr,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "See \cite{Payne:1973:GEP}.",
  acknowledgement = ack-nhfb,
  classcodes =   "C0310 (EDP management)",
  corpsource =   "Univ. California, Irvine, CA, USA",
  keywords =     "accreditation; advanced degrees; education; graduate education; Ph.D.; Ph.D. production; response and rebutted; what kind",
  treatment =    "G General Review",
}

@Article{Sterling:1974:ITM,
  author =       "T. D. Sterling and S. V. Pollack",
  title =        "Ideal teaching machines --- a solution to the pedagogic language problem",
  journal =      j-CACM,
  volume =       "17",
  number =       "4",
  pages =        "207--208",
  month =        apr,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C0220 (Computing education and training); C6140D (High level languages)",
  corpsource =   "Simon Fraser Univ., Burnaby, BC, Canada",
  keywords =     "computer; education; ideal teaching machine; pedagogic language problem; problem oriented languages; simulated; teaching machines",
  treatment =    "A Application; G General Review; P Practical",
}

@Article{Abrahams:1974:SRL,
  author =       "P. W. Abrahams",
  title =        "Some remarks on lookup of structured variables",
  journal =      j-CACM,
  volume =       "17",
  number =       "4",
  pages =        "209--210",
  month =        apr,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C6130 (Data handling techniques)",
  corpsource =   "New York Univ., NY, USA",
  keywords =     "compilers; data structures; deterministic; finite state machine; lookup of structured variables; qualified references; sequence of identifiers; structured; symbol table; table lookup; variables",
  treatment =    "G General Review; P Practical",
}

@Article{Balfour:1974:AAM,
  author =       "A. Balfour",
  title =        "An alternative approach to mutual recursion {in Algol} 60 using restricted compilers",
  journal =      j-CACM,
  volume =       "17",
  number =       "4",
  pages =        "210--210",
  month =        apr,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140D (High level languages); C6150C (Compilers, interpreters and other processors)",
  corpsource =   "Heriot-Watt Univ., Edinburgh, UK",
  keywords =     "ALGOL; Algol 60; compiler; mutual recursion; program compilers; restricted compilers; restrictions",
  treatment =    "P Practical",
}

@Article{Lee:1974:IPS,
  author =       "R. C. T. Lee and C. L. Chang and R. J. Waldinger",
  title =        "An Improved Program-Synthesizing Algorithm and its Correctness",
  journal =      j-CACM,
  volume =       "17",
  number =       "4",
  pages =        "211--217",
  month =        apr,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A05 (68A40)",
  MRnumber =     "49 10175",
  mrreviewer =   "S. Amarel",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "An improved program-synthesizing algorithm based on the algorithm proposed by Waldinger and Lee in 1969 is given. In the old algorithm, the program-synthesizing problem is translated into a theorem-proving problem, and a program is obtained by analyzing a proof. \par For the improved algorithm, the analysis is not necessary, and a program is obtained as soon as the proof is completed. This is achieved by using a modified variable tracing mechanism invented by Green in 1969. The correctness of the improved algorithm is also proved; i.e. the program thus obtained always satisfies the specification.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory)",
  classification = "723",
  corpsource =   "Nat. Inst. Health, Bethesda, MD, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer metatheory; consequence finding; primitive resolutions; program-synthesizing algorithms; theorem proving",
  keywords =     "consequence; correctness; finding; modified variable tracing mechanism; primitive resolutions; problem; program synthesizing algorithm; programming theory; theorem proving",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Cline:1974:SPV,
  author =       "A. K. Cline",
  title =        "Scalar- and planar-valued curve fitting using splines under tension. {I}",
  journal =      j-CACM,
  volume =       "17",
  number =       "4",
  pages =        "218--220",
  month =        apr,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65D05",
  MRnumber =     "49 8274",
  mrreviewer =   "J. W. Jerome",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1974.bib; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/siggraph/pre75.bib",
  abstract =     "The spline under tension was introduced by Schweikert in an attempt to imitate cubic splines but avoid the spurious critical points they induce. The defining equations are presented here, together with an efficient method for determining the necessary parameters and computing the resultant spline. The standard scalar-valued curve fitting problem is discussed, as well as the fitting of open and closed curves in the plane. The use of these curves and the importance of the tension in the fitting of contour lines are mentioned as application.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290F (Interpolation and function approximation); C4130 (Interpolation and function approximation)",
  classification = "921",
  corpsource =   "Nat. Center Atmospheric Res., Boulder, CO, USA",
  country =      "USA",
  descriptors =  "Realization; polynomial; approximation; method; interpolation; FORTRAN; graphics; iterative method; information system; spline; curve fitting;",
  enum =         "597",
  journalabr =   "Commun ACM",
  keywords =     "contouring; cubic splines; curve fitting; curves in the plane; fitting; function approximation; interpolation; scalar valued curve; splines (mathematics); splines under tension",
  keywords =     "contouring; curve fitting; interpolation; mathematical techniques; splines",
  language =     "English",
  references =   "3",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Cline:1974:AAS,
  author =       "A. K. Cline",
  title =        "{ACM} Algorithm 476: Six Subprograms for Curve Fitting Using Splines Under Tension",
  journal =      j-CACM,
  volume =       "17",
  number =       "4",
  pages =        "220--223 (or 220--221??)",
  month =        apr,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290F (Interpolation and function approximation); C4130 (Interpolation and function approximation); C7310 (Mathematics computing)",
  corpsource =   "Nat. Center Atmospheric Res., Boulder, CO, USA",
  keywords =     "contouring; curve fitting; FORTRAN; function approximation; interpolation; splines (mathematics); splines under tension; subprograms; subroutines",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Ehrlich:1974:AAG,
  author =       "G. Ehrlich",
  title =        "{ACM} Algorithm 477: Generator of Set-Partitions to Exactly ${R}$ Subsets",
  journal =      j-CACM,
  volume =       "17",
  number =       "4",
  pages =        "224--225",
  month =        apr,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0250 (Combinatorial mathematics); C1160 (Combinatorial mathematics); C7310 (Mathematics computing)",
  corpsource =   "Weizmann Inst. Sci., Rehovot, Israel",
  keywords =     "mutually exclusive subsets; PARTEXACT; partitions; permutations; set theory; subroutines; subset generation; subsets",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Einarsson:1974:STE,
  author =       "B. Einarsson",
  title =        "Solution of the transcendental equation we\slash sup w\slash =x",
  journal =      j-CACM,
  volume =       "17",
  number =       "4",
  pages =        "225--225",
  month =        apr,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290F (Interpolation and function approximation); C4130 (Interpolation and function approximation); C7310 (Mathematics computing)",
  corpsource =   "Res. Inst. Nat. Defense, Tumba, Sweden",
  keywords =     "function evaluation; subroutines; transcendental equation; violation of the Fortran standard",
  treatment =    "G General Review; T Theoretical or Mathematical",
}

@Article{Shaw:1974:RCC,
  author =       "Mary Shaw",
  title =        "Reduction of Compilation Costs Through Language Contraction",
  journal =      j-CACM,
  volume =       "17",
  number =       "5",
  pages =        "245--250",
  month =        may,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Programming languages tailored to particular groups of users can often be constructed by removing unwanted features from a general purpose language. This paper describes the use of simulation techniques to predict the savings in compilation cost achievable by such an approach. The results suggest a function which describes the effect of changes in the power of a language on the compilation cost of an algorithm expressed in that language: when features not actually used by the algorithm are removed from the language, the cost of compiling the algorithm decreases moderately, but when features that are needed are removed, the compilation cost increases sharply.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140 (Programming languages); C6150C (Compilers, interpreters and other processors)",
  classification = "723",
  corpsource =   "Carnegie-Mellon Univ., Pittsburgh, PA, USA",
  journalabr =   "Commun ACM",
  keywords =     "compilation costs; compiler design; computational complexity; computer programming languages; design of programming languages; general purpose language; language contraction; languages; programming; programming languages; simulation techniques",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Wegbreit:1974:TDT,
  author =       "Ben Wegbreit",
  title =        "The treatment of data types in {EL1}",
  journal =      j-CACM,
  volume =       "17",
  number =       "5",
  pages =        "251--264",
  month =        may,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "In constructing a general purpose programming language, a key issue is providing a sufficient set of data types and associated operations in a manner that permits both natural problem-oriented notation and efficient implementation. The EL1 language contains a number of features specifically designed to simultaneously satisfy both requirements. The resulting treatment of data types includes provision for programmer-defined data types and generic routines, programmer control over type conversion, and very flexible data type behavior, in a context that allows efficient compiled code and compact data representation.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques); C6140D (High level languages)",
  classification = "723",
  corpsource =   "Harvard Univ., Cambridge, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "behaviour; coercion; compilation; computer programming languages; data description language; data handling; data type definition; data types; efficient implementation; EL1; extensible; flexible data type; general purpose programming language; generic routines; language; languages; mode unions; modes; problem oriented notation; procedure oriented languages; programmer control; programmer defined data types; type conversion",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Wagner:1974:OCR,
  author =       "Robert A. Wagner",
  title =        "Order-$n$ Correction for Regular Languages",
  journal =      j-CACM,
  volume =       "17",
  number =       "5",
  pages =        "265--268",
  month =        may,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A method is presented for calculating a string B, belonging to a given regular language L, which is ``nearest'' (in number of edit operations) to a given input string $a$. $B$ is viewed as a reasonable ``correction'' for the possibly erroneous string $a$, where a was originally intended to be a string of $L$. \par The calculation of $B$ by the method presented requires time proportional to $|a|$, the number of characters in $a$. The method should find applications in information retrieval, artificial intelligence, and spelling correction systems.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic); C6130 (Data handling techniques)",
  classification = "723",
  corpsource =   "Vanderbilt Univ., Nashville, TN, USA",
  journalabr =   "Commun ACM",
  keywords =     "artificial intelligence; compiler error recovery; computer programming languages; context free languages; context-free languages; correction; corrector; edit operations; error correction; error correction codes; errors; finite state automata; information; nondeterministic finite state automata; nondeterministic finite-state automata; order $n$ correction; regular events; regular languages; retrieval; spelling correction; string best match problem",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Tsao:1974:DSD,
  author =       "Nai Kuan Tsao",
  title =        "On the Distributions of Significant Digits and Roundoff Errors",
  journal =      j-CACM,
  volume =       "17",
  number =       "5",
  pages =        "269--271",
  month =        may,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65G05",
  MRnumber =     "49 6595",
  mrreviewer =   "N. N. Abdelmalek",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; garbo.uwasa.fi:/pc/doc-soft/fpbiblio.txt",
  abstract =     "Generalized logarithmic law is derived for the distribution of the first t significant digits of a random digital integer. This result is then used to determine the distribution of the roundoff errors in floating-point operations, which is a mixture of uniform and reciprocal distributions.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5230 (Digital arithmetic methods)",
  classification = "921",
  corpsource =   "Aerospace Res. Labs., Wright-Patterson AFB, OH, USA",
  journalabr =   "Commun ACM",
  keywords =     "digital arithmetic; digital integer; distributions; error analysis; floating point operations; logarithmic law; mathematical techniques; mean value; random; reciprocal; roundoff errors; significant digits; uniform distribution; variance",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Wunderlich:1974:DNT,
  author =       "M. C. Wunderlich and J. L. Selfridge",
  title =        "Design for a Number Theory Package with an Optimized Trial Division Routine",
  journal =      j-CACM,
  volume =       "17",
  number =       "5",
  pages =        "272--276",
  month =        may,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A number theory package is described which uses doubly linked list structures for storing multiprecise integers. The package has been coded in IBM's Basic Assembly Language and makes heavy use of the macro language and conditional assembly. An optimally coded trial division routine is also described which can be used to determine the unique factorization of large integers.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5230 (Digital arithmetic methods)",
  classification = "921",
  corpsource =   "Northern Illinois Univ., Dekalb, IL, USA",
  journalabr =   "Commun ACM",
  keywords =     "arithmetic; Basic; conditional assembly; design; doubly linked list structures; doubly linked lists; factorization; integers; macro language; mathematical techniques; multiprecise; number theory; number theory package; optimally coded; optimized trial division; pseudoprime; routine; trial division; utility programs",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Gentleman:1974:MAR,
  author =       "W. M. Gentleman and S. B. Marovich",
  title =        "More on Algorithms that Reveal Properties of Floating Point Arithmetic Units",
  journal =      j-CACM,
  volume =       "17",
  number =       "5",
  pages =        "276--277",
  month =        may,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "garbo.uwasa.fi:/pc/doc-soft/fpbiblio.txt",
  acknowledgement = ack-nhfb,
  classcodes =   "C5230 (Digital arithmetic methods)",
  corpsource =   "Univ. Waterloo, Ont., Canada",
  keywords =     "algorithms; base of the arithmetic; digital arithmetic; floating point arithmetic units; high level; languages; trailing digits",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Gold:1974:MMR,
  author =       "D. E. Gold and D. J. Kuck",
  title =        "A Model for Masking Rotational Latency by Dynamic Disk Allocation",
  journal =      j-CACM,
  volume =       "17",
  number =       "5",
  pages =        "278--288",
  month =        may,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "This paper presents the background and algorithms for masking the rotational latency of a disk or drum. It discusses the anticipatory input and output of blocks of data to buffer and primary memories for a mono-programmed computer system. A basic permutation algorithm and several variations are given. Because of the anticipatory nature of the I/O scheduling, these algorithms are restricted to classes of programs with predictable behavior. While the methods are not restricted to numerical computations, matrix and partial differential equation methods are typical examples of their use. It is shown tha latency may be masked using a small amount of buffer memory. The methods discussed are independent of the overall size of the data base being considered.",
  acknowledgement = ack-nhfb,
  annote =       "Optimal arrangement of data to minimize buffer needs.",
  classcodes =   "C6120 (File organisation); C6150J (Operating systems)",
  classification = "722; 723",
  corpsource =   "Univ. Illinois, Urbana-Champaign, IL, USA",
  journalabr =   "Commun ACM",
  keywords =     "(computers); algorithm; anticipatory input; anticipatory output; behaviour; buffer; buffer memory; computer operating systems; computer system; data storage, magnetic --- Disk; dynamic disc allocation; magnetic disc and drum storage; masking; memory hierarchy; model; monoprogrammed; operating systems; permutation; permutation algorithm; predictable; primary memories; rotational latency; staging; storage allocation",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Cohen:1974:TLE,
  author =       "Jacques Cohen and Carl Zuckerman",
  title =        "Two Languages for Estimating Program Efficiency",
  journal =      j-CACM,
  volume =       "17",
  number =       "6",
  pages =        "301--308",
  month =        jun,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/monitor.bib and ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1974.bib",
  abstract =     "Two languages enabling their users to estimate the efficiency of computer programs are presented. The program whose efficiency one wishes to estimate is written in the first language, a go-to-less programming language which includes most of the features of Algol 60. The second language consists of interactive commands enabling its users to provide additional information about the program written in the first language and to output results estimating its efficiency. Processors for the two languages are also described. The first processor is a syntax-directed translator which compiles a program into a symbolic formula representing the execution time for that program. The second processor is a set of procedures for algebraic manipulation which can be called by the user to operate on the formula produced by the first processor. Examples of the usage of the two languages are included. The limitations of the present system, its relation to Knuth's work on the analysis of algorithms, and some of the directions for further research are also discussed.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140D (High level languages); C6150C (Compilers, interpreters and other processors); C6150G (Diagnostic, testing, debugging and evaluating systems)",
  classification = "723",
  corpsource =   "Brandeis Univ., Waltham, MA, USA",
  country =      "USA",
  descriptors =  "Programming language; runtime/storage efficiency; analysis; algorithm;",
  enum =         "614",
  journalabr =   "Commun ACM",
  keywords =     "analysis of algorithms; computer programming languages; efficiency; estimating program efficiency; go to less; interactive commands; languages; procedure oriented languages; processors; program; program diagnostics; program efficiency; programming language; programming languages; symbolic manipulation; syntax directed translation; syntax-directed translation",
  language =     "English",
  references =   "16",
  treatment =    "A Application; P Practical",
}

@Article{Henschen:1974:TPL,
  author =       "L. Henschen and Ross A. Overbeek and L. Wos",
  title =        "A Theorem-Proving Language for Experimentation",
  journal =      j-CACM,
  volume =       "17",
  number =       "6",
  pages =        "308--314",
  month =        jun,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A40",
  MRnumber =     "49 6698",
  mrreviewer =   "K. H. V. Booth",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Because of the large number of strategies and inference rules presently under consideration in automated theorem proving, there is a need for developing a language especially oriented toward automated theorem proving. This paper discusses some of the features and instructions of this language. The use of this language permits easy extension of automated theorem-proving programs to include new strategies and/or new inference rules. Such extend ability will permit general experimentation with the various alternative systems.",
  acknowledgement = ack-nhfb,
  classcodes =   "C1230 (Artificial intelligence); C6140D (High level languages)",
  classification = "723",
  corpsource =   "Northwestern Univ., Evanston, IL, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer programming languages; factoring; paramodulation; programming languages; resolution; theorem proving",
  keywords =     "alternative systems; automated theorem proving; experimentation; factoring; paramodulation; problem oriented languages; programming languages; resolution; strategies and inference rules presently; theorem proving",
  treatment =    "P Practical",
}

@Article{Gimpel:1974:MSC,
  author =       "James F. Gimpel",
  title =        "The minimization of spatially-multiplexed character sets",
  journal =      j-CACM,
  volume =       "17",
  number =       "6",
  pages =        "315--318",
  month =        jun,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The paper describes a technique for compacting character sets in a digital computer while retaining fast access to individual bits. It considers the problem of minimizing the storage needed to contain such tables. Reduction techniques are developed, and the problem is shown to reduce to a covering problem.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C6130 (Data handling techniques)",
  classification = "723",
  corpsource =   "Bell Telephone Labs., Holmdel, NJ, USA",
  journalabr =   "Commun ACM",
  keywords =     "character sets; compacting character sets; computer programming; covering problem; data handling; data structures; fast access to; individual bits; lexical analysis; minimizing the storage; parsing; reduction; scanning; spatial multiplexing; string processing; techniques",
  treatment =    "P Practical",
}

@Article{Barrodale:1974:AAS,
  author =       "I. Barrodale and F. D. K. Roberts",
  title =        "{ACM} Algorithm 478: Solution of an Overdetermined System of Equations in the ${L_1}$ Norm",
  journal =      j-CACM,
  volume =       "17",
  number =       "6",
  pages =        "319--320",
  month =        jun,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0260 (Optimisation techniques); B0290F (Interpolation and function approximation); C1180 (Optimisation techniques); C4130 (Interpolation and function approximation); C7310 (Mathematics computing)",
  corpsource =   "Univ. Victoria, BC, Canada",
  keywords =     "algorithm; function approximation; l/sub 1/ approximation; l1 norm; linear programming; minimizes; overdetermined system of equations; simplex method; subroutines; sum of the absolute values of the residuals",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Page:1974:AAM,
  author =       "R. L. Page",
  title =        "{ACM} Algorithm 479: {A} Minimal Spanning Tree Clustering Method",
  journal =      j-CACM,
  volume =       "17",
  number =       "6",
  pages =        "321--323",
  month =        jun,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "See also \cite{White:1976:RMS}.",
  acknowledgement = ack-nhfb,
  classcodes =   "B6140C (Optical information, image and video signal processing); C1250 (Pattern recognition); C7310 (Mathematics computing)",
  corpsource =   "Colorado State Univ., Fort Collins, CO, USA",
  keywords =     "complete graph; feature; FORTRAN; graph theory; human perception; minimal spanning tree; pattern recognition; selection; subroutines",
  treatment =    "P Practical",
}

@Article{Gaither:1974:HPP,
  author =       "B. Gaither",
  title =        "Hidden-line plotting program",
  journal =      j-CACM,
  volume =       "17",
  number =       "6",
  pages =        "324--324",
  month =        jun,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C5540 (Terminals and graphic displays); C6130 (Data handling techniques); C7310 (Mathematics computing)",
  corpsource =   "New Mexico Inst. Mining and Technol., Socorro, NM, USA",
  keywords =     "algorithm; computer graphics; division by zero; hidden line; plotting program",
  treatment =    "G General Review; P Practical",
}

@Article{Piessens:1974:CFI,
  author =       "R. Piessens",
  title =        "Calculation of {Fourier} integrals",
  journal =      j-CACM,
  volume =       "17",
  number =       "6",
  pages =        "324--324",
  month =        jun,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290Z (Other numerical methods); C4190 (Other numerical methods); C7310 (Mathematics computing)",
  corpsource =   "Univ. Leuven, Heverlee, Belgium",
  keywords =     "algorithm; Fourier integrals; Fourier transforms; integration",
  treatment =    "G General Review; P Practical",
}

@Article{Piessens:1974:MHI,
  author =       "R. Piessens",
  title =        "Modified {Havie} integration",
  journal =      j-CACM,
  volume =       "17",
  number =       "6",
  pages =        "324--324",
  month =        jun,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290M (Numerical integration and differentiation); C4160 (Numerical integration and differentiation); C7310 (Mathematics computing)",
  corpsource =   "Univ. Leuven, Heverlee, Belgium",
  keywords =     "algorithm; automatic; integration; integrators; modified Havie integration; numerical analysis; overflows; specified tolerances",
  treatment =    "G General Review; T Theoretical or Mathematical",
}

@Article{Ellis:1974:HPP,
  author =       "T. M. R. Ellis",
  title =        "Hidden-line plotting program",
  journal =      j-CACM,
  volume =       "17",
  number =       "6",
  pages =        "324--325",
  month =        jun,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C5540 (Terminals and graphic displays); C6130 (Data handling techniques); C7310 (Mathematics computing)",
  corpsource =   "Univ. Sheffield, UK",
  keywords =     "algorithm; computer graphics; error; hidden line plotting program; plotting program",
  treatment =    "G General Review; P Practical",
}

@Article{Page:1974:GRC,
  author =       "R. L. Page",
  title =        "Generation of random correlated normal variables",
  journal =      j-CACM,
  volume =       "17",
  number =       "6",
  pages =        "325--325",
  month =        jun,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7890 (Other special applications of computing)",
  corpsource =   "Colorado State Univ., Fort Collins, CO, USA",
  keywords =     "algorithm; array parameters; random correlated normal variables; random number generation; revises; work",
  treatment =    "G General Review; P Practical",
}

@Article{Boulton:1974:EPR,
  author =       "D. M. Boulton",
  title =        "Exact probabilities for {R}*{C} contingency tables",
  journal =      j-CACM,
  volume =       "17",
  number =       "6",
  pages =        "326--326",
  month =        jun,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7310 (Mathematics computing)",
  corpsource =   "Monash Univ., Melbourne, Vic., Australia",
  keywords =     "algorithm; cell frequency combinations; contingency tables; dimensional contingency table; exact probabilities; inefficient; marginal sum constraints; probability; two",
  treatment =    "G General Review; P Practical",
}

@Article{Slysz:1974:ESS,
  author =       "W. D. Slysz",
  title =        "An evaluation of software in the social sciences",
  journal =      j-CACM,
  volume =       "17",
  number =       "6",
  pages =        "326--332",
  month =        jun,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7810 (Social and behavioural sciences computing)",
  corpsource =   "Univ. Connecticut, Storrs, CT, USA",
  keywords =     "bivariate; BMD; college; cost; DATA TEXT; descriptive statistics; factor analysis; one way analysis of variance; OSIRIS; Pearson correlation; performance; regression; social and behavioural sciences; social sciences; SPSS; statistical analysis; statistical computation; statistical packages; statistical software; tables; TSAR; university",
  treatment =    "A Application; P Practical",
}

@Article{Adams:1974:CRC,
  author =       "John Adams and John Gary",
  title =        "Compact Representation of Contour Plots for Phone Line Transmission",
  journal =      j-CACM,
  volume =       "17",
  number =       "6",
  pages =        "333--336",
  month =        jun,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Methods for the compact representation of contour plots are described and tested. These are intended to reduce the cost of transmitting contour plots over phone lines. Some of these methods could be used to transmit contour plots over voice grade phone lines.",
  acknowledgement = ack-nhfb,
  classcodes =   "B6210D (Telephony); C5540 (Terminals and graphic displays); C5600 (Data communication equipment and techniques)",
  classification = "723",
  corpsource =   "Nat. Center Atmospheric Res., Boulder, CO, USA",
  journalabr =   "Commun ACM",
  keywords =     "compact representation; computer graphics; contour plots; data compaction; data transmission; data transmission systems; phone line; remote terminal; transmission; voice grade phone lines",
  treatment =    "P Practical",
}

@Article{Wulf:1974:HKM,
  author =       "W. Wulf and E. Cohen and W. Corwin and A. Jones and R. Levin and C. Pierson and F. Pollack",
  title =        "{HYDRA}: The Kernel of a Multiprocessor Operating System",
  journal =      j-CACM,
  volume =       "17",
  number =       "6",
  pages =        "337--345",
  month =        jun,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib and ftp://ftp.ira.uka.de/pub/bibliography/Object/Nierstrasz.bib",
  abstract =     "This paper describes the design philosophy of HYDRA the kernel of an operating system for C. mmp, the Carnegie-Mellon Multi-Mini-Processor. This philosophy is realized through the introduction of a generalized notion of ``resource,'' both physical and virtual, called an ``object.'' Mechanisms are presented for dealing with objects, including the creation of new types, specification of new operations applicable to a given type, sharing, and protection of any reference to a given object against improper application of any of the operations defined with respect to that type of object. The mechanisms provide a coherent basis for extension of the system in two directions: the introduction of new facilities, and the creation of highly secure systems.",
  acknowledgement = ack-nhfb,
  annote =       "Includes protection mechanism using capabilities attached to references.",
  classcodes =   "C6150J (Operating systems)",
  classification = "722",
  corpsource =   "Carnegie-Mellon Univ., Pittsburgh, PA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer operating systems; design philosophy; highly secure systems; HYDRA; kernel; multiprocessing programs; multiprocessor operating system; new facilities; nucleus; operating systems (computers); protection; security olit hydra capabilities; sharing",
  treatment =    "A Application; P Practical",
}

@Article{Barton:1974:ITA,
  author =       "Ian J. Barton and Susan E. Creasey and Michael F. Lynch and Michael J. Snell",
  title =        "An Information-Theoretic Approach to Text Searching in Direct Access Systems",
  journal =      j-CACM,
  volume =       "17",
  number =       "6",
  pages =        "345--350",
  month =        jun,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Using direct access computer files of bibliographic information, an attempt is made to overcome one of the problems often associated with information retrieval, namely, the maintenance and use of large dictionaries, the greater part of which is used only infrequently. A novel method is presented, which maps the hyperbolic frequency distribution. This is more suited to implementation on storage devices. \par This method treats text as a string of characters rather than words bounded by spaces, and chooses subsets of strings such that their frequencies of occurrence are more even than those of word types. The members of this subset are then used as index keys for retrieval. The rectangular distribution of key frequencies results in a much simplified file organization and promises considerable cost advantages.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C7250 (Information storage and retrieval)",
  classification = "723; 731",
  corpsource =   "Univ. Sheffield, UK",
  journalabr =   "Commun ACM",
  keywords =     "bit vector; character string; data processing --- File Organization; direct access; file organization; information retrieval; information theory; text searching",
  keywords =     "bibliographic information; bit vector; character string; characteristics; computer files; dictionaries; direct access; direct access systems; file organisation; hyperbolic frequency distribution of text; index keys; information retrieval; information theory; large; rectangular distribution; simplified file organization; text searching",
  treatment =    "P Practical",
}

@Article{Minieka:1974:CSS,
  author =       "Edward Minieka",
  title =        "On Computing Sets of Shortest Paths in a Graph",
  journal =      j-CACM,
  volume =       "17",
  number =       "6",
  pages =        "351--353",
  month =        jun,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "05C35",
  MRnumber =     "49 7178",
  mrreviewer =   "Torrence D. Parsons",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Two algorithms are presented that construct the $k$ shortest paths between every pair of vertices in a directed graph. These algorithms generalize the Floyd algorithm and the Dantzig algorithm for finding the shortest path between every pair of vertices in a directed graph.",
  acknowledgement = ack-nhfb,
  classcodes =   "C7190 (Other fields of business and administrative computing)",
  classification = "921",
  corpsource =   "Univ. Illinois, Chicago, IL, USA",
  journalabr =   "Commun ACM",
  keywords =     "algorithm; computer aided analysis; critical path analysis; Dantzig algorithm; directed graph; Floyd algorithm; graph; mathematical techniques; network; shortest path; shortest paths",
  treatment =    "A Application; P Practical",
}

@Article{Ritchie:1974:UTS,
  author =       "Dennis M. Ritchie and Ken Thompson",
  title =        "The {UNIX} Time-Sharing System",
  journal =      j-CACM,
  volume =       "17",
  number =       "7",
  pages =        "365--375",
  month =        jul,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib and ftp://ftp.ira.uka.de/pub/bibliography/Parallel/Multi.bib",
  abstract =     "This paper discusses the nature and implementation of the file system and of the user command interface. UNIX is a general-purpose, multi-user, interactive operating system for the Digital Equipment Corporation PDP-11\slash 40 and 11\slash 45 computers. It offers a number of features seldom found even in larger operating systems, including: (1) a hierarchical file system incorporating demountable volumes; (2) compatible file, device, and inter-process I/O; (3) the ability to initiate asynchronous processes; (4) system command language selectable on a per-user basis; and (5) over 100 subsystems including a dozen languages.",
  acknowledgement = ack-nhfb,
  annote =       "Interactive operating system for PDP-11, VAX with a hierarchical file system incorporating demountable volumes.",
  classcodes =   "C6120 (File organisation); C6150J (Operating systems)",
  classification = "723",
  corpsource =   "Bell Labs., Murray Hill, NJ, USA",
  journalabr =   "Commun ACM",
  keywords =     "asynchronous; command language; compatible file; computer systems programming; demountable volumes; file organisation; file system; hierarchical file system; operating; operating systems (computers); processes; sharing systems; system; system command language; time sharing; time-; UNIX interactive operating system",
  treatment =    "A Application; P Practical",
}

@Article{Fuller:1974:MTP,
  author =       "Samuel H. Fuller",
  title =        "Minimal-Total-Processing Time Drum and Disk Scheduling Disciplines",
  journal =      j-CACM,
  volume =       "17",
  number =       "7",
  pages =        "376--381",
  month =        jul,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "This article investigates the application of minimal-total-processing-time (MTPT) scheduling disciplines to rotating storage units when random arrival of requests is allowed. Fixed-head drum and moving-head disk storage units are considered, and emphasis is placed on the relative merits of the MTPT scheduling discipline with respect to the shortest-latency-time-first (SLTF) scheduling discipline. The results of the simulation studies presented show that neither scheduling discipline is unconditionally superior to the other.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C6150J (Operating systems)",
  classification = "723",
  corpsource =   "Carnegie-Mellon Univ., Pittsburgh, PA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer programming languages",
  keywords =     "disc scheduling; drum scheduling; fixed head drum; intra cylinder disc; management; minimal total processing time; moving head disc; operating systems (computers); rotating storage units; scheduling; scheduling disciplines; shortest latency time first; simulation; sorting; storage",
  treatment =    "A Application; P Practical",
}

@Article{Bruno:1974:SIT,
  author =       "J. Bruno and E. G. {Coffman, Jr.} and R. Sethi",
  title =        "Scheduling Independent Tasks To Reduce Mean Finishing Time",
  journal =      j-CACM,
  volume =       "17",
  number =       "7",
  pages =        "382--387",
  month =        jul,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "90B35",
  MRnumber =     "50 9338",
  mrreviewer =   "John C. Gittins",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1974.bib and ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib",
  abstract =     "A deterministic model of independent tasks is introduced and new results are derived which extend and generalize the algorithms known for minimizing mean finishing time. In addition to presenting and analyzing new algorithms it is shown that the most general mean-finishing-time problem for independent tasks is polynomial complete, hence unlikely to admit of a non-enumerative solution.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0260 (Optimisation techniques); C1180 (Optimisation techniques); C6150J (Operating systems)",
  classification = "723",
  corpsource =   "Pennsylvania State Univ., University Park, PA, USA",
  descriptors =  "Scheduling; Finish Time;",
  journalabr =   "Commun ACM",
  keywords =     "CACM; computer programming languages; deterministic model; independent tasks; mean finishing time; minimisation; minimize; minimizing mean finishing time; minimizing mean flow time; operating systems (computers); optimal; polynomial complete; scheduling; scheduling algorithms; scheduling independent tasks; sequencing algorithms; storage required",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Saltzer:1974:PCI,
  author =       "Jerome H. Saltzer",
  title =        "Protection and the Control of Information Sharing in {Multics}",
  journal =      j-CACM,
  volume =       "17",
  number =       "7",
  pages =        "388--402",
  month =        jul,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib",
  abstract =     "The design of mechanisms to control the sharing of information in the Multics system is described. Five design principles help provide insight into the tradeoffs among different possible designs. The key mechanisms described include access control lists, hierarchical control of access specifications, identification and authentication of users, and primary memory protection. The paper ends with a discussion of several known weaknesses in the current protection mechanism design.",
  acknowledgement = ack-nhfb,
  classcodes =   "C0310 (EDP management); C6130 (Data handling techniques); C6150J (Operating systems)",
  classification = "723",
  corpsource =   "MIT, Cambridge, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "access control lists; authentication; computer systems programming; control; control of access specifications; descriptors; design principles; hierarchical; identification; information sharing; mechanism design; Multics system; operating systems (computers); operating virtual memory CACM; primary memory protection; privacy; protection; security; security of data; storage; time sharing systems; virtual; virtual memory",
  treatment =    "A Application; P Practical",
}

@Article{Fabry:1974:CBA,
  author =       "R. S. Fabry",
  title =        "Capability-Based Addressing",
  journal =      j-CACM,
  volume =       "17",
  number =       "7",
  pages =        "403--412",
  month =        jul,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib and ftp://ftp.ira.uka.de/pub/bibliography/Misc/os.bib and ftp://ftp.ira.uka.de/pub/bibliography/Object/Nierstrasz.bib",
  abstract =     "Various addressing schemes making use of segment tables are examined. The inadequacies of these schemes when dealing with shared addresses are explained. These inadequacies are traced to the lack of an efficient absolute address for objects in these systems. The direct use of a capability as an address is shown to overcome these difficulties because it provides the needed absolute address. Implementation of capability-based addressing is discussed. It is predicted that the use of tags to identify capabilities will dominate. A hardware address translation scheme which never requires the modification of the representation of capabilities is suggested.",
  acknowledgement = ack-nhfb,
  annote =       "The direct use of a capability as an address is shown to be useful when dealing with shared addresses. Implementation of capability-based addressing is discussed.",
  classcodes =   "C6120 (File organisation)",
  classification = "723; 901",
  corpsource =   "Univ. California, Berkeley, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "address translation scheme; addresses; addressing; addressing hardware; addressing schemes; associative; capabilities; capability based addressing; code; computer utility; data structures; hardware; hash table; information sharing; operating systems; programming conventions; protection; protection hardware; registers; security of data; segment tables; shared; storage management; tagged architecture; tags",
  keywords =     "CACM memory management segments pages operating security olit capabilities; information retrieval systems",
  treatment =    "A Application; P Practical",
}

@Article{Popek:1974:FRV,
  author =       "Gerald J. Popek and Robert P. Goldberg",
  title =        "Formal Requirements for Virtualizable Third Generation Architectures",
  journal =      j-CACM,
  volume =       "17",
  number =       "7",
  pages =        "412--421",
  month =        jul,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A05",
  MRnumber =     "49 10177",
  mrreviewer =   "I. Kaufmann",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "A model of a third-generation-like computer system is developed. Formal techniques are used to derive precise sufficient conditions to test whether such an architecture can support virtual machines.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5220 (Computer architecture); C7430 (Computer engineering)",
  classification = "722",
  corpsource =   "Univ. California, Los Angeles, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "abstract model; architectures; computer architecture; computer operating systems; formal requirements; generation architecture; hypervisor; operating system; sufficient conditions; systems; third; third generation computer; virtual machine; virtual machine monitor; virtual machines; virtual memory; virtualizable third generation",
  treatment =    "A Application; P Practical",
}

@Article{Hahn:1974:NTC,
  author =       "Bruce Hahn",
  title =        "A New Technique for Compression and Storage of Data",
  journal =      j-CACM,
  volume =       "17",
  number =       "8",
  pages =        "434--436",
  month =        aug,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "This paper describes techniques that can, in most cases, decrease storage size by a factor of from two to four. The techniques involve special handling of leading and trailing blanks, and the encoding of other symbols in groups of fixed size as unique fixed point numbers. The efficiency of the system is considered and pertinent statistics are given and compared with statistics for other information coding techniques.",
  acknowledgement = ack-nhfb,
  annote =       "Generation of a character dictionary and its use to minimize space.",
  classcodes =   "C6120 (File organisation); C6130 (Data handling techniques)",
  classification = "731",
  corpsource =   "Univ. Waterloo, Ont., Canada",
  journalabr =   "Commun ACM",
  keywords =     "coding techniques; compression; data handling; data management; data storage; efficiency; encoding; file maintenance; file organisation; fixed point numbers; information coding techniques; information theory; programs; text compression; utility",
  treatment =    "A Application; P Practical",
}

@Article{Evans:1974:UAS,
  author =       "Arthur {Evans, Jr.} and William Kantrowitz and Edwin Weiss",
  title =        "A User Authentication Scheme Not Requiring Secrecy in the Computer",
  journal =      j-CACM,
  volume =       "17",
  number =       "8",
  pages =        "437--442",
  month =        aug,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "In many computer operating systems a user authenticates himself by entering a secret password known solely to himself and the system. The system compares this password with one recorded in a Password Table which is available to only the authentication program. The integrity of the system depends on keeping the table secret. In this paper a password scheme is presented which does not require secrecy in the computer. All aspects of the system, including all relevant code and data bases, may be known by anyone attempting to intrude. The scheme is based on using a function H which the would-be intruder is unable to invert. This function is applied to the user's password and the result compared to a table entry, a match being interpreted as authentication of the user. The intruder may know all about H and have access to the table, but he can penetrate the system only if he can invert H to determine an input that produces a given output. This paper discusses issues surrounding selection of a suitable H.",
  acknowledgement = ack-nhfb,
  annote =       "Password protection by irreversible transformation",
  classcodes =   "C6130 (Data handling techniques); C6150J (Operating systems)",
  classification = "722; 723",
  corpsource =   "MIT, Lexington, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "authentication; computer operating systems; cryptology; engineering problems; human; invert; one way encryption; operating system security; operating systems (computers); password scheme; security; security of data; user authentication scheme",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Purdy:1974:HSL,
  author =       "George B. Purdy",
  title =        "A High Security Log-in Procedure",
  journal =      j-CACM,
  volume =       "17",
  number =       "8",
  pages =        "442--445",
  month =        aug,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "The protection of time sharing systems from unauthorized users is often achieved by the use of passwords. By using one-way ciphers to code the passwords, the risks involved with storing the passwords in the computer can be avoided. The selection of a suitable one-way cipher is discussed. It is suggested that for this purpose polynomials over a prime modulus are superior to one-way ciphers derived from Shannon codes.",
  acknowledgement = ack-nhfb,
  annote =       "Password protection by irreversible cryptographic transformation",
  classcodes =   "C6130 (Data handling techniques); C6150J (Operating systems)",
  classification = "722; 723",
  corpsource =   "Univ. Illinois, Urbana-Champaign, IL, USA",
  journalabr =   "Commun ACM",
  keywords =     "code; computer operating systems; cryptography; data processing --- Security of Data; one way ciphers; operating systems; operating systems (computers); passwords; security; security of data; time sharing systems",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Friedman:1974:ETR,
  author =       "Theodore D. Friedman and Lance J. Hoffman",
  title =        "Execution Time Requirements for Encipherment Programs",
  journal =      j-CACM,
  volume =       "17",
  number =       "8",
  pages =        "445--449",
  month =        aug,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "The time taken to decipher 20,000 words of data by four additive methods on a Control Data 6400 computer was measured using assembly language and Fortran routines. Standard deviations were computed for 100 runs by each method, and from this the range of error at the 95 percent confidence level was calculated. The time required for selecting and fetching the plaintext data and for storing the ciphertext was separately measured (the ``null transformation'' ), and was then compared with the times required by each enciphering method. The enciphering processes required at least four times as much cpu time when programmed in Fortran.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques); C6150J (Operating systems)",
  classification = "723",
  corpsource =   "Univ. California, Berkeley, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "additive ciphers; assembly language; cpu; cryptography; cryptology; data processing; double key encipherment; enciphering time coefficient; encipherment programs; errors; execution time; experiments; Fortran; null; one word key; operating systems (computers); privacy transformations; protection; pseudo random key; security; security of data; time; transformation",
  treatment =    "A Application; T Theoretical or Mathematical; X Experimental",
}

@Article{Neufeld:1974:GCC,
  author =       "G. A. Neufeld and J. Tartar",
  title =        "Graph Coloring Conditions for the Existence of Solutions to the Timetable Problem",
  journal =      j-CACM,
  volume =       "17",
  number =       "8",
  pages =        "450--453",
  month =        aug,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "90B35",
  MRnumber =     "52 16594",
  mrreviewer =   "Ethan D. Bolker",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Theory/graph.coloring.bib",
  abstract =     "A necessary and sufficient condition is presented for the existence of a solution to the Gotlieb class-teacher timetable problem. Several relationships are established between the class-teacher timetable problem and graphs with preconditions. These preconditions place additional restrictions on the coloration of a graph. The preconditions correspond to the unavailability constraints and preassigned meetings in the class-teacher timetable problem. Using some recent results that convert graphs with preconditions to graphs without them, it is shown that the existence of a coloration of a graph is the required necessary and sufficient condition.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0250 (Combinatorial mathematics); C1160 (Combinatorial mathematics); C7110 (Educational administration)",
  classification = "912; 921",
  corpsource =   "Univ. Alberta, Edmonton, Alta., Canada",
  journalabr =   "Commun ACM",
  keywords =     "class-teacher timetable problem; class-teacher timetables; coloration; educational administrative data processing; graph colouring conditions; graph theory; graphs; graphs with preconditions; mathematical techniques; necessary and; operations research; preassignment; prevention of assignment; scheduling; sufficient condition; timetable problem",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Lamport:1974:NSD,
  author =       "Leslie Lamport",
  title =        "A New Solution of {Dijkstra}'s Concurrent Programming Problem",
  journal =      j-CACM,
  volume =       "17",
  number =       "8",
  pages =        "453--455",
  month =        aug,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A05",
  MRnumber =     "49 8418",
  mrreviewer =   "James Howland",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "A simple solution to the mutual exclusion problem is presented which allows the system to continue to operate despite the failure of any individual component.",
  acknowledgement = ack-nhfb,
  annote =       "A solution which is more failure proof.",
  classcodes =   "C6150J (Operating systems)",
  classification = "723",
  journalabr =   "Commun ACM",
  keywords =     "computer systems programming; concurrent programming; critical section; Dijkstra's concurrent programming problem; failure; fault tolerant computing; multiprocessing; multiprocessing programs; mutual exclusion; semaphores",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Cavouras:1974:CPD,
  author =       "John C. Cavouras",
  title =        "On the Conversion of Programs to Decision Tables: Method and Objectives",
  journal =      j-CACM,
  volume =       "17",
  number =       "8",
  pages =        "456--462",
  month =        aug,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The problems of converting programs to decision tables are investigated. Objectives of these conversions are mainly program debugging and optimization in practice. Extensions to the theory of computation and computability are suggested.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4290 (Other computer theory); C6110 (Systems analysis and programming); C6150G (Diagnostic, testing, debugging and evaluating systems)",
  classification = "723",
  corpsource =   "Univ. Glasgow, UK",
  journalabr =   "Commun ACM",
  keywords =     "analysis; computability; computability and decidability; computer systems programming; conversion of programs; debugging; decision tables; objectives; optimization; program; semantics; systems; theory of programming",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Lyche:1974:AAP,
  author =       "T. Lyche and L. L. Schumaker",
  title =        "{ACM} Algorithm 480: Procedures for Computing Smoothing and Interpolating Natural Splines",
  journal =      j-CACM,
  volume =       "17",
  number =       "8",
  pages =        "463--467",
  month =        aug,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290F (Interpolation and function approximation); C4130 (Interpolation and function approximation); C7310 (Mathematics computing)",
  corpsource =   "Univ. Texas, Austin, TX, USA",
  keywords =     "Algol; approximation; coefficients; interpolating; interpolation; natural sciences applications of computers; natural splines; smoothing; spline smoothing; splines (mathematics); subroutines",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Crandall:1974:AAA,
  author =       "K. C. Crandall",
  title =        "{ACM} Algorithm 481: Arrow to Precedence Network Transformation",
  journal =      j-CACM,
  volume =       "17",
  number =       "8",
  pages =        "467--469",
  month =        aug,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7100 (Business and administration)",
  corpsource =   "Univ. California, Berkeley, CA, USA",
  keywords =     "arrow convention; arrow convention networks; computer aided analysis; convention; critical path; critical path analysis; network transformation; precedence; precedence networks; resource allocation; scheduling; subroutines",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{McKay:1974:AAT,
  author =       "John McKay and E. Regener",
  title =        "{ACM} Algorithm 482: Transitivity Sets [{G7}]",
  journal =      j-CACM,
  volume =       "17",
  number =       "8",
  pages =        "470--470",
  month =        aug,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Parallel/Multi.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "B0250 (Combinatorial mathematics); C1160 (Combinatorial mathematics); C7310 (Mathematics computing)",
  corpsource =   "McGill Univ., Montreal, Que., Canada",
  keywords =     "sets; transitivity",
  keywords =     "Algol; algorithm; graph; natural sciences applications of computers; orbits; semigroup; set theory; sets; spanning tree; subroutines; transitivity; transitivity sets",
  page =         "470",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Stroud:1974:GHI,
  author =       "A. H. Stroud",
  title =        "{Gauss} Harmonic Interpolation Formulas",
  journal =      j-CACM,
  volume =       "17",
  number =       "8",
  pages =        "471--475",
  month =        aug,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65D05",
  MRnumber =     "50 15265",
  mrreviewer =   "Stephen Hilbert",
  bibdate =      "Thu Jan 16 19:52:47 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Let $R$ be an open, bounded, simply connected region in the $(x,y)$-plane and let $(x*,y*)$ be a point in $R$. Assuming R is starlike with respect to $(x*,y*)$, we discuss a method for computing Gauss harmonic interpolation formulas for $R$ and the point $(x*,y*)$. \par Such formulas approximate a harmonic function at $(x*,y*)$ in terms of a linear combination of its values at certain selected points on the boundary of $R$. Such formulas are useful for approximating the solution of the Dirichlet problem for $R$.",
  acknowledgement = ack-nhfb,
  classification = "921",
  journalabr =   "Commun ACM",
  keywords =     "Dirichlet problem; harmonic interpolation; harmonic quadrature; interpolation; mathematical techniques; quadrature",
}

@Article{Lagerloef:1974:IRR,
  author =       "Rolf O. E. Lagerloef",
  title =        "Interpolation with Rounded Ramp Functions",
  journal =      j-CACM,
  volume =       "17",
  number =       "8",
  pages =        "476--479",
  month =        aug,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Thu Jan 16 19:52:47 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A new interpolation function is introduced. It has infinitely many continuous derivatives and is a composition of ramp functions with smoothed bends called Rounded Ramp Functions. How the interpolation function can be extended to more than one variable is shown. An efficient Fortran program is given by which the interpolation function can be obtained for a given point set.",
  acknowledgement = ack-nhfb,
  classification = "921",
  journalabr =   "Commun ACM",
  keywords =     "mathematical techniques",
}

@Article{Acton:1974:RRF,
  author =       "Forman S. Acton",
  title =        "Recurrence Relations for the {Fresnel} Integral $\int_0^\infty[\exp(-ct)dt/(t)^{1/2}(1+t^2)]$ and Similar Integrals",
  journal =      j-CACM,
  volume =       "17",
  number =       "8",
  pages =        "480--481",
  month =        aug,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65D20 (33A70)",
  MRnumber =     "49 6554",
  bibdate =      "Mon Jan 27 12:23:52 1997",
  bibsource =    "Compendex database",
  abstract =     "The class of functions defined by $\int_0^\infty[\exp(- cX)dt/(1+Y)(t^{1/2})^k]$ where $X$ and $Y$ are either $t$ or $t^2$ and $k$ is $-1$, $0$, or $1$ can be evaluated by recurrences for all but small values of the parameter $c$. These recurrences, given here, are more efficient than the usual asymptotic series.",
  acknowledgement = ack-nhfb,
  classification = "921",
  journalabr =   "Commun ACM",
  keywords =     "exponential integral; Fresnel integral; mathematical techniques; recurrence relations",
}

@Article{Willers:1974:NIA,
  author =       "I. M. Willers",
  title =        "A New Integration Algorithm for Ordinary Differential Equations Based on Continued Fraction Approximations",
  journal =      j-CACM,
  volume =       "17",
  number =       "9",
  pages =        "504--508",
  month =        sep,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65L05",
  MRnumber =     "49 8367",
  mrreviewer =   "G. D. Byrne",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A new integration algorithm is found, and an implementation is compared with other programmed algorithms. The new algorithm is a step-by-step procedure for solving the initial value problem in ordinary differential equations. It is designed to approximate poles of small integer order in the solutions of the differential equations by continued fractions obtained by manipulating the sums of truncated Taylor series expansions. The new method is compared with Gragg-Bulirsh-Stoer, and the Taylor series method. \par The Taylor series method and the new method are shown to be superior in speed and accuracy, while the new method is shown to be most superior when the solution is required near a singularity. The new method can finally be seen to pass automatically through singularities where all the other methods which are discussed will have failed.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290M (Numerical integration and differentiation); B0290P (Differential equations); C4160 (Numerical integration and differentiation); C4170 (Differential equations)",
  classification = "921",
  corpsource =   "CERN, Geneve, Switzerland",
  journalabr =   "Commun ACM",
  keywords =     "boundary-value problems; continued fraction approximations; continued fractions; differential equations; initial value problem; integration; integration algorithm; mathematical techniques; ordinary differential equations; program comparison; singularities; singularity; step by step procedure; Taylor series; Taylor series expansions",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Aberth:1974:PNA,
  author =       "Oliver Aberth",
  title =        "A Precise Numerical Analysis Program",
  journal =      j-CACM,
  volume =       "17",
  number =       "9",
  pages =        "509--513",
  month =        sep,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1974.bib",
  abstract =     "A description is given of a program for computing the solution to a small number of standard numerical analysis problems to any specified accuracy, up to a limit of 2000 correct decimal places. \par Each computed number is bounded in an interval with a multiple precision midpoint. Arithmetic operations involving these numbers are executed according to interval arithmetic concepts, with non-significant digits automatically discarded. Details are supplied of problem specification and problem computation.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290 (Numerical analysis); C4100 (Numerical analysis); C7310 (Mathematics computing)",
  classification = "921",
  corpsource =   "Texas A and M Univ., College Station, TX, USA",
  country =      "USA",
  descriptors =  "Method; realization; numerical method; optimization; information system; program construction; error control; interval arithmetic;",
  enum =         "3",
  journalabr =   "Commun ACM",
  keywords =     "arithmetic; arithmetic operations; error control; interval; interval arithmetic; list structure; mathematical techniques; methods; multiple; multiple precision; natural sciences applications of computers; numerical; numerical analysis; precision midpoint; program; specified accuracy",
  language =     "English",
  references =   "11",
}

@Article{Cheung:1974:IGD,
  author =       "To-yat. Cheung",
  title =        "Interactive Graphic Display for Region Partitioning by Linear Programming",
  journal =      j-CACM,
  volume =       "17",
  number =       "9",
  pages =        "513--516",
  month =        sep,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Using linear programming, an interactive graphic display system has been implemented to solve the region design problem of partitioning a region into N nonoverlapping subregions in such a way that their areas are in specified proportions and that the total cost of servicing them is a minimum. In a conversational manner, a user can easily obtain different partitionings by specifying and modifying the boundary, the service centers' locations, the area proportions, and the cost functions. Examples are included.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0260 (Optimisation techniques); C1180 (Optimisation techniques); C5540 (Terminals and graphic displays)",
  classification = "723; 921",
  corpsource =   "Univ. Alberta, Edmonton, Alta., Canada",
  journalabr =   "Commun ACM",
  keywords =     "area proportions; area specification; boundary; computer graphics; cost; cost functions; interactive graphic display; interactive terminals; linear; linear programming; mathematical programming, linear; minimum; nonoverlapping subregions; of servicing; programming; region design; region partitioning; service centers' locations",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Schkolnick:1974:ERT,
  author =       "Mario Schkolnick",
  title =        "The Equivalence of Reducing Transition Languages and Deterministic Languages",
  journal =      j-CACM,
  volume =       "17",
  number =       "9",
  pages =        "517--519",
  month =        sep,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A30",
  MRnumber =     "49 8436",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The class of reducing transition languages introduced by Eickel, Paul, Bauer, and Samelson was shown by Morris to be a proper superclass of the simple precedence languages. In this paper this result is extended, showing that, in fact, the first class is equivalent to the class of deterministic context free languages.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic)",
  classification = "723",
  corpsource =   "Carnegie-Mellon Univ., Pittsburgh, PA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer programming languages; context free languages; context-free languages; deterministic; deterministic context free grammars; deterministic context-free grammars; equivalence; languages; precedence languages; reducing transition languages; superclass; syntax controlled generators",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Watkins:1974:AAM,
  author =       "S. L. Watkins",
  title =        "{ACM} Algorithm 483: Masked Three-Dimensional Plot Program with Rotations",
  journal =      j-CACM,
  volume =       "17",
  number =       "9",
  pages =        "520--523",
  month =        sep,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1973.bib",
  note =         "See also \cite{Feinstein:1975:RMT}.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5540 (Terminals and graphic displays); C6150E (General utility programs)",
  corpsource =   "Univ. Texas, Austin, TX, USA",
  country =      "USA",
  descriptors =  "FORTRAN; graphics; application; method; human factors; diagram manipulation; three-dimensional plot;",
  enum =         "3241",
  keywords =     "complete computer programs; computer graphics; masked; plot program; programs; rotations; three dimensional plotting; utility",
  keywords =     "plotting; three-dimensional plotting",
  language =     "English",
  references =   "0",
  treatment =    "A Application",
}

@Article{Burrell:1974:AAE,
  author =       "K. H. Burrell",
  title =        "{ACM} Algorithm 484: Evaluation of the Modified {Bessel} Functions ${K}_0(z)$ and ${K}_1(z)$ for Complex Arguments",
  journal =      j-CACM,
  volume =       "17",
  number =       "9",
  pages =        "524--526",
  month =        sep,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290D (Functional analysis); C4120 (Functional analysis); C7310 (Mathematics computing)",
  corpsource =   "California Inst. Technol., Pasadena, CA, USA",
  keywords =     "algorithm; applications of computers; Bessel functions; complex arguments; function evaluation; Gauss-Hermite quadrature; Hankel functions; modified Bessel functions; natural sciences; subroutines",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Eidson:1974:AAC,
  author =       "H. D. Eidson and L. L. Schumaker",
  title =        "{ACM} Algorithm 485: Computation of $g$-Splines via a Factorization Method",
  journal =      j-CACM,
  volume =       "17",
  number =       "9",
  pages =        "526--530",
  month =        sep,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290F (Interpolation and function approximation); C4130 (Interpolation and function approximation); C7310 (Mathematics computing)",
  corpsource =   "Univ. Texas, Austin, TX, USA",
  keywords =     "approximation; computation; computers; factorization method; FORTRAN subroutines; function approximation; g-splines; Hermite/Birkoff data; interpolating; natural sciences applications of; spline approximation; splines; splines (mathematics); subroutines",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Young:1974:FOA,
  author =       "John W. Young",
  title =        "A First Order Approximation to the Optimum Checkpoint Interval",
  journal =      j-CACM,
  volume =       "17",
  number =       "9",
  pages =        "530--531",
  month =        sep,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150J (Operating systems)",
  corpsource =   "Martin Marietta Corp., Orlando, FL, USA",
  keywords =     "checkpoint; diagnostics; errors; first order approximation; job failures; minimisation; minimize the cost; operating systems (computers); optimum checkpoint interval; program; programming checkpoint; random",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Shwayder:1974:EIT,
  author =       "Keith Shwayder",
  title =        "Extending the Information Theory Approach to Converting Limited-Entry Decision Tables to Computer Programs",
  journal =      j-CACM,
  volume =       "17",
  number =       "9",
  pages =        "532--537",
  month =        sep,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "This paper modifies an earlier algorithm for converting decision tables into flowcharts which minimize subsequent execution time when compiled into a computer program. The algorithms considered in this paper perform limited search and, accordingly, do not necessarily result in globally optimal solutions. There is an analogy between the problem of converting decision tables into efficient flowcharts and the well-understood problem in information theory of noiseless coding. The results of the noiseless coding literature are used to explore the limitations of algorithms used to solve the decision table problem.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming); C6130 (Data handling techniques)",
  classification = "723",
  corpsource =   "Univ. Chicago, IL, USA",
  journalabr =   "Commun ACM",
  keywords =     "coding; computer programs; computer systems programming; converting; converting decision tables; decision tables; depth of search; flowcharting; flowcharts; information theory approach; limited search; list processing; noiseless channel; noiseless coding; sorting",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Hoare:1974:MOS,
  author =       "C. A. R. Hoare",
  title =        "Monitors: An Operating System Structuring Concept",
  journal =      j-CACM,
  volume =       "17",
  number =       "10",
  pages =        "549--557",
  month =        oct,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Theory/ProbAlgs.bib and ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib and ftp://ftp.ira.uka.de/pub/bibliography/Compiler/reynolds.bib",
  note =         "Erratum in {\em Communications of the ACM}, Vol. 18, No. 2 (February), p. 95, 1975. This paper contains one of the first solutions to the Dining Philosophers problem.",
  abstract =     "This paper develops Brinch-Hansen's concept of a monitor as a method of structuring an operating system. It introduces a form of synchronization, describes a possible method of implementation in terms of semaphores and gives a suitable proof rule. Illustrative examples include a single resource scheduler, a bounded buffer, an alarm clock, a buffer pool, a disk head optimizer, and a version of the problem of readers and writers.",
  acknowledgement = ack-nhfb,
  annote =       "Monitors",
  checked =      "7 April 1989",
  classcodes =   "C6150J (Operating systems)",
  classification = "722; 723",
  corpsource =   "Queen's Univ. Belfast, UK",
  journalabr =   "Commun ACM",
  keywords =     "alarm clock; bounded buffer; buffer pool; CACM synchronization communication semaphores; computer operating systems; disc; exclusion; head optimizer; monitors; multiprogramming; mutual; operating system structuring concept; operating systems (computers); proof rule; readers; scheduler; scheduling; semaphores; single resource; structured multiprogramming; structuring; synchronization; writers",
  treatment =    "A Application; P Practical",
}

@Article{Shen:1974:WBM,
  author =       "Kenneth K. Shen and James L. Peterson",
  title =        "A Weighted Buddy Method for Dynamic Storage Allocation",
  journal =      j-CACM,
  volume =       "17",
  number =       "10",
  pages =        "558--568 (or 558--562??)",
  month =        oct,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  note =         "See corrigendum \cite{Shen:1975:CWB}.",
  abstract =     "An extension of the buddy method, called the weighted buddy method, for dynamic storage allocation is presented. The weighted buddy method allows block sizes of $2^k$ and $3(2^k)$, whereas the original buddy method allowed only block sizes of $2^k$. This extension is achieved at an additional cost of only two bits per block. Simulation results are presented which compare this method with the buddy method. These results indicate that for a uniform request distribution, the buddy system has less total memory fragmentation than the weighted buddy algorithm. However, the total fragmentation is smaller for the weighted buddy method when the requests are for exponentially distributed block sizes.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C6150J (Operating systems)",
  classification = "722; 723",
  corpsource =   "Stanford Univ., CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "allocation; buddy; buddy systems; computer operating systems; dynamic storage allocation; exponentially distributed block sizes; file organisation; fragmentation; memory allocation; operating systems (computers); simulation; storage; system; total memory; uniform request distribution; weighted buddy algorithm; weighted buddy method",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Slutz:1974:NCA,
  author =       "D. R. Slutz and I. L. Traiger",
  title =        "A note on the calculation of average working set size",
  journal =      j-CACM,
  volume =       "17",
  number =       "10",
  pages =        "563--565",
  month =        oct,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Finite-length reference string of arbitrary structure are considered, and an exact expression for average working set size in terms of ``corrected'' interference interval statistics is derived. An example is discussed; upper and lower bounds are obtained; and the average working set size function is shown to be efficiently obtained for a set of page sizes, in a single pass of the reference string. This work follows the developments of a paper by Denning and Schwartz, who consider infinite-length reference strings which satisfy certain statistical properties and who derive an expression relating the asymptotic average working set size to the asymptotic missing page rate function under working set replacement.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C6150J (Operating systems)",
  classification = "723",
  corpsource =   "IBM, San Jose, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "arbitrary structure; average working set size; computer operating systems; data structures; finite length reference string; interference interval statistics; operating systems (computers); page; paging; program behaviour; sizes; storage; virtual; working set model",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Shneiderman:1974:SDS,
  author =       "Ben Shneiderman and Peter Scheuermann",
  title =        "Structured Data Structures",
  journal =      j-CACM,
  volume =       "17",
  number =       "10",
  pages =        "566--574",
  month =        oct,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "Programming systems which permit arbitrary linked list structures enable the user to create complicated structures without sufficient protection. Deletions can result in unreachable data elements, and there is no guarantee that additions will be performed properly. To remedy this situation, this paper proposes a data structure description and manipulation language which provides for the creation of a restricted class of data structures but ensures the correctness of the program. This is accomplished by an explicit structure declaration facility, a restriction on the permissible operations, and execution-time checks.",
  acknowledgement = ack-nhfb,
  annote =       "Operations on linked structures.",
  classcodes =   "C6120 (File organisation)",
  classification = "723",
  corpsource =   "Indiana Univ., Bloomington, IN, USA",
  journalabr =   "Commun ACM",
  keywords =     "arbitrary linked list; base management system; data; data processing; Data Structure Description and Manipulation; data structures; execution; explicit structure declaration facility; Language; storage management; structured data structures; structured programming; structures; time checks",
  treatment =    "A Application; P Practical",
}

@Article{Canaday:1974:BEC,
  author =       "R. H. Canaday and R. D. Harrison and E. L. Ivie and J. L. Ryder and L. A. Wehr",
  title =        "A Back-end Computer for Data Base Management",
  journal =      j-CACM,
  volume =       "17",
  number =       "10",
  pages =        "575--583 (or 575--582??)",
  month =        oct,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "It is proposed that the data base management function be placed on a dedicated back-end computer which accepts commands (in a relatively high level language such as the CODASYL Data Base Task Group, April 1971 Report) from a host computer, accesses the data base on secondary storage, and returns results. The advantages of such a configuration are discussed. An experimental implementation, called the Experimental Data Management System, XDAMS, is described and certain conclusions about the back-end approach are drawn from this implementation.",
  acknowledgement = ack-nhfb,
  annote =       "Physical separation of data base management from data processing to gain flexibility, etc. in the XDMS system.",
  classcodes =   "C6120 (File organisation)",
  classification = "723",
  corpsource =   "Bell Telephone Labs. Inc., Piscataway, NJ, USA",
  journalabr =   "Commun ACM",
  keywords =     "data processing",
  keywords =     "back end computer; computer configurations; computer networks; data base management; Data base Task; digital communication systems; eXperimental Data Management System; Group Language; host computer; secondary storage; storage management",
  treatment =    "A Application; P Practical",
}

@Article{Charnes:1974:GTP,
  author =       "A. Charnes and W. M. Raike and J. D. Stutz and A. S. Walters",
  title =        "On Generation of Test Problems for Linear Programming Codes",
  journal =      j-CACM,
  volume =       "17",
  number =       "10",
  pages =        "583--587 (or 583--586??)",
  month =        oct,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "This paper presents a theoretical justification and an illustrative implementation of a method for generating linear programming test problems with known solutions. The method permits the generation of test problems that are of arbitrary size and have a wide range of numerical characteristics.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0260 (Optimisation techniques); C1180 (Optimisation techniques); C6130 (Data handling techniques)",
  classification = "723; 921",
  corpsource =   "Univ. Texas, Austin, TX, USA",
  journalabr =   "Commun ACM",
  keywords =     "accuracy; codes; computer programming; data handling; large; linear programming; linear programming codes; LP; LP program validation; mathematical programming, linear; program evaluation; scale linear programming codes; test problem generation; test problems",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Veillon:1974:AAN,
  author =       "F. Veillon",
  title =        "{ACM} Algorithm 486: Numerical Inversion of {Laplace} Transform",
  journal =      j-CACM,
  volume =       "17",
  number =       "10",
  pages =        "587--589 (or 587--588??)",
  month =        oct,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "See also \cite{Koppelaar:1976:RNI,Veillon:1977:RNI}.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0230 (Integral transforms); C1130 (Integral transforms); C7310 (Mathematics computing)",
  corpsource =   "Univ. Grenoble, France",
  keywords =     "computers; inversion; Laplace transform; Laplace transforms; natural sciences applications of; numerical inversion; subroutines",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Koppelaar:1974:CRA,
  author =       "H. Koppelaar",
  title =        "Certification and remark on algorithm 191",
  journal =      j-CACM,
  volume =       "17",
  number =       "10",
  pages =        "589--590",
  month =        oct,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7310 (Mathematics computing)",
  corpsource =   "Utrecht State Univ., Netherlands",
  keywords =     "algorithm; hypergeometric; improvements; inefficiency; natural sciences applications of computers; subroutines",
  treatment =    "G General Review; T Theoretical or Mathematical",
}

@Article{Proll:1974:CRQ,
  author =       "L. G. Proll",
  title =        "A computer routine for quadratic and linear programming problems",
  journal =      j-CACM,
  volume =       "17",
  number =       "10",
  pages =        "590--590",
  month =        oct,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0260 (Optimisation techniques); C1180 (Optimisation techniques); C7310 (Mathematics computing)",
  corpsource =   "Univ. Leeds, UK",
  keywords =     "algorithm; computer routine; computers; linear programming; natural sciences applications of; programming; quadratic and linear; quadratic programming; subroutines",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Klemes:1974:RFM,
  author =       "J. Klemes and J. Klemsa",
  title =        "{Rosenbrock} function minimization",
  journal =      j-CACM,
  volume =       "17",
  number =       "10",
  pages =        "590--591",
  month =        oct,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0260 (Optimisation techniques); C1180 (Optimisation techniques); C7310 (Mathematics computing)",
  corpsource =   "CHEPOS, Brno, Czechoslovakia",
  keywords =     "algorithm; minimisation; natural sciences applications of computers; Rosenbrock function minimization",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Krogh:1974:EEI,
  author =       "Fred T. Krogh",
  title =        "Errata: ``{Efficient Implementation of a Variable Projection Algorithm for Nonlinear Least Squares}''",
  journal =      j-CACM,
  volume =       "17",
  number =       "10",
  pages =        "591--591",
  month =        oct,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue May 28 14:52:27 1996",
  note =         "See \cite{Krogh:1974:EIV}.",
  acknowledgement = ack-nhfb,
}

@Article{Gilchrist:1974:EFP,
  author =       "Bruce Gilchrist and Richard E. Weber",
  title =        "Enumerating Full-Time Programmers",
  journal =      j-CACM,
  volume =       "17",
  number =       "10",
  pages =        "592--593",
  month =        oct,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Thu Jan 16 19:52:47 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Data from the 1970 Census and the Department of Labor's Area Wage Surveys are used to derive estimates of the number of full-time programmers employed during the years 1969 through 1973. The 1973 figure of 180,000 is considerably less than suggested in earlier reports. It is recommended that educational administrators consider whether the many courses aimed at training programmers are justified on a vocational basis.",
  acknowledgement = ack-nhfb,
  classification = "723; 912",
  journalabr =   "Commun ACM",
  keywords =     "computer programming",
}

@Article{Sterling:1974:GHC,
  author =       "Theodor D. Sterling",
  title =        "Guidelines for Humanizing Computerized Information Systems, {A} Report from Stanley House",
  journal =      j-CACM,
  volume =       "17",
  number =       "11",
  pages =        "609--613",
  month =        nov,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "This report is the result of an intensive analysis of conditions that may humanize or dehumanize participants in various computerized systems. The guidelines presented here were generated during a week-long workshop sponsored in August 1973 by Canada Council at Canada Council's Stanley House.",
  acknowledgement = ack-nhfb,
  classcodes =   "C0200 (General computer topics); C7100 (Business and administration)",
  classification = "723; 901",
  corpsource =   "Simon Fraser Univ., Burnaby, BC, Canada",
  journalabr =   "Commun ACM",
  keywords =     "computerized information systems; economic and sociological effects; guidelines; humanizing; information retrieval systems; management information; systems",
  treatment =    "G General Review",
}

@Article{Ferrari:1974:ILC,
  author =       "Domenico Ferrari",
  title =        "Improving Locality by Critical Working Sets",
  journal =      j-CACM,
  volume =       "17",
  number =       "11",
  pages =        "614--620",
  month =        nov,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/cache.bib",
  abstract =     "A new approach to program locality improvement via restructuring is described. The method is particularly suited to those systems where primary memory is managed according to a working set strategy. It is based on the concept of critical working set, a working set which does not contain the next memory reference. The data the method operates upon are extracted from a trace of the program to be restructured. It is shown that, except in some special cases, the method is not optimum. However, the experimental results obtained by using the method to restructure an interactive text editor and the file system module of an operating system have shown its substantial superiority over the other methods proposed in the literature.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C6150J (Operating systems)",
  classification = "723",
  corpsource =   "Univ. California, Berkeley, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer systems programming; critical working set; dynamic restructuring; file organisation; improvement; locality; memory hierarchies; multiprogramming; program restructuring; program segmentation; restructuring; restructuring techniques; static; virtual memory; working set strategy",
  treatment =    "P Practical",
}

@Article{Miller:1974:LPS,
  author =       "Perry Lowell Miller",
  title =        "A locally-organized parser for spoken input",
  journal =      j-CACM,
  volume =       "17",
  number =       "11",
  pages =        "621--630",
  month =        nov,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "This paper describes LPARS, a locally-organized parsing system, designed for use in a continuous speech recognizer. LPARS processes a string of phonemes which contains ambiguity and error. The system is locally-organized in the sense that it builds local parse structures from reliable word candidates recognized anywhere in an input utterance. These local structures are used as ``islands of reliability'' to guide the search for more highly garbled words which might complete the utterance.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5530 (Pattern recognition and computer vision equipment)",
  classification = "723; 751",
  corpsource =   "MIT, Cambridge, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "augmented; local parsing; parsing; speech recognition; speech understanding; transition networks",
  treatment =    "P Practical",
}

@Article{Rader:1974:MCS,
  author =       "Gary M. Rader",
  title =        "Method for Composing Simple Traditional Music by Computer",
  journal =      j-CACM,
  volume =       "17",
  number =       "11",
  pages =        "631--638",
  month =        nov,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A method is described for composing musical rounds by computer. This method uses some music theory plus additional heuristics. Fundamental to the method is a set of productions together with sets of applicability rules and weight rules which operate on the productions deciding when and to what extent they are available for use. Several rounds generated by the computer implementation of the method are presented. Generally, the resultant music sounds mediocre to the professional although usually pleasing to the layman. It appears that full-blown music theory is not needed for rounds --- all the hardware required for structural levels is not necessary for these pieces. The author has tried to address both musicians and computer scientists.",
  acknowledgement = ack-nhfb,
  classcodes =   "C1230 (Artificial intelligence); C7820 (Humanities computing)",
  classification = "461; 723; 912",
  corpsource =   "Univ. Pennsylvania, Philadelphia, PA, USA",
  journalabr =   "Commun ACM",
  keywords =     "artificial intelligence; computer composition; computer music; formal; heuristic programming; humanities; languages; models of cognitive processes; music theory; probabilistic grammars; systems science and cybernetics; traditional musical rounds",
  treatment =    "A Application; P Practical",
}

@Article{Freiburghouse:1974:RAU,
  author =       "R. A. Freiburghouse",
  title =        "Register Allocation via Usage Counts",
  journal =      j-CACM,
  volume =       "17",
  number =       "11",
  pages =        "638--642",
  month =        nov,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/Compiler.Lins.bib",
  abstract =     "This paper introduces the notion of usage counts, shows how usage counts can be developed by algorithms that eliminate redundant computations, and describes how usage counts can provide the basis for register allocation. The paper compares register allocation based on usage counts to other commonly used register allocation techniques, and presents evidence which shows that the usage count technique is significantly better than these other techniques.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming); C6120 (File organisation)",
  classification = "723",
  corpsource =   "Honeywell Information Systems Inc., Cambridge, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "common subexpressions; compilers; computations; computer programming; demand paging; languages; optimization; programming; redundant; register allocation; storage allocation; usage counts; virtual memory",
  treatment =    "P Practical",
}

@Article{Dijkstra:1974:SSS,
  author =       "E. W. Dijkstra",
  title =        "Self-stabilizing Systems in Spite of Distributed Control",
  journal =      j-CACM,
  volume =       "17",
  number =       "11",
  pages =        "643--644",
  month =        nov,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Misc/traces.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C4220 (Automata theory); C6150J (Operating systems)",
  corpsource =   "Burroughs Corp., Nuenen, Netherlands",
  keywords =     "(computers); automata theory; distributed control; error recovery; fault tolerant computing; harmonious cooperation; multiprocessing; mutual exclusion; networks; operating systems; robustness; self repair; self stabilization; sharing; synchronization",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Brown:1974:ODM,
  author =       "J. A. Brown and B. Werner",
  title =        "An on-site data management system application in field archaeology",
  journal =      j-CACM,
  volume =       "17",
  number =       "11",
  pages =        "644--646",
  month =        nov,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C7820 (Humanities computing)",
  corpsource =   "Northwestern Univ., Evanston, IL, USA",
  keywords =     "APL-PLUS; archaeology; data management system; field archaeology; file organisation; on site; prehistoric site; retrieval systems",
  treatment =    "A Application; P Practical",
}

@Article{Hanson:1974:STR,
  author =       "D. R. Hanson",
  title =        "A simple technique for representing strings in {Fortran IV}",
  journal =      j-CACM,
  volume =       "17",
  number =       "11",
  pages =        "646--647",
  month =        nov,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming); C6120 (File organisation); C6140D (High level languages)",
  corpsource =   "Univ. Arizona, Tucson, AZ, USA",
  keywords =     "data structures; FORTRAN; FORTRAN IV; programming; representing strings; string processing; structured",
  treatment =    "P Practical",
}

@Article{VanRijsbergen:1974:BPD,
  author =       "C. J. {Van Rijsbergen}",
  title =        "The best-match problem in document retrieval",
  journal =      j-CACM,
  volume =       "17",
  number =       "11",
  pages =        "648--649",
  month =        nov,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C7250 (Information storage and retrieval)",
  corpsource =   "Monash Univ., Clayton, Vic., Australia",
  keywords =     "best match; classification; clustering; dissimilarity; document retrieval; file searching; hierarchy; information retrieval; matching",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Evans:1974:MEL,
  author =       "R. V. Evans",
  title =        "Multiple exits from a loop using neither {GO TO} nor labels",
  journal =      j-CACM,
  volume =       "17",
  number =       "11",
  pages =        "650--650",
  month =        nov,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming)",
  corpsource =   "ICL Dataskil, Reading, UK",
  keywords =     "control structures; exit statement; GO TO; go to free programming; labels; multiple exits from loops; programming",
  treatment =    "P Practical",
}

@Article{Knuth:1974:CPA,
  author =       "Donald E. Knuth",
  title =        "Computer Programming as an Art",
  journal =      j-CACM,
  volume =       "17",
  number =       "12",
  pages =        "667--673",
  month =        dec,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  note =         "French translation, with three supplementary paragraphs, in {\sl L'Informatique Nouvelle}, No.\ 64 (June 1975), 20--27. Japanese translation by Makoto Arisawa in {\sl bit\/ \bf 7} (1975), 434--444; reprinted in {\sl Kunusu Sensei no Program-Ron\/} (see under Books), 2--19. English version reprinted with the supplementary paragraphs in {\sl ACM Turing Award Lectures: The First Twenty Years} (New York: ACM Press, 1987), 33--46; reprinted with corrections in \cite[pp.~1--16]{Knuth:1992:LP}. Russian translation by V. V. Martyn\t iuk in {\sl Lektsii laureatov premii T'\t\i uringa\/} (Moscow: Mir, 1993), 48--64.",
  abstract =     "Discussion emphasizes that computer programming is an art as well as a science.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming)",
  classification = "723",
  corpsource =   "Stanford Univ., CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "art; computer; computer programming; programming; quality",
  treatment =    "G General Review; P Practical",
}

@Article{Press:1974:AMC,
  author =       "Laurance I. Press",
  title =        "Arguments for a Moratorium on the Construction of a Community Information Utility",
  journal =      j-CACM,
  volume =       "17",
  number =       "12",
  pages =        "674--678",
  month =        dec,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "In this article the author urges a prudent and decentralized approach to the question of the design and desirability of computerized community information utilities. Current proposals for community information utilities are examined in this framework, and the conclusion is drawn that society is not yet in a position to justify either the construction of an information utility in a prototype community or the acceptance of a policy in favor of its widespread implementation.",
  acknowledgement = ack-nhfb,
  classcodes =   "C7210 (Information services and centres)",
  classification = "723",
  corpsource =   "Univ. Southern California, Los Angeles, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "community information utility; construction; decentralized; demand; design; desirability; effects; feasibility; information services; side; techniques; users; world view",
  treatment =    "G General Review",
}

@Article{Strauss:1974:AMH,
  author =       "J. C. Strauss",
  title =        "An analytic model of the {Hasp} execution task monitor",
  journal =      j-CACM,
  volume =       "17",
  number =       "12",
  pages =        "679--685",
  month =        dec,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A simple analytic model has been developed for investigating the effects of the HASP Execution Task Monitor on the performance of a multiprogramming system. A specific example is worked through in detail, and numerical results are reported. The model demonstrates the effect of the HETM priority algorithm and permits the evaluation of possible modifications to the algorithm.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150G (Diagnostic, testing, debugging and evaluating systems); C6150J (Operating systems)",
  classification = "723",
  corpsource =   "Washington Univ., St. Louis, MO, USA",
  journalabr =   "Commun ACM",
  keywords =     "(computers); analytic model; computer selection and evaluation; computer systems programming; dispatching; execution task monitor; HASP; hasp execution task monitor; operating systems; OS/360; performance evaluation; scheduling",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Adam:1974:CLS,
  author =       "Thomas L. Adam and K. M. Chandy and J. R. Dickson",
  title =        "A Comparison of List Schedules for Parallel Processing Systems",
  journal =      j-CACM,
  volume =       "17",
  number =       "12",
  pages =        "685--690",
  month =        dec,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Parallel/OVR.bib",
  abstract =     "The problem of scheduling two or more processors to minimize the execution time of a program which consists of a set of partially ordered tasks is studied. Cases where task execution times are deterministic and others in which execution times are random variables are analyzed. It is shown that different algorithms suggested in the literature vary significantly in execution time and that the B-schedule of Coffman and Graham is near-optimal. A dynamic programming solution for the case in which execution times are random variables is presented.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5400 (Analogue and digital computers and systems); C6150J (Operating systems)",
  classification = "722",
  corpsource =   "Univ. Texas, Austin, TX, USA",
  journalabr =   "Commun ACM",
  keywords =     "comparison; computer systems, digital; dynamic programming; list schedules; list scheduling; optimisation; optimization; parallel processing; parallel processing systems; precedence graphs; scheduling",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Wallace:1974:CGG,
  author =       "N. D. Wallace",
  title =        "Computer Generation of Gamma Random Variates with Non-Integral Shape Parameters",
  journal =      j-CACM,
  volume =       "17",
  number =       "12",
  pages =        "691--695",
  month =        dec,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65C10",
  MRnumber =     "51 11920",
  mrreviewer =   "R. R. Coveyou",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD.bib",
  abstract =     "When the shape parameter, alpha, is integral, generating gamma random variables with a digital computer is straightforward. There is no simple method for generating gamma random variates with non-integral shape parameters. A common procedure is to approximately generate such random variables by the use of the so-called probability switch method. Another procedure, which is exact, is due to Joehnk. This paper presents a rejection method for exactly generating gamma random variables when alpha is greater than 1. The efficiency of the rejection method is shown to be better than the efficiency of M. D. Joehnk's method. The paper concludes that when alpha is non-integral, the following mix of procedures yields the best combination of accuracy and efficiency: (1) when alpha is less than 1, use Joehnk's method; (2) when 1 is less than alpha and alpha is less than 5, use the rejection method; (3) when alpha is greater than 5, use the probability switch method.",
  acknowledgement = ack-nhfb,
  classcodes =   "C7890 (Other special applications of computing)",
  classification = "922",
  corpsource =   "Southern Illinois Univ., Edwardsville, IL, USA",
  country =      "USA",
  descriptors =  "RVG;",
  enum =         "8007",
  journalabr =   "Commun ACM",
  keywords =     "computer generation; gamma random variables; probability; probability distribution; random number generation; random numbers; simulation",
  language =     "English",
  location =     "SEL: Wi",
  references =   "0",
  revision =     "16/01/94",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Salazar:1974:GFS,
  author =       "A. Salazar and R. V. Oakford",
  title =        "A Graph Formulation of a School Scheduling Algorithm",
  journal =      j-CACM,
  volume =       "17",
  number =       "12",
  pages =        "696--698",
  month =        dec,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "90B35",
  MRnumber =     "51 12313",
  mrreviewer =   "I. Gh. Ciobanu",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Theory/graph.coloring.bib",
  note =         "See \cite{Korfhage:1975:SO,Korfhage:1975:MSO,Garey:1975:SO}.",
  abstract =     "The problem classically titled ``The Examination Schedule Problem'' takes various forms in the literature. Most of these formulations can be presented in the terminology of classical Network Theory. \par One such formulation is: Given a nondirected network, partition its nodes into a minimal number of subsets such that no two members of the same subset are connected by an arc. An obvious lower limit to this number is the size of the largest strongly connected subgraph. Kirchgassner proved that an upper limit is this size plus one. One logical extension of the previous work is the introduction of variable length examinations where $W(I)$ is the number of periods for exam $I$. The object of this paper is to generalize the definition of largest strongly connected subgraph to include the weighting of nodes, to present an approximate algorithm which usually finds the largest strongly connected subgraph, and to discuss the application of this algorithm to the solution of school scheduling and exam scheduling problems.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0260 (Optimisation techniques); C1180 (Optimisation techniques); C1290F (Systems theory applications in industry)C7110 (Educational administration)",
  classification = "723; 921",
  corpsource =   "Stanford Univ., CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer programming --- Subroutines; data processing; educational administrative data processing; examination; examination scheduling; graph; graph coloring; graph theory; mathematical techniques --- Graph Theory; nondirected network; scheduling; school; school scheduling; strongly connected; strongly connected subgraph; subgraph",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Chu:1974:EMS,
  author =       "Sherwood C. Chu and Mones Berman",
  title =        "An Exponential Method for the Solution of Systems of Ordinary Differential Equations",
  journal =      j-CACM,
  volume =       "17",
  number =       "12",
  pages =        "699--702",
  month =        dec,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65L99",
  MRnumber =     "51 4685",
  mrreviewer =   "W. H. Enright",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "An explicit, coupled, single-step method for the numerical solution of initial value problems for systems of ordinary differential equations is presented. \par The method was designed to be general purpose in nature but to be especially efficient when dealing with stiff systems of differential equations. It is, in general, second order except for the case of a linear system with constant coefficients and linear forcing terms; in that case, the method is third order. It has been implemented and put to routine usage in biological applications-where stiffness frequently appears-with favorable results. When compared to a standard fourth order Runge-Kutta implementation, computation time required by this method has ranged from comparable for certain nonstiff problems to better than two orders of magnitude faster for some highly stiff systems.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290P (Differential equations); C4170 (Differential equations)",
  classification = "921",
  corpsource =   "Nat. Cancer Inst., Bethesda, MD, USA",
  journalabr =   "Commun ACM",
  keywords =     "boundary-value problems; initial; initial value problems; mathematical techniques; numerical methods; numerical solution; ordinary differential equations; stiff systems; value problems",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Pomeranz:1974:AAE,
  author =       "J. Pomeranz",
  title =        "{ACM} Algorithm 487: Exact Cumulative Distribution of the {Kolmogorov-Smirnov} Statistic for Small Samples",
  journal =      j-CACM,
  volume =       "17",
  number =       "12",
  pages =        "703--704",
  month =        dec,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "See also \cite{Pomeranz:1976:REC}.",
  acknowledgement = ack-nhfb,
  classcodes =   "C7310 (Mathematics computing)",
  corpsource =   "Purdue Univ., West Lafayette, IN, USA",
  keywords =     "algorithm; exact cumulative distribution; FORTRAN; Kolmogorov Smirnov test; natural sciences applications of computers; small samples; statistic; statistics; subroutines",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Brent:1974:AAG,
  author =       "R. P. Brent",
  title =        "{ACM} Algorithm 488: {A} {Gaussian} pseudo-random number generator [{G5}]",
  journal =      j-CACM,
  volume =       "17",
  number =       "12",
  pages =        "704--706 (or 704--705??)",
  month =        dec,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C7890 (Other special applications of computing)",
  corpsource =   "Australian Nat. Univ., Canberra, Australia",
  country =      "USA",
  descriptors =  "RVG;",
  enum =         "7061",
  keywords =     "distribution; FORTRAN; Gaussian; generator; GRAND; normal distribution; pseudo random numbers; random number generation; random numbers; subroutines",
  language =     "English",
  location =     "SEL: Wi",
  references =   "0",
  revision =     "16/01/94",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Skinner:1974:HAI,
  author =       "C. William Skinner",
  title =        "Heuristic Approach to Inductive Inference in Fact Retrieval Systems",
  journal =      j-CACM,
  volume =       "17",
  number =       "12",
  pages =        "707--712",
  month =        dec,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Heuristic procedures are presented which have been developed to perform inferences by generalizing from available information. The procedures make use of a similarity structure which is imposed on the data base using nonnumerical clustering algorithms. They are implemented in a model fact retrieval system which uses a formal query language and a property-list data structure. A program of experiments is described wherein the procedures are used with test data bases which are altered by deleting part of the data and by purposely introducing false data. It is found that the system can infer the correct response under a variety of conditions involving incomplete and inconsistent data.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C7100 (Business and administration); C7250 (Information storage and retrieval)",
  classification = "723; 901",
  corpsource =   "North Carolina State Univ., Raleigh, NC, USA",
  journalabr =   "Commun ACM",
  keywords =     "clustering; fact retrieval; file organisation; formal query language; heuristic programming; heuristics; inductive; inference; information; information retrieval systems; management information systems; retrieval systems",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Mitra:1974:SAH,
  author =       "D. Mitra",
  title =        "Some Aspects of Hierarchical Memory Systems",
  journal =      j-CACM,
  volume =       "21",
  number =       "1",
  pages =        "54--65",
  month =        jan,
  year =         "1974",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Misc/storage.bib",
  keywords =     "memory hierarchy; Performance Evaluation: Analytic",
}

@Article{Millstein:1975:CSI,
  author =       "R. E. Millstein",
  title =        "Control Structures in {Illiac IV Fortran}",
  journal =      j-CACM,
  volume =       "6",
  number =       "10",
  pages =        "157--164",
  month =        oct,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Sep 20 22:19:34 1994",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Parallel/Multi.bib",
}

@Article{Sterling:1975:CHL,
  author =       "T. Sterling and V. Lum and N. Shu and B. Housel",
  title =        "{\em CONVERT\/}: {A} High Level Translation Definition Language for Data Conversion",
  journal =      j-CACM,
  volume =       "8",
  number =       "10",
  pages =        "557--567",
  month =        oct,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Mon Feb 12 14:34:00 1996",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/database.bib",
  abstract =     "This paper describes a high level and nonprocedural translation definition language, CONVERT, which provides very powerful and highly flexible data restructuring capabilities. Its design is based on the simple underlying concept of a form which enables the users to visualize the translation processes, and thus makes data translation a much simpler task. ``CONVERT'' has been chosen for conveying the purpose of the language and should not be confused with any other language or program bearing the same name.",
  annote =       "A full description of the CONVERT language is given. It is fairly complete, and dealt well with record oriented systems. A good set of examples is given.",
  keywords =     "data conversion; data restructuring; data translation; database reorganization; nonprocedural languages; programming languages; translation definition; utility program",
  owner =        "curtis",
}

@Article{Finerman:1975:PCF,
  author =       "Aaron Finerman",
  title =        "Professionalism in the Computing Field",
  journal =      j-CACM,
  volume =       "18",
  number =       "1",
  pages =        "4--9",
  month =        jan,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Each of the four types of institutions --- academic, industry, government, and the professional society --- that educate, employ, regulate, and mold the practitioner contributes to the ``nonprofessional'' status of the computing practitioner. The roles of these institutions are examined, various shortcomings are noted, and recommended changes are suggested.",
  acknowledgement = ack-nhfb,
  classcodes =   "C0200 (General computer topics)",
  classification = "723; 912",
  corpsource =   "State Univ. of New York, Stony Brook, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "academic; computers; computing; computing practitioner; economic and sociological effects; education; educational programmes; employment; government; industry; professional society; professionalism; social standards; technical standards",
  treatment =    "G General Review; P Practical",
}

@Article{Bauer:1975:PN,
  author =       "F. L. Bauer",
  title =        "Positivity and Norms",
  journal =      j-CACM,
  volume =       "18",
  number =       "1",
  pages =        "9--13",
  month =        jan,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65F35 (15A60 47A30)",
  MRnumber =     "54 6476",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  note =         "Collection of articles honoring {Alston S. Householder}.",
  abstract =     "Following some lines of joint work with A. S. Householder, the character and use of algebraic methods in the theory of norms is demonstrated. New results concerning norms with values in an Archimedian vector lattice (not necessarily being totally ordered) are given, in particular for the generalization of order unit norms, L-norms and M-norms. An example of application to operator norms is given concerning contraction properties of positive operators.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290H (Linear algebra); C4140 (Linear algebra)",
  classification = "921",
  corpsource =   "Math. Inst., Tech. Univ. of Munich, Munich, West Germany",
  journalabr =   "Commun ACM",
  keywords =     "absolute; algebraic methods; Archimedian vector lattice; contraction; L norms; M norms; mathematical techniques; matrices; matrix algebra; methods; monotonic; norms; numerical; numerical methods; numerical range; operator norms; order; positive operators; positivity; positivity cones; properties; unit norms; vector lattice; vectors",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Todd:1975:LC,
  author =       "John Todd",
  title =        "The Lemniscate Constants",
  journal =      j-CACM,
  volume =       "18",
  number =       "1",
  pages =        "14--19",
  month =        jan,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65D20",
  MRnumber =     "51 11935",
  mrreviewer =   "L. Fox",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  note =         "Collection of articles honoring {Alston S. Householder}. See corrigendum \cite{Todd:1975:CLC}.",
  abstract =     "The lemniscate constants, and indeed some of the methods used for actually computing them, have played an enormous part in the development of mathematics. An account is given here of some of the methods used --- most of the derivations can be made by elementary methods. This material can be used for teaching purposes, and there is much relevant and interesting historical material. The acceleration methods developed for the purpose of evaluating these constants are useful in other problems.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290D (Functional analysis); B0290Z (Other numerical methods); C4120 (Functional analysis); C4190 (Other numerical methods)",
  classification = "921",
  corpsource =   "California Inst. of Technol., Pasadena, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "acceleration; acceleration methods; elliptic functions; Euler transformation; function evaluation; lemniscate; lemniscate constants; mathematical techniques; mathematics; transforms",
  treatment =    "B Bibliography; T Theoretical or Mathematical",
}

@Article{Peters:1975:SGJ,
  author =       "G. Peters and J. H. Wilkinson",
  title =        "On the Stability of {Gauss-Jordan} Elimination with Pivoting",
  journal =      j-CACM,
  volume =       "18",
  number =       "1",
  pages =        "20--24",
  month =        jan,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65F05 (65G05)",
  MRnumber =     "51 7261",
  mrreviewer =   "L. B. Rall",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  note =         "Collection of articles honoring {Alston S. Householder}",
  abstract =     "The stability of the Gauss-Jordan algorithm with partial pivoting for the solution of general systems of linear equations is commonly regarded as suspect. \par It is shown that in many respects suspicions are unfounded, and in general the absolute error in the solution is strictly comparable with that corresponding to Gaussian elimination with partial pivoting plus back substitution. However, when A is ill conditioned, the residual corresponding to the Gauss-Jordan solution will often be much greater than that corresponding to the Gaussian elimination solution.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290B (Error analysis in numerical methods); B0290H (Linear algebra); C4110 (Error analysis in numerical methods); C4140 (Linear algebra)",
  classification = "921",
  corpsource =   "Nat. Phys. Lab., Teddington, UK",
  journalabr =   "Commun ACM",
  keywords =     "back-substitution; backward error analysis; bound for residual; bounds for error in solution; Gauss-Jordan algorithm; Gaussian elimination; mathematical techniques",
  keywords =     "absolute error; elimination; error analysis; Gauss Jordan algorithm; Gauss/Jordan; Gaussian elimination; linear algebra; linear equations; numerical methods; stability",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Birkhoff:1975:THN,
  author =       "Garrett Birkhoff",
  title =        "Two {Hadamard} Numbers for Matrices",
  journal =      j-CACM,
  volume =       "18",
  number =       "1",
  pages =        "25--29",
  month =        jan,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65F35",
  MRnumber =     "51 9464",
  mrreviewer =   "John Todd",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  note =         "Collection of articles honoring {Alston S. Householder}.",
  abstract =     "A discussion is given of two functions of the entries of a square matrix, both related to Hadamard's determinant theorem, which have some merits as alternatives to norm-bound ``condition numbers''. One (for linear systems) is known; the other (for eigensystems) seems to be new.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290H (Linear algebra); C4140 (Linear algebra)",
  classification = "921",
  corpsource =   "Harvard Univ., Cambridge, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "condition numbers; eigen systems; eigenvalues; error analysis; Gram-Schmidt orthogonalization; Gram/Schmidt organisation; Hadamard numbers; Hadamard's determinant; linear systems; mathematical techniques; matrices; matrix algebra; norm bound 'condition numbers'; norms; square matrix; theorem",
  treatment =    "T Theoretical or Mathematical",
}

@Article{vanderSluis:1975:PEN,
  author =       "A. {van der Sluis}",
  title =        "Perturbations of Eigenvalues of Non-Normal Matrices",
  journal =      j-CACM,
  volume =       "18",
  number =       "1",
  pages =        "30--36",
  month =        jan,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65F15",
  MRnumber =     "51 9457a",
  mrreviewer =   "Jan Zitko",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Theory/gvl.bib",
  note =         "Collection of articles honoring {Alston S. Householder}. See corrigendum \cite{vanderSluis:1975:CPE}.",
  abstract =     "The problem considered is to give bounds for finite perturbations of simple and multiple eigenvalues $lambda_i$ of nonnormal matrices, where these bounds are in terms of the eigenvalues $\{\lambda_i\}$, the departure from normality $\sigma$, and the Frobenius norm of the perturbation matrix, but not in terms of the eigensystem. The bounds which are derived are shown to be almost attainable for any set of all matrices of given $\{\lambda_i\}$ and $\sigma$.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290H (Linear algebra); C4140 (Linear algebra)",
  classification = "921",
  corpsource =   "Univ. of Utrecht, Utrecht, Netherlands",
  journalabr =   "Commun ACM",
  keywords =     "circles; departure from normality; eigenvalues; eigenvalues and eigenfunctions; Frobenius norm; Gershgorin; Gershgorin circles; mathematical techniques; matrix algebra; non-normal matrices; nonnormal matrices; perturbation of eigenvalues; perturbations",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Marcus:1975:EDT,
  author =       "Marvin Marcus and Herbert Robinson",
  title =        "Elementary Divisors of Tensor Products",
  journal =      j-CACM,
  volume =       "18",
  number =       "1",
  pages =        "36--39",
  month =        jan,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "15A69",
  MRnumber =     "51 571",
  mrreviewer =   "George P. Barker",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The elementary divisors of a tensor product of linear transformations have been known for 40 years. This paper provides a short, easily accessible proof of these results, and points out an interesting combinatorial consequence of the proof.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290H (Linear algebra); C4140 (Linear algebra)",
  classification = "921",
  corpsource =   "Univ. of California, Santa Barbara, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "combinatorial; combinatorial mathematics; consequence; elementary divisors; linear transformations; mathematical techniques; matrix algebra; tensor products; tensors",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Hestenes:1975:PCG,
  author =       "Magnus R. Hestenes",
  title =        "Pseudoinverses and Conjugate Gradients",
  journal =      j-CACM,
  volume =       "18",
  number =       "1",
  pages =        "40--43",
  month =        jan,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65F20",
  MRnumber =     "51 2269",
  mrreviewer =   "G. Maess",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Theory/Matrix.bib",
  note =         "Collection of articles honoring {Alston S. Householder}",
  abstract =     "This paper is devoted to the study of connections between pseudoinverses of matrices and conjugate gradients and conjugate direction routines.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290H (Linear algebra); C4140 (Linear algebra)",
  classification = "921",
  corpsource =   "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "cg; conjugate direction routines; conjugate gradients; ginv; hermitian matrix; mathematical techniques; matrices; matrix algebra; minimisation; minimization; nla; pseudoinverse; pseudoinverses",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Mills:1975:NMC,
  author =       "Harlan D. Mills",
  title =        "The New Math of Computer Programming",
  journal =      j-CACM,
  volume =       "18",
  number =       "1",
  pages =        "43--48",
  month =        jan,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A05",
  MRnumber =     "51 2333a",
  mrreviewer =   "E. Ikaunieks",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/softeng.bib",
  note =         "Collection of articles honoring {Alston S. Householder}. See corrigendum \cite{Mills:1975:CNM}.",
  abstract =     "Structured programming has proved to be an important methodology for systematic program design and development. Structured programs are identified as compound function expressions in the algebra of functions. The algebraic properties of these function expressions permit the reformulation (expansion as well as reduction) of a nested subexpression independently of its environment, thus modeling what is known as stepwise program refinement as well as program execution. Finally, structured programming is characterized in terms of the selection and solution of certain elementary equations defined in the algebra of functions. These solutions can be given in general formulas, each involving a single parameter, which display the entire freedom available in creating correct structure programs.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory); C6110 (Systems analysis and programming)",
  classification = "723; 921",
  corpsource =   "IBM Federal Systems Div., Owego, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "algebraic properties; compound; computer metatheory; computer programming; function expressions; mathematical techniques; program correctness; program execution; programming; programming theory; structured; systematic program design",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Chen:1975:SER,
  author =       "Tien Chi Chen and Irving T. Ho",
  title =        "Storage-Efficient Representation of Decimal Data",
  journal =      j-CACM,
  volume =       "18",
  number =       "1",
  pages =        "49--52",
  month =        jan,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "94A15 (68A20)",
  MRnumber =     "50 16105",
  mrreviewer =   "R. N. Goss",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; garbo.uwasa.fi:/pc/doc-soft/fpbiblio.txt",
  note =         "Collection of articles honoring {Alston S. Householder}",
  abstract =     "Usually n decimal digits are represented by 4n bits in computers. Actually, two BCD digits can be compressed optimally and reversibly into 7 bits, and three digits into 10 bits, by a very simple algorithm based on the fixed-length combination of two variable field-length encodings. In over half of the cases the compressed code results from the conventional BCD code by simple removal of redundant 0 bits. A long decimal message can be subdivided into three-digit blocks, and separately compressed; the result differs from the asymptotic minimum length by only 0.34 percent. The hardware requirement is small, and the mappings can be done manually.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  classification = "722; 921",
  corpsource =   "IBM San Jose Res. Lab., CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "data storage units; mathematical techniques --- Digital Arithmetic",
  keywords =     "asymptotic minimum; binary coded decimal; codes; compressed code; data compression; decimal data; fixed length combination; hardware; length; length encodings; representation; storage efficient; variable field",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Liniger:1975:CBA,
  author =       "Werner Liniger",
  title =        "Connections Between Accuracy and Stability Properties of Linear Multistep Formulas",
  journal =      j-CACM,
  volume =       "18",
  number =       "1",
  pages =        "53--56",
  month =        jan,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65L05",
  MRnumber =     "51 2291",
  mrreviewer =   "Ian Gladwell",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  note =         "Collection of articles honoring {Alston S. Householder}",
  abstract =     "This paper is concerned with stability and accuracy of families of linear $k$-step formulas depending on parameters, with particular emphasis on the numerical solution of stiff ordinary differential equations. \par An upper bound, $p=k$, is derived for the order of accuracy of $A(\infty)$-stable formulas. Three criteria are given for A$(0)$-stability. It is shown that (1) for $p=k$, $k$ arbitrary, $A(\infty)$-stability implies certain necessary conditions for $A(0)$-stability and for strict stability (meaning that the extraneous roots of $p(\psi)$ satisfy $|\psi|<1)$; (2) for $p=k=2,3,4, \mbox{and} 5$, $A(\infty)$-stability (for $k=5$ together with another constraint) implies strict stability; and (3) for certain one-parameter classes of formulas with $p=k=3,4,\mbox{and/or} 5$, $A(\infty)$-stability implies $A(0)$-stability.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290B (Error analysis in numerical methods); B0290P (Differential equations); C4110 (Error analysis in numerical methods); C4170 (Differential equations)",
  classification = "921",
  corpsource =   "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "A(0)-stability; A(inf)-stability; accuracy; differential equations; error analysis; linear multistep formulas; mathematical techniques; numerical; numerical methods; order of accuracy; parametrised linear multistep formulae; parametrized linear multistep formulas; solution; stability; stiff equations; stiff ordinary differential equations; strict stability",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Hanson:1975:SUM,
  author =       "Richard J. Hanson",
  title =        "Stably Updating Mean and Standard Deviation of Data",
  journal =      j-CACM,
  volume =       "18",
  number =       "1",
  pages =        "57--58",
  month =        jan,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "62-04",
  MRnumber =     "51 7064",
  mrreviewer =   "D. J. Evans",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1975.bib",
  note =         "Collection of articles honoring {Alston S. Householder}",
  abstract =     "By considering the (sample) mean of a set of data as a fit to this data by a constant function, a computational method is given based on a matrix formulation and Givens transformations. The (sample) mean and standard deviation can be updated as data accumulates. The procedure is numerically stable and does not require storage of the data. Methods for dealing with weighted data and data removal are presented. When updating the mean and square of the standard deviation, the process requires no square roots.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290F (Interpolation and function approximation); C4130 (Interpolation and function approximation)",
  classification = "921",
  corpsource =   "Washington State Univ., Pullman, WA, USA",
  country =      "USA",
  descriptors =  "Simulation; statistics; numeric calculation;",
  enum =         "7357",
  journalabr =   "Commun ACM",
  keywords =     "data removal; estimation; function approximation; Givens; iterative methods; least squares approximation; mathematical statistics; mathematical techniques; matrix formulation; mean; stably updating; standard deviation; theory; transformations; weighted data",
  language =     "English",
  references =   "0",
  treatment =    "T Theoretical or Mathematical",
}

@Article{McCarthy:1975:PCC,
  author =       "John McCarthy",
  title =        "Proposed Criterion for a Cipher to be Probable-Word Proof",
  journal =      j-CACM,
  volume =       "18",
  number =       "2",
  pages =        "??--??",
  month =        feb,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Sat Jan 18 15:50:16 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  xxnote =       "Cannot find in index to volume 18, nor in Compendex, nor in MathSciNet, nor in Zentralblatt f{\"u}r Mathematik, nor in ACM Computing Archive CD-ROM.",
}

@Article{Burnett:1975:AIM,
  author =       "G. J. Burnett and E. G. {Coffman, Jr.}",
  title =        "Analysis of Interleaved Memory Systems Using Blockage Buffers",
  journal =      j-CACM,
  volume =       "18",
  number =       "2",
  pages =        "91--95",
  month =        feb,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A model of interleaved memory systems is presented, and the analysis of the model by Monte Carlo simulation is discussed. The simulations investigate the performance of various system structures, i.e., schemes for sending instruction and data requests to the memory system. Performance is measured by determining the distribution of the number of memory modules in operation during a memory cycle.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5310 (Storage system design); C6120 (File organisation)",
  classification = "723",
  corpsource =   "Index Systems Inc., Cambridge, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "blockage buffers; data requests; data storage, digital; file organisation; interleaved memory systems; memory cycle; memory modules; Monte Carlo methods; Monte Carlo simulation; simulation; storage; structures; system; units",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Goldman:1975:SPC,
  author =       "Neil M. Goldman",
  title =        "Sentence Paraphrasing from a Conceptual Base",
  journal =      j-CACM,
  volume =       "18",
  number =       "2",
  pages =        "96--106",
  month =        feb,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A model of natural language generation based on an underlying language-free representation of meaning is described. A program based on this model is able to produce sentence paraphrases which demonstrate understanding with respect to a given context. This generator operates in conjunction with a natural language analyzer and a combined memory and inference model. In generating sentences from meaning structures, the program employs both the information retrieval and deduction capabilities of the memory model.",
  acknowledgement = ack-nhfb,
  classcodes =   "C1230 (Artificial intelligence); C7820 (Humanities computing)",
  classification = "721",
  corpsource =   "Stanford Univ., Stanford, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "artificial intelligence; automata theory; conceptual base; conceptual properties; dictionary; discrimination nets; formal grammar; information retrieval; knowledge; language translation and; linguistics; memory and inference; model; natural language; sentence paraphrasing; surface grammatical; syntactic roles; systems science and cybernetics --- Artificial Intelligence; word sense",
  treatment =    "X Experimental",
}

@Article{VanderBrug:1975:SSP,
  author =       "Gordon J. VanderBrug and Jack Minker",
  title =        "State-Space, Problem-Reduction, and Theorem Proving --- Some Relationships",
  journal =      j-CACM,
  volume =       "18",
  number =       "2",
  pages =        "107--115",
  month =        feb,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A45",
  MRnumber =     "54 9192",
  mrreviewer =   "Walter Oberschelp",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Ai/nonmono.bib",
  abstract =     "This paper suggests a bidirectional relationship between state-space and problem-reduction representations. It presents a formalism based on multiple-input and multiple-output operators which provides a basis for viewing the two types of representations in this manner. A representation of the language recognition problem which is based on the J. Cocke parsing algorithm is used as an illustration. A method for representing problems in first-order logic in such a way that the inference system employed by a resolution-based theorem prover determines whether the set of clauses is interpreted in the state-space mode or in the problem-reduction mode is presented.",
  acknowledgement = ack-nhfb,
  classcodes =   "C1230 (Artificial intelligence); C1310 (Control system analysis and synthesis methods)",
  classification = "461; 731",
  corpsource =   "Univ. of Maryland, College Park, MD, USA",
  journalabr =   "Commun ACM",
  keywords =     "systems science and cybernetics",
  keywords =     "artificial intelligence; Cocke parsing algorithm; first order logic; inference; input-resolution; language recognition problem; linear resolution; multiple input operators; multiple output; operators; problem reduction; proving; resolution based theorem prover; state space; state-space methods; system; theorem; theorem proving",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Kimme:1975:FCA,
  author =       "Carolyn Kimme and Dana Ballard and Jack Sklansky",
  title =        "Finding Circles by an Array of Accumulators",
  journal =      j-CACM,
  volume =       "18",
  number =       "2",
  pages =        "120--122",
  month =        feb,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/Reverse.eng.bib",
  abstract =     "An efficient procedure for detecting approximate circles and approximately circular arcs of varying gray levels in an edge-enhanced digitized picture is described.",
  acknowledgement = ack-nhfb,
  classcodes =   "B6140C (Optical information, image and video signal processing); C1250 (Pattern recognition); C5530 (Pattern recognition and computer vision equipment); C7330 (Biology and medical computing)",
  classification = "723; 741",
  corpsource =   "Univ. of California, Irvine, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "approximate circles; array of accumulators; biomedical applications of computers; circle finding; circular arcs; curve detection; edge enhanced digitised; grey levels; Haugh straight line finder; line fitting; pattern recognition; pattern recognition systems; picture; picture processing",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Johnston:1975:MRE,
  author =       "H. C. Johnston and C. A. R. Hoare",
  title =        "Matrix Reduction --- an Efficient Method (school timetables)",
  journal =      j-CACM,
  volume =       "18",
  number =       "3",
  pages =        "141--150",
  month =        mar,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65K05",
  MRnumber =     "52 2203",
  mrreviewer =   "P. Brock",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The paper describes an efficient method for reduction of the binary matrices which arise in some school time-tabling problems. It is a development of that described by John Lions. It has been generalized and adapted to fit into the complete timetabling process; to use a more compact data representation and more efficient processing techniques; to take fuller advantage of possible available previous knowledge about the matrix. And it is designed as a structured program, which can readily be coded by the reader in the high level or low level programming language of his choice. Practical tests of the method have shown it to be a good basis for a realistic timetabling algorithm.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290H (Linear algebra); C4140 (Linear algebra); C7110 (Educational administration)",
  classification = "921",
  corpsource =   "Queen's Univ. of Belfast, UK",
  journalabr =   "Commun ACM",
  keywords =     "binary matrices; data representation; educational administrative data processing; high level programming language; low level programming language; mathematical techniques; matrix algebra; matrix reduction; problems; processing techniques; school time tabling; school timetable construction; structured program; structured programming; tight set; timetabling algorithm",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Kernighan:1975:STM,
  author =       "Brian W. Kernighan and Lorinda L. Cherry",
  title =        "A System for Typesetting Mathematics",
  journal =      j-CACM,
  volume =       "18",
  number =       "3",
  pages =        "151--157",
  month =        mar,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1975.bib",
  abstract =     "This paper describes the design and implementation of a system for typesetting mathematics. \par The language has been designed to be easy to learn and to use by people (for example, secretaries and mathematical typists) who know neither mathematics nor typesetting. Experience indicates that the language can be learned in an hour or so, for it has few rules and fewer exceptions. For typical expressions, the size and font changes, positioning, line drawing, and the like necessary to print according to mathematical conventions are all done automatically. For example, the input {\tt sum from i=0 to infinity x sub i=pi over 2} produces $\sum_{i=0}^\infty x_i = \pi/2$. The syntax of the language is specified by a small context-free grammar; a compiler-compiler is used to make a compiler that translates this language into typesetting commands. Output maybe produced on either a phototypesetter or on a terminal with forward and reverse half-line motions. The system interfaces directly with text formatting programs, so mixtures of text and mathematics may be handled simply. This paper was typeset by the authors using the system described.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques); C6140D (High level languages); C7230 (Publishing and reproduction); C7310 (Mathematics computing)",
  classification = "723; 745",
  corpsource =   "Bell Labs., Holmdel, NJ, USA",
  country =      "USA",
  date =         "15/05/84",
  descriptors =  "Design; realization; command language; graphics language; text processing; graphics; interactive mode;",
  enum =         "1645",
  journalabr =   "Commun ACM",
  keywords =     "compiler-compiler; computer controlled typesetting; computer graphics; computer programming languages; graphics; mathematics; oriented languages; photocomposition; phototypesetter; printing; problem; syntax; terminal; text formatting programs; text processing.; typesetting; typesetting mathematics",
  language =     "English",
  references =   "7",
  treatment =    "A Application; P Practical",
}

@Article{Lawrie:1975:GPL,
  author =       "D. H. Lawrie and T. Layman and D. Baer and J. M. Randal",
  title =        "{GLYPNIR} --- {A} programming language for {Illiac IV}",
  journal =      j-CACM,
  volume =       "18",
  number =       "3",
  pages =        "157--164",
  month =        mar,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Parallel/Multi.bib",
  abstract =     "GLYPNIR is one of the earliest existing languages designed for programming the Illiac IV computer. The syntax of the language is based on ALGOL 60, but has been extended to allow the programmer explicitly to specify the parallelism of his algorithm in terms of 64-word vectors. This paper describes the characteristics, goals, and philosophy of the language, and discusses some of the problems associated with parallel computer architectures.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5400 (Analogue and digital computers and systems); C6140B (Machine-oriented languages)",
  classification = "723",
  corpsource =   "Univ. of Illinois, Urbana-Champaign, IL, USA",
  journalabr =   "Commun ACM",
  keywords =     "ALGOL 60; algorithm; computer programming languages; GLYPNIR; GLYPNIR programming; Illiac IV computer; language; machine oriented languages; parallel computer architectures; parallel processing; parallelism; programming language; syntax",
  treatment =    "G General Review; P Practical",
}

@Article{Floyd:1975:ETB,
  author =       "Robert W. Floyd and Ronald L. Rivest",
  title =        "Expected Time Bounds for Selection",
  journal =      j-CACM,
  volume =       "18",
  number =       "3",
  pages =        "165--172",
  month =        mar,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A new selection algorithm is presented which is shown to be very efficient on the average, both theoretically and practically. The number of comparisons used to select the $i$-th smallest of $n$ numbers is $n + \min(i,n-i) + o(n)$. A lower bound within 9 percent of the above formula is also derived.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory); C7310 (Mathematics computing)",
  classification = "723",
  corpsource =   "Stanford Univ., Stanford, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "algorithm theory; bound; computational complexity; computer programming; mathematics; medians; quantiles; selection; selection algorithm; time bounds",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Floyd:1975:AAA,
  author =       "R. W. Floyd and R. L. Rivest",
  title =        "{ACM} Algorithm 489: The Algorithm {SELECT} -- for Finding the $i$th Smallest of $n$ Elements",
  journal =      j-CACM,
  volume =       "18",
  number =       "3",
  pages =        "173--173",
  month =        mar,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "See also \cite{Brown:1976:RAS}.",
  acknowledgement = ack-nhfb,
  classcodes =   "C7310 (Mathematics computing)",
  corpsource =   "Computer Sci. Dept., Stanford Univ., Stanford, CA, USA",
  keywords =     "algorithm SELECT; Hoare's algorithm FIND; mathematics; sampling; subroutines",
  treatment =    "P Practical",
}

@Article{Erisman:1975:CCE,
  author =       "A. M. Erisman and W. F. Tinney",
  title =        "On Computing Certain Elements of the Inverse of a Sparse Matrix",
  journal =      j-CACM,
  volume =       "18",
  number =       "3",
  pages =        "177--179",
  month =        mar,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65F05",
  MRnumber =     "51 14540",
  mrreviewer =   "L. Hageman",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Theory/Matrix.bib",
  abstract =     "A recursive algorithm for computing the inverse of a matrix from the LU factors based on relationships in Takahashi, et al., is examined. The formulas for the algorithm are given; the dependency relationships are derived; the computational costs are developed; and some general comments on application and stability are made.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290H (Linear algebra); C4140 (Linear algebra)",
  classification = "921",
  corpsource =   "Boeing Computer Services, Seattle, WA, USA",
  journalabr =   "Commun ACM",
  keywords =     "application; computational costs; computing; covar; dependency relationships; elements of inverse; inverse; inverse matrix; mathematical techniques; matrix algebra; nla; recursive algorithm; sensitivities; sparse; sparse matrices; sparse matrix; stability; triangular factorization; tridiagonal matrix",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Shampine:1975:DLS,
  author =       "L. F. Shampine",
  title =        "Discrete Least Squares Polynomial Fits",
  journal =      j-CACM,
  volume =       "18",
  number =       "3",
  pages =        "179--180",
  month =        mar,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65D10",
  MRnumber =     "51 2247",
  mrreviewer =   "S. F. McCormick",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The recurrence relation between orthogonal polynomials is widely used for discrete least squares data fitting. A variant of the classical algorithm which has better numerical properties is presented and the reason for its improved performance is explained.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290F (Interpolation and function approximation); C4130 (Interpolation and function approximation)",
  classification = "921",
  corpsource =   "Sandia Labs., Albuquerque, NM, USA",
  journalabr =   "Commun ACM",
  keywords =     "algorithm; data fitting; least squares; least squares approximations; least squares polynomial fits; lud; mathematical techniques; orthogonal polynomials; polynomials; recurrence relation between orthogonal polynomials; residual; scale",
  treatment =    "T Theoretical or Mathematical",
}

@Article{vanderSluis:1975:CPE,
  author =       "A. {van der Sluis}",
  title =        "Corrigendum: {``Perturbations of eigenvalues of non-normal matrices''}",
  journal =      j-CACM,
  volume =       "18",
  number =       "3",
  pages =        "180",
  month =        mar,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65F15",
  MRnumber =     "51 9457b",
  mrreviewer =   "Jan Zitko",
  bibdate =      "Tue May 28 16:24:24 1996",
  note =         "See \cite{vanderSluis:1975:PEN}.",
  acknowledgement = ack-nhfb,
}

@Article{Parnas:1975:SCS,
  author =       "D. L. Parnas",
  title =        "On a Solution to the Cigarette Smoker's Problem (Without Conditional Statements)",
  journal =      j-CACM,
  volume =       "18",
  number =       "3",
  pages =        "181--183",
  month =        mar,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "This report discusses a problem first introduced by Patil, who has claimed that the cigarette smoker's problem cannot be solved using the $P$ and $V$ operations introduced by Dijkstra unless conditional statements are used. An examination of Patil's proof shows that he has established this claim only under strong restrictions on the use of $P$ and $V$. These restrictions eliminate programming techniques used by Dijkstra and others since the first introduction of the semaphore concept. This paper contains a solution to the problem. It also discusses the need for the generalized operators suggested by Patil.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150J (Operating systems)",
  classification = "723",
  corpsource =   "Tech. Hochschule Darmstadt, Darmstadt, West Germany",
  journalabr =   "Commun ACM",
  keywords =     "cigarette smoker's problem; co-operating processes; computer operating systems; conditional statements; generalized; operating systems; operating systems (computers); operators; process synchronization primitives; programming techniques; semaphore concept; synchronisation",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Chambers:1975:CNH,
  author =       "Jack A. Chambers and Ray V. Poore",
  title =        "Computer Networks in Higher Education: Socio-Economic-Political Factors",
  journal =      j-CACM,
  volume =       "18",
  number =       "4",
  pages =        "193--199",
  month =        apr,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "This study presents the results of a nationwide survey of computer networks in higher education conducted during 1971-73. Five major and 18 minor networks were identified. The five major networks included: the ARPA Net, the California State College network, the University of Iowa\slash Iowa State University network, the Michigan Educational Research Information Triad, Inc., and the Triangle Universities Computation Center network in North Carolina. In-depth studies were conducted of the latter two nets. Based on the experiences of these operating networks, a number of factors are identified for consideration in developing networks. Finally, recommendations are advanced regarding the development of networks in higher education in the future.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5400 (Analogue and digital computers and systems); C7110 (Educational administration); C7810C (Computer-aided instruction)",
  classification = "722; 723; 901",
  corpsource =   "Univ. of South Florida, Tampa, FL, USA",
  journalabr =   "Commun ACM",
  keywords =     "administrative data processing; ARPA; California State; College network; computer aided instruction; computer networking; computer networks; computer systems, digital --- Time Sharing; data processing; educational; higher education; Michigan Education Research Information Triad Inc; nationwide survey; net; network; social economic and political factors; Triangle; Universities Computation Centre network; University of Iowa/Iowa State University",
  treatment =    "E Economic",
}

@Article{Ginsberg:1975:AAD,
  author =       "E. S. Ginsberg and D. Zaborowski",
  title =        "{ACM} Algorithm 490: The Dilogarithm Function of a Real Argument",
  journal =      j-CACM,
  volume =       "18",
  number =       "4",
  pages =        "200--202",
  month =        apr,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "See also \cite{Morris:1976:RDF}.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290D (Functional analysis); C4120 (Functional analysis); C7310 (Mathematics computing)",
  corpsource =   "Dept. of Phys., Univ. of Massachusetts, Boston, MA, USA",
  keywords =     "dilogarithm function; electrodynamics; ferromagnets; function evaluation; function subroutine; ideal; library; network analysis; polymers; quantum; real argument; subprograms; subroutines; thermodynamics",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Shen:1975:CWB,
  author =       "K. K. Shen and J. L. Peterson",
  title =        "Corrigendum: ``{A Weighted Buddy Method for Dynamic Storage Allocation}''",
  journal =      j-CACM,
  volume =       "18",
  number =       "4",
  pages =        "202--202",
  month =        apr,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Sat Jan 18 15:14:25 1997",
  note =         "See \cite{Shen:1974:WBM}.",
}

@Article{Smith:1975:MOL,
  author =       "Graham Smith",
  title =        "On Maintenance of the Opportunity List for Class-Teacher Timetable Problems",
  journal =      j-CACM,
  volume =       "18",
  number =       "4",
  pages =        "203--208",
  month =        apr,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "90B35",
  MRnumber =     "51 12314",
  mrreviewer =   "I. Gh. Ciobanu",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "One of the principal components of procedures for the solution of class-teacher timetable problems is that for maintenance of the opportunity list. Opportunity list maintenance methods are based on necessary conditions for the existence of a solution. A general framework for necessary conditions, together with four specific sets of necessary conditions, is given.",
  acknowledgement = ack-nhfb,
  classcodes =   "C7110 (Educational administration)",
  classification = "723; 901",
  corpsource =   "Univ. of New South Wales, Kensington, NSW, Australia",
  journalabr =   "Commun ACM",
  keywords =     "class teacher; combinatorial; data processing; educational administrative data processing; necessary conditions; opportunity list; schedule; scheduling; school timetable; timetable; timetable problems",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Braid:1975:SSB,
  author =       "I. C. Braid",
  title =        "The Synthesis of Solids Bounded by Many Faces",
  journal =      j-CACM,
  volume =       "18",
  number =       "4",
  pages =        "209--216",
  month =        apr,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A technique is presented which allows a class of solid objects to be synthesized and stored using a computer. Synthesis begins with primitive solids like a cube, wedge, or cylinder. Any solid can be moved, scaled, or rotated. Solids may also be added together or subtracted. Two algorithms to perform addition are described. For practical designers, the technique has the advantage that operations are concise, readily composed, and are given in terms of easily imagined solids. Quite short sequences of operations suffice to build up complex solids bounded by many faces.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5540 (Terminals and graphic displays); C6130 (Data handling techniques); C7440 (Civil and mechanical engineering computing)",
  classification = "723",
  corpsource =   "Univ. of Cambridge, Cambridge, UK",
  journalabr =   "Commun ACM",
  keywords =     "algorithms; computer graphics; computer-aided design; image processing; many faced solids; simulation; synthesis",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Batagelj:1975:QHM,
  author =       "Vladimir Batagelj",
  title =        "Quadratic Hash Method When the Table Size is not a Prime Number",
  journal =      j-CACM,
  volume =       "18",
  number =       "4",
  pages =        "216--217",
  month =        apr,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Previous work on quadratic hash methods is limited mainly to the case where the table size is a prime number. Here, certain results are derived for composite numbers. It is shown that all composite numbers containing at least the square of one of the component primes have full-period integer-coefficient quadratic hash functions.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0260 (Optimisation techniques); C1180 (Optimisation techniques); C6130 (Data handling techniques)",
  classification = "723",
  corpsource =   "Jozef Stefan Inst., Univ. of Ljubljana, Ljubljana, Yugoslavia",
  journalabr =   "Commun ACM",
  keywords =     "component primes; composite; computer programming; full period integer coefficient; numbers; prime number; quadratic hash functions; quadratic hash method; quadratic programming; table lookup; table size",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Warren:1975:MWA,
  author =       "Henry S. {Warren, Jr.}",
  title =        "A Modification of {Warshall}'s Algorithm for the Transitive Closure of Binary Relations",
  journal =      j-CACM,
  volume =       "18",
  number =       "4",
  pages =        "218--220",
  month =        apr,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A10",
  MRnumber =     "51 2340",
  mrreviewer =   "E. M. Reingold",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "An algorithm is given for computing the transitive closure of a binary relation that is represented by a Boolean matrix. The algorithm is similar to Warshall's although it executes faster for sparse matrices on most computers, particularly in a paging environment.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290H (Linear algebra); C4140 (Linear algebra); C4210 (Formal logic)",
  classification = "723",
  corpsource =   "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "binary relation; binary relations; Boolean algebra; Boolean matrix; computer programming; digraph; directed graph; matrix algebra; paging environment; reachability matrix; sparse matrices; transitive closure; Warshall's algorithm",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Hinds:1975:ALA,
  author =       "James A. Hinds",
  title =        "Algorithm for Locating Adjacent Storage Blocks in the Buddy System",
  journal =      j-CACM,
  volume =       "18",
  number =       "4",
  pages =        "221--222",
  month =        apr,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A simple scheme for the determination of the location of a block of storage relative to other blocks is described. This scheme is applicable to the buddy type storage allocation systems.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723",
  corpsource =   "State Univ. of New York, Buffalo, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "algorithm; buddy system; computer programming; locating adjacent storage blocks; storage allocation; storage allocation systems",
  treatment =    "P Practical",
}

@Article{Vaucher:1975:CSE,
  author =       "Jean G. Vaucher and Pierre Duval",
  title =        "A Comparison of Simulation Event List Algorithms",
  journal =      j-CACM,
  volume =       "18",
  number =       "4",
  pages =        "223--230",
  month =        apr,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1975.bib",
  note =         "See corrigendum \cite{Vaucher:1975:CCS}.",
  abstract =     "Four algorithms are considered which can be used to schedule events in a general purpose discrete simulation system. Two of the algorithms are new, one is based on an end-order tree structure for event notices, and another uses an indexed linear list. The algorithms are tested with a set of typical stochastic scheduling distributions especially chosen to show the advantages and limitations of the algorithms. \par The end-order tree algorithm is shown to be an advantageous, immediate replacement for the algorithm in use with current simulation languages. The most promising algorithm uses the indexed list concept. \par It will require an adaptive routine before it can be employed in general purpose simulators,but its performance is such that further study would be fruitful.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques); C7800 (Other computer applications)",
  classification = "723",
  corpsource =   "Univ. de Montreal, Que., Canada",
  country =      "USA",
  descriptors =  "Simulation; event list control; time control;",
  enum =         "3193",
  journalabr =   "Commun ACM",
  keywords =     "adaptive routine; computer programming; current simulation; discrete system simulation; end order tree structure; event list algorithm; event scheduling routine; indexed linear list; languages; scheduling; simulation; simulation event list algorithms; simulation executive; sorting; stochastic scheduling distributions; time flow mechanisms",
  language =     "English",
  references =   "0",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Korfhage:1975:SO,
  author =       "Robert R. Korfhage and David W. Matula",
  title =        "On {Salazar} and {Oakford}",
  journal =      j-CACM,
  volume =       "18",
  number =       "4",
  pages =        "240--240",
  month =        apr,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Sat Jan 18 15:08:07 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Theory/graph.coloring.bib",
  note =         "See \cite{Salazar:1974:GFS,Korfhage:1975:MSO,Garey:1975:SO}",
  keywords =     "graph coloring",
}

@Article{Garey:1975:SO,
  author =       "Michael R. Garey and David S. Johnson",
  title =        "On {Salazar} and {Oakford}",
  journal =      j-CACM,
  volume =       "18",
  number =       "4",
  pages =        "240--241",
  month =        apr,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Theory/graph.coloring.bib",
  note =         "See \cite{Salazar:1974:GFS,Korfhage:1975:SO,Korfhage:1975:MSO}",
  keywords =     "graph coloring",
}

@Article{Fisher:1975:CCL,
  author =       "David A. Fisher",
  title =        "Copying Cyclic List Structures in Linear Time Using Bounded Workspace",
  journal =      j-CACM,
  volume =       "18",
  number =       "5",
  pages =        "251--252",
  month =        may,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A bounded workspace copying algorithm for arbitrary list structures is given. This algorithm operates in linear time and does not require tag bits. The best previous bounded workspace copying algorithms achieved n**2 time without tag bits and n log n time with one tag. The only restriction on the algorithm given here is that the copy must be placed into a contiguous section of memory. The method is applicable to fixed or variable size nodes.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  classification = "723",
  corpsource =   "Inst. for Defense Analyses, Arlington, VA, USA",
  journalabr =   "Commun ACM",
  keywords =     "bounded workspace; computer programming; computer programming languages --- List Processing; copying algorithm; cyclic list structures; linear time; list processing; nodes; tag bits",
  treatment =    "P Practical",
}

@Article{Cardenas:1975:API,
  author =       "Alfonso F. Cardenas",
  title =        "Analysis and Performance of Inverted Data Base Structures",
  journal =      j-CACM,
  volume =       "18",
  number =       "5",
  pages =        "253--263",
  month =        may,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib and ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib",
  abstract =     "The need to envision and architecture data base systems in a hierarchical level by level framework is stressed. The inverted data base (file) organization is then analyzed, considering implementation oriented aspects. The inverted directory is viewed realistically as another large data base which itself is subjected to inversion. Formulations are derived to estimate average access time (read only) and storage requirements, formalizing the interaction of data base content characteristics, logical complexity of queries, and machine timing and blocking specifications identified as having a first-order effect on performance. The formulations presented are necessary to be used in conjunction with any index selection criteria to determine the optimum set of index keys.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C7100 (Business and administration); C7250 (Information storage and retrieval)",
  classification = "723",
  corpsource =   "IBM Res. Lab., San Jose, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "access; data processing; data structures; file organisation; index keys; index selection criteria; indexing; indices; information retrieval; information retrieval systems; information storage; inverted data base structures; inverted directory; machine timing; management information systems; time",
  treatment =    "P Practical",
}

@Article{Wilks:1975:IAU,
  author =       "Yorick Wilks",
  title =        "An intelligent analyzer and understander of {English}",
  journal =      j-CACM,
  volume =       "18",
  number =       "5",
  pages =        "264--274",
  month =        may,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The paper describes a working analysis and generation program for natural language, which handles paragraph length input. Its core is a system of preferential choice between deep semantic patterns, based on what we call ``semantic density.'' The system is contrasted: (1) with syntax oriented linguistic approaches, and (2) with theorem proving approaches to the understanding problem.",
  acknowledgement = ack-nhfb,
  classcodes =   "C1230 (Artificial intelligence); C4290 (Other computer theory); C7820 (Humanities computing)",
  classification = "721; 731",
  corpsource =   "Stanford Univ., Stanford, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "artificial intelligence; automata theory --- Computational Linguistics; computational linguistics; deep semantic patterns; generation program; intelligent analyzer; language; natural language; paragraph length; semantic density; syntax oriented linguistic approaches; systems science and cybernetics; translation and linguistics",
  treatment =    "P Practical",
}

@Article{Gibbs:1975:AAB,
  author =       "N. E. Gibbs",
  title =        "{ACM} Algorithm 491: Basic Cycle Generation",
  journal =      j-CACM,
  volume =       "18",
  number =       "5",
  pages =        "275--276 (or 275--275??)",
  month =        may,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0250 (Combinatorial mathematics); C1160 (Combinatorial mathematics); C7310 (Mathematics computing)",
  corpsource =   "Dept. of Math., Coll. of William and Mary, Williamsburg, VA, USA",
  keywords =     "basic; BASIC GENERATOR; cycle generation; finite undirected graph; graph theory; Paton's algorithm; PL/I; subroutines; vertex adjacency matrix",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Evans:1975:NLF,
  author =       "D. J. Evans and M. Hatzopoulos",
  title =        "A note on the {LU} factorization of a symmetric matrix",
  journal =      j-CACM,
  volume =       "18",
  number =       "5",
  pages =        "278--279",
  month =        may,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "15A21 (65F30)",
  MRnumber =     "52 8154",
  mrreviewer =   "Marvin Marcus",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290H (Linear algebra); C4140 (Linear algebra)",
  corpsource =   "Univ. of Technol., Loughborough, UK",
  keywords =     "factorization; matrix inversion; separable systems; symmetric matrices; test matrices",
  keywords =     "inversion programs; linear equations; LU factorisation; matrix; matrix algebra; symmetric matrix; test matrices",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Fox:1975:MKS,
  author =       "B. L. Fox",
  title =        "More on $k$th Shortest Paths",
  journal =      j-CACM,
  volume =       "18",
  number =       "5",
  pages =        "279--279",
  month =        may,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0250 (Combinatorial mathematics); B0260 (Optimisation techniques); C1160 (Combinatorial mathematics); C1180 (Optimisation techniques)",
  corpsource =   "Univ. of Montreal, Montreal, Que., Canada",
  keywords =     "graph theory; kth shortest paths; N node network; networks; nodes; optimisation",
  treatment =    "G General Review",
  xxauthor =     "B. I. Fox",
}

@Article{Wasserman:1975:PPP,
  author =       "A. I. Wasserman",
  title =        "A problem-list of public policy issues concerning computers and health care",
  journal =      j-CACM,
  volume =       "18",
  number =       "5",
  pages =        "279--280",
  month =        may,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C0200 (General computer topics); C7190 (Other fields of business and administrative computing); C7330 (Biology and medical computing)",
  corpsource =   "Univ. of California, San Francisco, CA, USA",
  keywords =     "biomedical applications of computers; computers and health care; economic and; medicine; public policy issues; sociological effects",
  treatment =    "A Application; E Economic; G General Review",
}

@Article{Mills:1975:CNM,
  author =       "Harlan D. Mills",
  title =        "Corrigendum: {``The New Math of Computer Programming''}",
  journal =      j-CACM,
  volume =       "18",
  number =       "5",
  pages =        "280--280",
  month =        may,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A05",
  MRnumber =     "51 2333b",
  mrreviewer =   "E. Ikaunieks",
  bibdate =      "Tue May 28 16:26:36 1996",
  note =         "See \cite{Mills:1975:NMC}.",
  acknowledgement = ack-nhfb,
}

@Article{Horowitz:1975:SAP,
  author =       "Steven L. Horowitz",
  title =        "Syntactic Algorithm for Peak Detection in Waveforms with Applications to Cardiography",
  journal =      j-CACM,
  volume =       "18",
  number =       "5",
  pages =        "281--285",
  month =        may,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Peaks in a digitized waveform are detected by an algorithm incorporating piecewise linear approximation and tabular parsing techniques. Several parameters serve to identify the waveform context enabling accurate measurement of peak amplitude, duration, and shape. The algorithm is of sufficient speed to allow on-line real-time processing. An example of its application is demonstrated on an electrocardiogram.",
  acknowledgement = ack-nhfb,
  classcodes =   "A8770E (Patient diagnostic methods and instrumentation); B0290F (Interpolation and function approximation); B7510D (Bioelectric signals); C4130 (Interpolation and function approximation); C4210 (Formal logic); C7330 (Biology and medical computing)",
  classification = "723",
  corpsource =   "Princeton Univ., Princeton, NJ, USA",
  journalabr =   "Commun ACM",
  keywords =     "amplitude; applications; biomedical engineering --- Electrocardiography; context-free grammars; duration; electrocardiogram; electrocardiography; parsing techniques; pattern recognition systems; peak detection; piecewise linear approximation; piecewise-linear; shape; syntactic algorithm; tabular; techniques; to cardiography; waveform analysis; waveforms",
  treatment =    "A Application",
}

@Article{Pfefferkorn:1975:HPS,
  author =       "Charles E. Pfefferkorn",
  title =        "Heuristic Problem Solving Design System for Equipment or Furniture Layouts",
  journal =      j-CACM,
  volume =       "18",
  number =       "5",
  pages =        "286--297",
  month =        may,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The Designer Problem Solver (DPS) demonstrates that the computer can perform simple design tasks. In particular, it designs furniture and equipment layouts. This task was chosen because it is simple, well defined, and characteristic of many design tasks in architecture, engineering, urban planning, and natural resource management. These space planning tasks usually involve manipulating two-dimensional representations of objects to create feasible or optimal solutions for problems involving topological and metric spatial constraints. The paper describes extensive tests performed on the program.",
  acknowledgement = ack-nhfb,
  classcodes =   "C1230 (Artificial intelligence); C7800 (Other computer applications)",
  classification = "731; 901",
  corpsource =   "Evans and Sutherland Computer Corp., Sunnyvale, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "architecture; computer graphics; computer-aided design; design; engineering; equipment layout; furniture layouts; heuristic; heuristic problem solving design system; management; metric; natural resource; optimal solutions; problem solver; program; programming; space planning tasks; spatial constraints; systems science and cybernetics --- Heuristic Programming; urban planning",
  treatment =    "A Application; P Practical",
}

@Article{Korfhage:1975:MSO,
  author =       "Robert R. Korfhage and David W. Matula",
  title =        "More on the {Salazar} and {Oakford} Paper",
  journal =      j-CACM,
  volume =       "18",
  number =       "5",
  pages =        "303--303",
  month =        may,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Sat Jan 18 15:08:07 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Theory/graph.coloring.bib",
  note =         "See \cite{Salazar:1974:GFS,Korfhage:1975:SO,Garey:1975:SO}",
  keywords =     "graph coloring",
}

@Article{Gibbs:1975:AAG,
  author =       "N. E. Gibbs",
  title =        "{ACM} Algorithm 492: Generation of All the Cycles of a Graph from a Set of Basic Cycles",
  journal =      j-CACM,
  volume =       "18",
  number =       "6",
  pages =        "310--310",
  month =        jun,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7310 (Mathematics computing)",
  corpsource =   "Dept. of Math., Coll. of William and Mary, Williamsburg, VA, USA",
  keywords =     "basic cycles; cycles; generation; graph; graph theory; PL/I; subroutines",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Phong:1975:ICG,
  author =       "Bui Tuong Phong",
  title =        "Illumination for Computer Generated Pictures",
  journal =      j-CACM,
  volume =       "18",
  number =       "6",
  pages =        "311--317",
  month =        jun,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/imager/imager.75.bib",
  abstract =     "The quality of computer generated images of three-dimensional scenes depends on the shading technique used to paint the objects on the cathode-ray tube screen. The shading algorithm itself depends in part on the method for modeling the object, which also determines the hidden surface algorithm. The various methods of object modeling, shading, and hidden surface removal are thus strongly interconnected. Several shading techniques corresponding to different methods of object modeling and the related hidden surface algorithms are presented here. Human visual perception and the fundamental laws of optics are considered in the development of a shading rule that provides better quality and increased realism in generated images.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5540 (Terminals and graphic displays)",
  classification = "723; 741",
  corpsource =   "Univ. of Utah, Salt Lake City, UT, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer generated images; computer graphics; hidden surface algorithm; image processing; Phong; shading; shading algorithm; technique; three dimensional scenes",
  treatment =    "P Practical",
}

@Article{Lum:1975:COA,
  author =       "V. Y. Lum and M. E. Senko and C. P. Wang and H. Ling",
  title =        "A Cost Oriented Algorithm for Data Set Allocation in Storage Hierarchies",
  journal =      j-CACM,
  volume =       "18",
  number =       "6",
  pages =        "318--322",
  month =        jun,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "The trend in computer systems is toward the use of multilevel storage hierarchy systems. In this kind of system, data set allocation is usually based on qualitative, ad hoc decisions. If automatic data migration is used at all, the data sets are allocated to slower level memories simply on the basis of an ad hoc threshold against a time interval since the last use. To achieve quantitative, more optimal allocation, both storage cost and access time cost must be carefully analyzed. This paper presents an appropriate automatic algorithm which includes many significant details of both costs.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723",
  corpsource =   "IBM Res. Lab., San Jose, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "algorithm; computer operating systems; cost oriented; data migration; data set allocation; data staging; data storage; hierarchies; storage; storage allocation",
  treatment =    "P Practical",
}

@Article{Babich:1975:SES,
  author =       "Alan F. Babich and John Grason and David L. Parnas",
  title =        "Significant Event Simulation",
  journal =      j-CACM,
  volume =       "18",
  number =       "6",
  pages =        "323--329",
  month =        jun,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "This paper compares a new method of simulation organization, called the significant event method, with an old one, called the clock pulse method, using as examples two automobile traffic models. The significant event method is found to be more efficient than the clock pulse method at low levels of system interaction and less efficient at high levels. A simple mathematical model for the trade-off in the relative running time of the two methods is developed. The model aids in choosing between the two simulation methods for a particular experiment. It is concluded that the significant event method can be of value in the simulation of some systems when computational efficiency is of sufficient importance.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming); C7800 (Other computer applications)",
  classification = "723",
  corpsource =   "Carnegie-Mellon Univ., Pittsburg, PA, USA",
  journalabr =   "Commun ACM",
  keywords =     "clock pulse models; computational efficiency; computer simulation; efficient; significant event method; simulation",
  treatment =    "P Practical",
}

@Article{Dewar:1975:ITC,
  author =       "Robert B. K. Dewar",
  title =        "Indirect Threaded Code",
  journal =      j-CACM,
  volume =       "18",
  number =       "6",
  pages =        "330--331",
  month =        jun,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "An efficient arrangement for interpretive code is described. It is related to Bell's notion of threaded code but requires less space and is more amenable to machine independent implementations.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming); C6150C (Compilers, interpreters and other processors)",
  classification = "723",
  corpsource =   "Illinois Inst. of Technol., Chicago, IL, USA",
  journalabr =   "Commun ACM",
  keywords =     "code generation; codes, symbolic; implementations; indirect threaded code; interpretive code; interpretors; machine independent; program interpreters; programming; SNOBOL; SNOBOL4; SPITBOL; threaded code",
  treatment =    "P Practical",
}

@Article{Cranston:1975:SRS,
  author =       "Ben Cranston and Rick Thomas",
  title =        "Simplified Recombination Scheme for the {Fibonacci} Buddy System",
  journal =      j-CACM,
  volume =       "18",
  number =       "6",
  pages =        "331--332",
  month =        jun,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A simplified recombination scheme for the Fibonacci buddy system which requires neither tables nor repetitive calculations and uses only two additional bits per buffer is presented.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723",
  corpsource =   "Univ. of Maryland, College Park, MD, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer operating systems; dynamic storage allocation; Fibonacci buddy system; simplified recombination scheme; storage allocation",
  treatment =    "P Practical",
}

@Article{Aho:1975:ESM,
  author =       "Alfred V. Aho and Margaret J. Corasick",
  title =        "Efficient String Matching: an Aid to Bibliographic Search",
  journal =      j-CACM,
  volume =       "18",
  number =       "6",
  pages =        "333--340",
  month =        jun,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A50",
  MRnumber =     "51 7393",
  mrreviewer =   "K. H. V. Booth",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/protein.pattern.bib; ftp://ftp.ira.uka.de/pub/bibliography/Object/Nierstrasz.bib",
  abstract =     "This paper describes a simple, efficient algorithm to locate all occurrences of any of a finite number of keywords in a string of text. The algorithm consists of constructing a finite state pattern matching machine from the keywords and then using the pattern matching machine to process the text string in a single pass. Construction of the pattern matching machine takes time proportional to the sum of the lengths of the keywords. The number of state transitions made by the pattern matching machine in processing the text string is independent of the number of keywords. The algorithm has been used to improve the speed of a library bibliographic search program by a factor of 5 to 10.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C7250 (Information storage and retrieval)",
  classification = "721; 723",
  corpsource =   "Bell Labs., Murray Hill, NJ, USA",
  journalabr =   "Commun ACM",
  keywords =     "algorithm; automata theory --- Finite Automata; bibliographic search; computational complexity.; efficient; finite state machines; finite state pattern matching; information retrieval; information retrieval systems; keywords; keywords and phrases; patterns UNIX searching; string matching; string pattern matching; text; text editing; text-editing",
  treatment =    "P Practical",
}

@Article{Hirschberg:1975:LSA,
  author =       "D. S. Hirschberg",
  title =        "A Linear Space Algorithm for Computing Maximal Common Subsequences",
  journal =      j-CACM,
  volume =       "18",
  number =       "6",
  pages =        "341--343",
  month =        jun,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A10 (68A20)",
  MRnumber =     "51 12019",
  mrreviewer =   "Claude Benzaken",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/protein.pattern.bib",
  abstract =     "The problem of finding a longest common subsequence of two strings has been solved in quadratic time and space. An algorithm is presented which will solve this problem in quadratic time and in linear space.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  classification = "723",
  comment =      "Algorithms are given that solve the longest common subsequence problem in quadratic time and linear space. Previously algorithms for this problem used quadratic time and quadratic space.",
  corpsource =   "Princeton Univ., Princeton, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer programming; computing; data handling; editing; linear space; linear space algorithm; longest common subsequence; maximal common; quadratic time; string correction; subsequence; subsequences; two strings",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Soule:1975:AAB,
  author =       "Stephen Soule",
  title =        "Addition in an Arbitrary Base Without Radix Conversion",
  journal =      j-CACM,
  volume =       "18",
  number =       "6",
  pages =        "344--346",
  month =        jun,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Theory/Seiferas/1975.bib",
  abstract =     "This paper presents a generalization of an old programming technique; using it, one may add and subtract numbers represented in any radix, including a mixed radix, and stored one digit per byte in bytes of sufficient size. Radix conversion is unnecessary, no looping is required, and numbers may even be stored in a display (I/O) format. Applications to Cobol, MIX, and hexadecimal sums are discussed.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5230 (Digital arithmetic methods); C6130 (Data handling techniques)",
  classification = "723; 921",
  corpsource =   "Univ. of Calgary, Calgary, Alta., Canada",
  journalabr =   "Commun ACM",
  keywords =     "add; addition; arbitrary base; arbitrary radix arithmetic; Cobol display arithmetic; computer systems programming; data handling; decimal arithmetic; digital arithmetic; mathematical techniques --- Digital Arithmetic; MIX arithmetic; mixed radix arithmetic; numbers; programming; radix conversion; subtract; subtraction; without radix conversion",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Harper:1975:S,
  author =       "L. H. Harper and T. H. Payne and J. E. Savage and E. Straus",
  title =        "Sorting {$X + Y$}",
  journal =      j-CACM,
  volume =       "18",
  number =       "6",
  pages =        "347--350 (or 347--349??)",
  month =        jun,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A20",
  MRnumber =     "51 14641",
  mrreviewer =   "Forbes D. Lewis",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Theory/Seiferas/1975.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory); C6130 (Data handling techniques)",
  corpsource =   "MIT, Dept. of Math., Cambridge, MA, USA",
  keywords =     "binary comparisons; computational complexity; computing models; data modeling; merge sorting",
  keywords =     "computation time; computational complexity; merge sorting; merging; sets of numbers; sorting",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Wyman:1975:IES,
  author =       "F. Paul Wyman",
  title =        "Improved Event-Scanning Mechanisms for Discrete Event Simulation",
  journal =      j-CACM,
  volume =       "18",
  number =       "6",
  pages =        "350--353",
  month =        jun,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1975.bib",
  abstract =     "Simulation models of large, complex ``real-world'' applications have occasionally earned the reputation of eating up hours of computer time. This problem may be attributed in part to difficulties such as slow stochastic convergence. However, an additional problem lies in the fact that a significant amount of bookkeeping time is required to keep future events in their proper sequence. This paper presents a method for significantly reducing the time spent scanning future event lists in discrete event simulations. \par There models are presented, all of which improve in effectiveness as the events-list scan problem becomes more burdensome.",
  acknowledgement = ack-nhfb,
  classcodes =   "C7800 (Other computer applications)",
  classification = "723",
  corpsource =   "Bechtel Inc., San Francisco, CA, USA",
  country =      "USA",
  descriptors =  "Simulation; time control;",
  enum =         "3352",
  journalabr =   "Commun ACM",
  keywords =     "computer simulation; discrete event simulation; event scanning mechanisms; simulation",
  keywords =     "bookkeeping time; discrete event simulation; scanning; simulation",
  language =     "English",
  references =   "0",
  treatment =    "P Practical",
}

@Article{Knuth:1975:ICU,
  author =       "Donald E. Knuth and Charles T. {Zahn, Jr.}",
  title =        "Ill-Chosen Use of ``Event''",
  journal =      j-CACM,
  volume =       "18",
  number =       "6",
  pages =        "360--360",
  month =        jun,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Sep 20 23:34:24 1994",
  acknowledgement = ack-nhfb,
}

@Article{Courtois:1975:DIS,
  author =       "P. J. Courtois",
  title =        "Decomposability, Instabilities, and Saturation in Multiprogramming Systems",
  journal =      j-CACM,
  volume =       "18",
  number =       "7",
  pages =        "371--377",
  month =        jul,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A step-by-step approach to model the dynamic behavior and evaluate the performance of computing systems is proposed. It is based on a technique of variable aggregation and the concept of nearly decomposable systems, both borrowed from Econometrics. This approach is taken in order to identify in multiprogramming paging systems (i) unstable regimes of operations and (ii) critical computing loads which bring the system into states of saturation. This analysis leads to a more complete definition of the circumstances in which ``thrashing'' can set in.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C6150J (Operating systems)",
  classification = "723",
  corpsource =   "MBLE Res. Lab., Brussels, Belgium",
  journalabr =   "Commun ACM",
  keywords =     "computer selection and evaluation; computer systems programming; computing systems; decomposable; instabilities; multiprogramming; multiprogramming systems; performance; saturation; storage; virtual",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Lauesen:1975:LSB,
  author =       "Soren Lauesen",
  title =        "A large semaphore based operating system",
  journal =      j-CACM,
  volume =       "18",
  number =       "7",
  pages =        "377--389",
  month =        jul,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The paper describes the internal structure of a large operating system as a set of cooperating sequential processes. The processes synchronize by means of semaphores and extended semaphores (queue semaphores). The number of parallel processes is carefully justified, and the various semaphore constructions are explained. The system is proved to be free of ``deadly embrace'' (deadlock). The design principle is an alternative to Dijkstra's hierarchical structuring of operating systems. The project management and the performance are discussed, too. The operating system is the first large one using the RC 4000 multiprogramming system.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150J (Operating systems)",
  classification = "723",
  corpsource =   "Nordisk Brown Boveri, Copenhagen, Denmark",
  journalabr =   "Commun ACM",
  keywords =     "computer operating systems; large; multiprogramming system; operating system; operating systems (computers); parallel; parallel processing; processes; RC 4000; semaphore based",
  treatment =    "P Practical",
}

@Article{Sager:1975:RLC,
  author =       "Naomi Sager and Ralph Grishman",
  title =        "Restriction Language for Computer Grammars of Natural Language",
  journal =      j-CACM,
  volume =       "18",
  number =       "7",
  pages =        "390--400",
  month =        jul,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "This paper presents a programming language designed specifically for the compact and perspicuous statement of restrictions of a natural language grammar. It is based on ten years' experience parsing text sentences with the comprehensive English grammar of the N. Y. U. Linguistic String Project, and embodies in its syntax and routines the relations which were found to be useful and adequate for computerized natural language analysis. The language is used in the current implementation of the Linguistic String Parser.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic); C6130 (Data handling techniques); C6140D (High level languages); C7820 (Humanities computing)",
  classification = "721; 723",
  corpsource =   "New York Univ., New York, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "automata theory; computational linguistics; computer grammars; computer programming languages; grammars; literature; natural language; oriented languages; parsing; problem; programming language; Restriction Language; text; text editing",
  treatment =    "A Application; P Practical",
}

@Article{Parnas:1975:UCT,
  author =       "D. L. Parnas and D. P. Siewiorek",
  title =        "Use of the Concept of Transparency in the Design of Hierarchically Structured Systems",
  journal =      j-CACM,
  volume =       "18",
  number =       "7",
  pages =        "401--408",
  month =        jul,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/softeng.bib",
  abstract =     "This paper deals with the design of hierarchically structured programming systems. It develops a method for evaluating the cost of requiring programmers to work with an abstraction of a real machine. A number of examples from hardware and software are given as illustrations of the method.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming)",
  classification = "723",
  corpsource =   "Tech. Hochschule Darmstadt, Darmstadt, West Germany",
  journalabr =   "Commun ACM",
  keywords =     "abstraction; computer systems programming; cost; design; hierarchically structured systems; programming; real machine; transparency",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Freeman:1975:DMA,
  author =       "H. Freeman and R. Shapira",
  title =        "Determining the Minimum-Area Encasing Rectangle for an Arbitrary Closed Curve",
  journal =      j-CACM,
  volume =       "18",
  number =       "7",
  pages =        "409--413",
  month =        jul,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A10 (52A40)",
  MRnumber =     "51 12018",
  mrreviewer =   "Jacques Dubois",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "This paper describes a method for finding the rectangle of minimum area in which a given arbitrary plane curve can be contained. The method is of interest in certain packing and optimum layout problems. It consists of first determining the minimal-perimeter convex polygon that encloses the given curve and then selecting the rectangle of minimum area capable of containing this polygon. Three theorems are introduced to show that one side of the minimum-area rectangle must be colinear with an edge of the enclosed polygon and that the minimum-area encasing rectangle for the convex polygon is also the minimum-area rectangle for the curve.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0260 (Optimisation techniques); C1180 (Optimisation techniques)",
  classification = "921; 922",
  corpsource =   "New York Univ., New York, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "enclosed curve; minimum-area encasing rectangle; optimization; optimum layout; optimum packing",
  keywords =     "arbitrary closed curve; encasing rectangle; minimisation; minimum area; optimum layout; packing",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Bobrow:1975:NHL,
  author =       "Daniel G. Bobrow",
  title =        "A Note on Hash Linking",
  journal =      j-CACM,
  volume =       "18",
  number =       "7",
  pages =        "413--415",
  month =        jul,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Hash searching is a technique in which a key is mapped into a unique address associated with that key. Most applications of this technique are for insertion and fast retrieval of data records containing key fields. In the use of hash search described in this paper, the key field is the virtual address of a machine cell with which additional information is associated. An address to auxiliary data not contained in that cell is called hash linking. (A hash link function is one which maps any machine virtual address into another unique address where additional information can be stored. ) This note describes several nonobvious applications of this technique.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723; 901",
  corpsource =   "Xerox Palo Alto Res. Center, Palo Alto, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer programming; hash linking; information retrieval systems; LISP; locations; machine address; storage; storage allocation",
  treatment =    "P Practical",
}

@Article{Weber:1975:DEW,
  author =       "R. E. Weber and B. Gilchrist",
  title =        "Discrimination in the employment of women in the computer industry",
  journal =      j-CACM,
  volume =       "18",
  number =       "7",
  pages =        "416--418",
  month =        jul,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C0200 (General computer topics)",
  corpsource =   "Rutgers Univ., New Brunswick, NJ, USA",
  keywords =     "computer industry; discrimination; employment; women",
  treatment =    "G General Review",
}

@Article{Shore:1975:ESF,
  author =       "John E. Shore",
  title =        "On the External Storage Fragmentation Produced by First-Fit and Best-Fit Allocation Strategies",
  journal =      j-CACM,
  volume =       "18",
  number =       "8",
  pages =        "433--440",
  month =        aug,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Report on some experiments whose results have helped to understand differences in the performance of two well-known storage-allocation strategies, first-fit and best-fit. For exponential and hyperexponential distributions of requests, first-fit outperformed best-fit; but for normal and uniform distributions, and for exponential distributions distorted in various ways, best-fit outperformed first-fit. It is hypothesized that when first-fit outperforms best-fit, it does so because first-fit, by preferentially allocating toward one end of memory, encourages large blocks to grow at the other end. Sufficient contiguous space is thereby more likely to be available for relatively large requests. Results of simulation experiments supported this hypothesis and showed that the relative performance of first-fit and best-fit depends on the frequency of requests that are large compared to the average request. when the coefficient of variation of the request distribution is greater than or approximately equal to unity, first-fit outperformed best-fit.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C6150J (Operating systems)",
  classification = "722; 723",
  corpsource =   "Naval Res. Lab., Washington, DC, USA",
  journalabr =   "Commun ACM",
  keywords =     "allocation strategies; best fit; computer operating systems; dynamic memory allocation; encountered block; external storage fragmentation; first fit; pending storage; starting addresses; storage allocation",
  treatment =    "P Practical",
}

@Article{Aho:1975:DPA,
  author =       "A. V. Aho and S. C. Johnson and J. D. Ullman",
  title =        "Deterministic Parsing of Ambiguous Grammars",
  journal =      j-CACM,
  volume =       "18",
  number =       "8",
  pages =        "441--452",
  month =        aug,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A25",
  MRnumber =     "51 12033",
  mrreviewer =   "S. Ginsburg",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/Compiler.Lins.bib",
  abstract =     "Methods of describing the syntax of programming languages in ways that are more flexible and natural than conventional BNF descriptions are considered. These methods involve the use of ambiguous context-free grammars together with rules to resolve syntactic ambiguities. It is shown how efficient LR and LL parsers can be constructed directly from certain classes of these specifications.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic)",
  classification = "723",
  corpsource =   "Bell Labs., Murray Hill, NJ, USA",
  journalabr =   "Commun ACM",
  keywords =     "ambiguities; ambiguous grammars; computer programming languages; context free grammars; context-free grammars; LL parsers; LR parsing; parser generation; programming languages; syntactic; translator writing systems",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Dijkstra:1975:GCN,
  author =       "Edsger W. Dijkstra",
  title =        "Guarded Commands, Nondeterminacy and Formal Derivation of Programs",
  journal =      j-CACM,
  volume =       "18",
  number =       "8",
  pages =        "453--457",
  month =        aug,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A05",
  MRnumber =     "52 4688",
  mrreviewer =   "John Kam",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Parallel/par.synch.bib",
  abstract =     "So-called ``guarded commands'' are introduced as a building block for alternative and repetitive constructs that allow nondeterministic program components for which at least the activity evoked, but possibly even the final state, is not necessarily uniquely determined by the initial state. For the formal derivation of programs expressed in terms of these constructs, a calculus is shown.",
  acknowledgement = ack-nhfb,
  annote =       "Yet another ancient paper which is occasionally cited",
  classcodes =   "C4210 (Formal logic)",
  classification = "723",
  corpsource =   "Burroughs Corp., Nuenen, Netherlands",
  journalabr =   "Commun ACM",
  keywords =     "calculus; computer programming languages; constructs; correctness proof; derivation; guarded commands; k-guarded-commands; nondeterministic program components; programming language semantics; programming languages; programming methodology; sequencing primitives",
  treatment =    "A Application; P Practical",
}

@Article{Cotton:1975:RSU,
  author =       "L. W. Cotton",
  title =        "Remark on stably updating mean and standard deviation of data",
  journal =      j-CACM,
  volume =       "18",
  number =       "8",
  pages =        "458--458",
  month =        aug,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Theory/Matrix.bib and ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "B0290F (Interpolation and function approximation); C4130 (Interpolation and function approximation); C7310 (Mathematics computing)",
  corpsource =   "Nat. Bur. of Stand., Washington, DC, USA",
  country =      "USA",
  descriptors =  "Simulation; statistics; numeric calculation;",
  enum =         "7158",
  keywords =     "algorithm; Hanson's article; new; numbers; numerical methods; remark; sequentially recomputing; series; stably updating mean; standard deviation of data; statistics",
  kwds =         "stat, updating, mean, standard deviation, variance",
  language =     "English",
  location =     "SEL: Wi",
  references =   "0",
  revision =     "16/01/94",
  treatment =    "A Application; G General Review",
  xxauthor =     "I. W. Cotton",
}

@Article{Shapiro:1975:ICN,
  author =       "Stuart C. Shapiro and Stanley C. Kwasny",
  title =        "Interactive Consulting via Natural Language",
  journal =      j-CACM,
  volume =       "18",
  number =       "8",
  pages =        "459--462",
  month =        aug,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Ai/expert.bib",
  abstract =     "Interactive programming systems often contain help commands to give the programmer on-line instruction regarding the use of the various systems commands. It is argued that it would be relatively easy to make these help commands significantly more helpful by having them accept requests in natural language. As a demonstration, Weizenbaum's ELIZA program has been provided with a script that turns it into a natural language system consultant.",
  acknowledgement = ack-nhfb,
  annote =       "Help commands are significantly more useful in an interactive environment if they accept commands in a natural language. As a demonstration, Weizenbaum's ELIZA program has been provided with a script that turns into a natural language system consultant.",
  classcodes =   "C6110 (Systems analysis and programming); C6140 (Programming languages); C6150J (Operating systems)",
  classification = "723",
  corpsource =   "Indiana Univ., Bloomington, IN, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer aided instruction; computer assisted instruction; computer programming languages; ELIZA; help commands; instruction; interactive programming; natural language; natural language processing; natural language system consultant; on line; program; programming languages; sharing programs; systems commands; time sharing systems; time-; time-sharing systems",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Todd:1975:CLC,
  author =       "John Todd",
  title =        "Corrigendum: {``The Lemniscate Constants''}",
  journal =      j-CACM,
  volume =       "18",
  number =       "8",
  pages =        "462--462",
  month =        aug,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Dec 26 18:42:09 1995",
  note =         "See \cite{Todd:1975:LC}.",
}

@Article{Vaucher:1975:CCS,
  author =       "J. G. Vaucher and P. Duval",
  title =        "Corrigendum: ``{A comparison of simulation event list algorithms}''",
  journal =      j-CACM,
  volume =       "18",
  number =       "8",
  pages =        "462--462",
  month =        aug,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Sat Jan 18 15:17:34 1997",
  note =         "See \cite{Vaucher:1975:CSE}.",
}

@Article{Smith:1975:CPT,
  author =       "A. J. Smith",
  title =        "Comments on a paper by {T. C. Chen} and {I. T. Ho}",
  journal =      j-CACM,
  volume =       "18",
  number =       "8",
  pages =        "463--463",
  month =        aug,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  corpsource =   "Univ. of California, Berkeley, CA, USA",
  keywords =     "advantages; alternatives; binary coded decimal; codes; coding; compression of numbers; data handling; decimal data; decoding; deletions; Huffman codes; insertions; permutations; storage efficient representation; variable length codes",
  treatment =    "G General Review; T Theoretical or Mathematical",
}

@Article{Ghosh:1975:CSR,
  author =       "Sakti P. Ghosh",
  title =        "Consecutive Storage of Relevant Records with Redundancy",
  journal =      j-CACM,
  volume =       "18",
  number =       "8",
  pages =        "464--471",
  month =        aug,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A50",
  MRnumber =     "52 4743",
  mrreviewer =   "K. H. V. Booth",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "This paper studies the properties of a new class of file organizations (CRWR) where records relevant to every query are stored in consecutive storage locations but the organizations contain redundancy. Some theorems which provide tools for reducing redundancy in CRWR organizations have been also developed. Redundancies obtained by the application of these theorems are compared with that of query-inverted file organizations. Some CRWR organizations with minimum redundancy have also been developed for queries which specify sets of keys.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723",
  corpsource =   "IBM Res. Lab., San Jose, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "consecutive storage; data processing; file organisation; file organizations; keys; query; records; redundancy; retrieval",
  treatment =    "N New Development; T Theoretical or Mathematical",
}

@Article{Lamport:1975:MBP,
  author =       "Leslie Lamport",
  title =        "Multiple Byte Processing with Full-Word Instructions",
  journal =      j-CACM,
  volume =       "18",
  number =       "8",
  pages =        "471--475",
  month =        aug,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Theory/Seiferas/1975.bib",
  abstract =     "A method is described which allows parallel processing of packed data items using only ordinary full-word computer instructions, even though the processing requires operations whose execution is contingent upon the value of a datum. It provides a useful technique for processing small data items such as alphanumeric characters.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming)",
  classification = "723",
  corpsource =   "Massachusetts Computer Associates, Inc., Wakefield, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "alphanumeric characters; byte processing; character processing; data processing; datum; full-word instructions; packed data; parallel; parallel processing; processing; programming",
  treatment =    "P Practical",
}

@Article{Shwayder:1975:CDR,
  author =       "Keith Shwayder",
  title =        "Combining Decision Rules in a Decision Table",
  journal =      j-CACM,
  volume =       "18",
  number =       "8",
  pages =        "476--480",
  month =        aug,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The techniques for minimizing logic circuits are applied to the simplification of decision tables by the combining of decision rules. This method is logically equivalent to the Quine-McCluskey method for finding prime implicants. If some of the decision rules implied in the ELSE Rule occur with low frequency, then the ELSE Rule can be used to further simplify the decision table. Several objectives merit consideration in optimizing a decision table. (1) reducing machine execution time; (2) reducing preprocessing time; (3) reducing required machine memory; (4) reducing the number of decision rules. Objectives (3) and (4) can be furthered with the above methods. Objective (1) is also attained if overspecified decision rules are not combined. Objective (2) must be compared against the potential benefits of objectives (1), (3), and (4) in deciding whether to use the above methods.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming)",
  classification = "723",
  corpsource =   "Samsonite Corp., Furniture Div., Denver, CO, USA",
  journalabr =   "Commun ACM",
  keywords =     "Boolean method; coding; computer systems programming; decision rules; decision table; decision tables; flowcharting; minimisation; minimizing logic circuits; prime implicants; Quine McCluskey method; sorting",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Steele:1975:MCG,
  author =       "Guy L. {Steele, Jr.}",
  title =        "Multiprocessing Compactifying Garbage Collection",
  journal =      j-CACM,
  volume =       "18",
  number =       "9",
  pages =        "495--508",
  month =        sep,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/garbage.collection.bib",
  note =         "See corrigendum \cite{Steele:1976:CMC}.",
  abstract =     "Algorithms for a multiprocessing compactifying garbage collector are presented and discussed. \par The simple case of two processors, one performing LISP-like list operations and the other performing garbage collection continuously, is thoroughly examined. The necessary capabilities of each processor are defined, as well as interprocessor communication and interlocks. Complete procedures for garbage collection and for standard list processing primitives are presented and thoroughly explained. Particular attention is given to the problems of marking and relocating list cells while another processor may be operating on them. The primary aim throughout is to allow the list processor to run unimpeded while the other processor reclaims list storage. The more complex cases involving several list processors and one or more garbage collection processors are also briefly discussed.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C6150J (Operating systems)",
  classification = "723",
  corpsource =   "Harvard Univ., Cambridge, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "capabilities; compactification; computer systems programming; data structures; free storage; garbage collection; gc processor; interlocks; interprocessor communication; LISP; list; list processing; list storage; management; multiprocessing; multiprocessing compactifying garbage collector; multiprocessing programs; operations; parallel processing; pointers; reclaimer; relocation; semaphores; storage; storage allocation; storage reclamation; synchronization",
  treatment =    "P Practical",
}

@Article{Bentley:1975:MBS,
  author =       "Jon Louis Bentley",
  title =        "Multidimensional Binary Search Trees Used for Associative Searching",
  journal =      j-CACM,
  volume =       "18",
  number =       "9",
  pages =        "509--517",
  month =        sep,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/database.bib and ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib",
  abstract =     "This paper develops the multidimensional binary search tree (or k-d tree, where k is the dimensionality of the search space) as a data structure for storage of information to be retrieved by associative searches. The k-d tree is defined and examples are given. It is shown to be quite efficient in its storage requirements. A significant advantage of this structure is that a single data structure can handle many types of queries very efficiently. Various utility algorithms are developed.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C7250 (Information storage and retrieval)",
  classification = "723; 901",
  corpsource =   "Stanford Univ., Stanford, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "algorithm; content-addressable storage; data structures; efficient; homogeneous splitting; information; information retrieval; information retrieval systems; intersection query; K-D trees; multidimensional binary search tree; partial match; queries; retrieval; running times; single data; structure; trees (mathematics); utility algorithms",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Claudson:1975:DSR,
  author =       "R. Mark Claudson",
  title =        "Digital Simulation of River Plankton Population Dynamics",
  journal =      j-CACM,
  volume =       "18",
  number =       "9",
  pages =        "517--523",
  month =        sep,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "This paper deals with the development of a mathematical model for and the digital simulation in Fortran IV of phytoplankton and zooplankton population densities in a river using previously developed rate expressions. As an investigation of the accuracy of the simulation methods, a simulation of the actual population dynamics of Asterionella in the Columbia River was made based on approximations of conditions in that river. The study demonstrates the usefulness of digital simulations in the examinations of certain aquatic ecosystems, as well as in environmental planning involving such examinations.",
  acknowledgement = ack-nhfb,
  classcodes =   "C7330 (Biology and medical computing); C7440 (Civil and mechanical engineering computing)",
  classification = "723; 901",
  corpsource =   "Hanford High School, Richland, WA, USA",
  journalabr =   "Commun ACM",
  keywords =     "approximations; aquatic ecosystems; computer simulation; digital simulation; ecological mechanisms; ecology; environmental engineering; environmental simulation; expressions; FORTRAN; mathematical modelling; mathematical models; pollution; rate; river plankton population dynamics; simulation; velocity cycle",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Piepmeier:1975:OBI,
  author =       "William F. Piepmeier",
  title =        "Optimal Balancing of {I/O} Requests to Disks",
  journal =      j-CACM,
  volume =       "18",
  number =       "9",
  pages =        "524--527",
  month =        sep,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1975.bib",
  abstract =     "Determining a policy for efficient allocation and utilization of a set of disk drives with differing operational characteristics is examined using analytical techniques. Using standard queueing theory, each disk drive is characterized by a queueing model with service time of a disk drive represented by the probability density function of the sum of two uniform distributions. Total response time of the set of disk models is then minimized under varying load conditions. The results indicate that faster devices should have higher utilization factors and that the number of different device types utilized tends to decrease with decreasing load. Specific examples using 2314 and 3330 combinations are examined.",
  acknowledgement = ack-nhfb,
  annote =       "Determining a policy for efficient allocation and utilization of a set of disk drives with differing operational characteristics is examined using analytical techniques. Using standard queueing theory, each disk drive is characterized by a queueing model with service time of a disk drive represented by the probability density function of the sum of two uniform distributions. Total resp. time of the set of disk is minim. under vary. load. cond.",
  classcodes =   "C6120 (File organisation); C6150J (Operating systems)",
  classification = "921; 922",
  corpsource =   "Washington Univ., Saint Louis, MO, USA",
  country =      "USA",
  descriptors =  "Analysis; queueing theory; queueing system; model; disk; system evaluation; scheduling; distribution;",
  enum =         "3649",
  journalabr =   "Commun ACM",
  keywords =     "allocation; analytical techniques; balancing; characteristics; device assignment; disc; drives; efficient allocation; file organisation; input/output; modelling; operational; optimization; probability --- Queueing Theory; probability density function; queueing theory; scheduling; storage; utilization factors",
  language =     "English",
  references =   "5",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Wegbreit:1975:MPA,
  author =       "Ben Wegbreit",
  title =        "Mechanical Program Analysis",
  journal =      j-CACM,
  volume =       "18",
  number =       "9",
  pages =        "528--539",
  month =        sep,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A05",
  MRnumber =     "53 9701",
  mrreviewer =   "A. D. Booth",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/Functional.bib",
  abstract =     "One means of analyzing program performance is by deriving closed-form expressions for their execution behavior. This paper discusses the mechanization of such analysis, and describes a system, Metric, which is able to analyze simple Lisp programs and produce, for example, closed-form expressions for their running time expressed in terms of size of input. This paper presents the reasons for mechanizing program analysis, describes the operation of Metric, explains its implementation, and discusses its limitations.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming); C6140D (High level languages); C6150G (Diagnostic, testing, debugging and evaluating systems)",
  classification = "723",
  corpsource =   "Xerox Palo Alto Res. Center, Palo Alto, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "algebraic manipulation; analysis; computer programming languages; execution behaviour; functional lisp; generating functions; LISP; lisp; list; mechanization; mechanizing program; metric; performance; processing; program analysis; programming; programming languages; programs; running time; size of input",
  treatment =    "P Practical",
}

@Article{Gerritsen:1975:PSD,
  author =       "Rob Gerritsen",
  title =        "A Preliminary System for the Design of {DBTG} Data Structures",
  journal =      j-CACM,
  volume =       "18",
  number =       "10",
  pages =        "551--557",
  month =        oct,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "The functional approach to database design is introduced. In this approach the goal of design is to derive a data structure which is capable of supporting a set of anticipated queries rather than a structure which ``models the business'' in some other way. An operational computer program is described which utilizes the functional approach to design data structures conforming to the Data Base Task Group specifications. The automatic programming technology utilized by this program, although typically used to generate procedure, is here used to generate declaratives.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723",
  corpsource =   "Univ. of Pennsylvania, Philadelphia, PA, USA",
  journalabr =   "Commun ACM",
  keywords =     "automatic programming; Data Base; data processing; data structures; database design; functional approach; nonprocedural languages; operational computer program; preliminary system; Task Group; translation",
  review =       "ACM CR 7604-??",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Shu:1975:CHL,
  author =       "Nan C. Shu and Barron C. Housel and Vincent Y. Lum",
  title =        "{CONVERT}: {A} High Level Translation Definition Language for Data Conversion",
  journal =      j-CACM,
  volume =       "18",
  number =       "10",
  pages =        "557--567",
  month =        oct,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  note =         "Also published in/as: 19 ACM SIGMOD Conf. on the Management of Data, King(ed), May.1975.",
  abstract =     "This paper describes a high level and nonprocedural translation definition language, CONVERT, which provides very powerful and highly flexible data restructuring capabilities. Its design is based on the simple underlying concept of a form which enables the users to visualize the translation processes, and thus makes data translation a much simpler task.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques); C6140D (High level languages)",
  classification = "723",
  corpsource =   "IBM Res. Lab., San Jose, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer programming languages; convert; data; data conversion; data handling; data processing --- Data Structures; data translation; database reorganisation; nonprocedural translation definition language; problem oriented languages; programming languages; restructuring; translation definition language; utility program",
  treatment =    "A Application; P Practical",
}

@Article{Smith:1975:OPR,
  author =       "John Miles Smith and Philip Yen-Tang Chang",
  title =        "Optimizing the Performance of a Relational Algebra Data Base Interface",
  journal =      j-CACM,
  volume =       "18",
  number =       "10",
  pages =        "568--579",
  month =        oct,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "A relational algebra interface, called SQUIRAL, is described in detail. SQUIRAL seeks to minimize query response time and space utilization by: (1) performing global query optimization, (2) exploiting disjoint and pipelined concurrency, (3) coordinating sort orders in temporary relations, (4) employing directory analysis, and (5) maintaining locality in page references. Algorithms for implementing the operators of E. F. Codd's relational algebra are presented, and a methodology for composing them to optimize the performance of a particular user query is described.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723",
  corpsource =   "Univ. of Utah, Salt Lake City, UT, USA",
  journalabr =   "Commun ACM",
  keywords =     "automatic; data; data processing; directory analysis; file; global query optimisation; inverted; manipulation language; optimisation; pipelined concurrency; programming; query response; query specification; relational algebra database interface; sort orders; space utilization; SQUIRAL; time; very high level language",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Astrahan:1975:ISE,
  author =       "M. M. Astrahan and D. D. Chamberlin",
  title =        "Implementation of a {Structured English Query Language}",
  journal =      j-CACM,
  volume =       "18",
  number =       "10",
  pages =        "580--588",
  month =        oct,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib and ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  note =         "Also published in/as: 19 ACM SIGMOD Conf. on the Management of Data, King(ed), May.1975",
  abstract =     "SEQUEL is a nonprocedural language which does not make use of quantifiers or other mathematical concepts; rather, SEQUEL uses a block structured format of English key words (hence the acronym ``Structured English Query Language'' ). SEQUEL is intended for interactive, problem solving use by people who have need for interaction with a large database but who are not trained programmers. This class of users includes urban planners, sociologists, accountants, and other professionals. The objective of the language is to provide a simple, easy-to-learn means of expressing the primitive actions used by people to obtain information from tables, such as ``look up a value in a column.'' SEQUEL and its companion language, SQUARE, have been shown to be relationally complete, i.e. equivalent in power to Codd's relational calculus.",
  acknowledgement = ack-nhfb,
  annote =       "Description of implementation of SEQUEL interpreter, especially optimizer, which uses indexes to simplify queries.",
  classcodes =   "C6130 (Data handling techniques); C6140D (High level languages); C6150C (Compilers, interpreters and other processors)",
  classification = "723",
  corpsource =   "IBM Res. Div., San Jose, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "CACM; data accessing; data handling; data organisation; data processing; data structure; data structures; data sublanguage; database; nonprocedural language; operations; optimisation algorithms; problem oriented languages; program interpreters; prototype interpreter; relation database IBM San Jose; relational model; SEQUEL; structured English query language",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Gavril:1975:MPP,
  author =       "Fanica Gavril",
  title =        "Merging with Parallel Processors",
  journal =      j-CACM,
  volume =       "18",
  number =       "10",
  pages =        "588--591",
  month =        oct,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Consider two linearly ordered sets A, B, vertical A vertical equals m, vertical B vertical equals n, m less than equivalent to n, and p,p less than equivalent to m, parallel processors working synchronously. The paper presents an algorithm for merging A and B with the p parallel processors, which requires at most 2 left bracket log//2(2m plus 1) right bracket plus left bracket 3m/p right bracket plus left bracket m/p right bracket left bracket log//2(n/m) right bracket steps. If n equals 2** beta m ( beta an integer), the algorithm requires at most 2 left bracket log//2(m plus 1) right bracket plus left bracket m/p right bracket (2 plus beta ) steps. In the case where m and n are of the same order of magnitude, i.e. n equals km with k being a constant, the algorithm requires 2 left bracket log//2(m plus 1) right bracket plus right bracket m/p right bracket (3 plus k) steps. These performances compare very favorably with the previous best parallel merging algorithm, Batcher's algorithm, which requires n/p plus ((m plus n)/2p)log//2m steps in the general case and km/p plus ((k plus l)/2)(m/p)log//2m in the special case where n equals km.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory)",
  classification = "722; 723",
  corpsource =   "Univ. of Illinois, Chicago, IL, USA",
  journalabr =   "Commun ACM",
  keywords =     "Batcher's algorithm; computer systems programming --- Sorting; computer systems, digital; linearly ordered sets; merging; parallel binary insertion; parallel processing; parallel processors; programming theory",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Reiser:1975:HRE,
  author =       "M. Reiser and H. Kobayashi",
  title =        "{Horner}'s Rule for the Evaluation of General Closed Queueing Networks",
  journal =      j-CACM,
  volume =       "18",
  number =       "10",
  pages =        "592--593",
  month =        oct,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1975.bib",
  abstract =     "The solution of separable closed queueing networks requires the evaluation of homogeneous multinomial expressions. The number of terms in those expressions grows combinatorially with the size of the network such that a direct summation may become impractical. An algorithm is given which does not show a combinatorial operation count. The algorithm is based on a generalization of Horner's rule for polynomials. It is also shown how mean queue size and throughput can be obtained at negligible extra cost once the normalization constant is evaluated.",
  acknowledgement = ack-nhfb,
  annote =       "An algorithm is given which makes it possible to solve separable closed queueing networks independent from the size of the network. The algorithm does not show a combinatorial operation count; it is based on a generalization of Horner's rule for polynomials. Also is shown how mean queue size and throughput can be obtained at negligible extra cost once the normalization constant is evaluated.",
  classcodes =   "B0240C (Queueing theory); C1140C (Queueing theory)",
  classification = "723; 912; 922",
  corpsource =   "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA",
  country =      "USA",
  descriptors =  "Closed queueing network; algorithm; evaluation;",
  enum =         "3660",
  journalabr =   "Commun ACM",
  keywords =     "closed queueing networks; combinatorial operation count; expressions; homogeneous multinomial; Horner's rule; load dependent service rate; multinomial sums; operations research --- Computer Applications; probability; queueing theory",
  language =     "English",
  references =   "8",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Salton:1975:VSM,
  author =       "G. Salton and A. Wong and C. S. Yang",
  title =        "A Vector Space Model for Automatic Indexing",
  journal =      j-CACM,
  volume =       "18",
  number =       "11",
  pages =        "613--620",
  month =        nov,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "In a document retrieval, or other pattern matching environment where stored entities (documents) are compared with each other or with incoming patterns (search requests), it appears that the best indexing (property) space is one where each entity lies as far away from the others as possible; in these circumstances the value of an indexing system may be expressible as a function of the density of the object space; in particular, retrieval performance may correlate inversely with space density. An approach based on space density computations is used to choose an optimum indexing vocabulary for a collection of documents. Typical evaluation results are shown, demonstrating the usefulness of the model.",
  acknowledgement = ack-nhfb,
  annote =       "Optimizing of relationship strength based data access.",
  classcodes =   "C6130 (Data handling techniques); C7240 (Information analysis and indexing)",
  classification = "723; 901",
  corpsource =   "Cornell Univ., Ithaca, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "automatic indexing; content analysis; density; document retrieval; incoming patterns; indexing; information science; library mechanisation; pattern matching environment; space; vector space model",
  treatment =    "A Application; P Practical",
}

@Article{Boyce:1975:SQR,
  author =       "Raymond F. Boyce and Donald D. Chamberlin and W. Frank {King, III} and Michael M. Hammer",
  title =        "Specifying Queries as Relational Expressions: The Square Data Sublanguage",
  journal =      j-CACM,
  volume =       "18",
  number =       "11",
  pages =        "621--628",
  month =        nov,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  note =         "Also published in/as: in Douque74 (IFIP TC-2), 1974. Also published in/as: ACM SIGPLAN-SIGIR 1974, Nance (ed), pp. 31--47. Also published in/as: IBM, San Jose Research Report RJ1291, October 1973.",
  abstract =     "This paper presents a data sublanguage called SQUARE, intended for use in ad hoc, interactive problem solving by non-computer specialists. SQUARE is based on the relational model of data, and is shown to be relationally complete; however, it avoids the quantifiers and bound variables required by languages based on the relational calculus. Facilities for query, insertion, deletion, and update on tabular data bases are described. A syntax is given, and suggestions are made for alternative syntaxes, including a syntax based on English key words for users with limited mathematical background.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques); C6140D (High level languages)",
  classification = "723",
  corpsource =   "IBM Res. Lab., San Jose, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "casual user; data processing; data sublanguage; database; English key words; interactive problem; nonprocedural language; problem oriented languages; query languages; relational calculus; relational expressions; SQUARE; square; tabular data",
  treatment =    "A Application; P Practical",
}

@Article{Ledgard:1975:GCS,
  author =       "Henry F. Ledgard and Michael Marcotty",
  title =        "A genealogy of control structures",
  journal =      j-CACM,
  volume =       "18",
  number =       "11",
  pages =        "629--639",
  month =        nov,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The classic result of Bohm and Jacopini on the theoretical completeness of if-then-else and while-do is discussed. Several recent ideas on control structures are then explored. These include a review of various other control structures, results on time\slash space limitations, and theorems relating the relative power of control structures under several notions of equivalence. In conclusion, the impact of theoretical results on the practicing programmer and the importance of one-in, one-out control structures as operational abstractions are discussed. It is argued further that there is insufficient evidence to warrant more than if-then-else, while-do, and their variants.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4290 (Other computer theory); C6110 (Systems analysis and programming)",
  classification = "723",
  corpsource =   "Univ. of Massachusetts, Amherst, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer programming languages; go to statements; language design; operational abstractions; PASCAL; program control structures; programming; structured programming",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Graham:1975:PSE,
  author =       "Susan L. Graham and Steven P. Rhodes",
  title =        "Practical Syntactic Error Recovery",
  journal =      j-CACM,
  volume =       "18",
  number =       "11",
  pages =        "639--650 (or 639--649??)",
  month =        nov,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "This paper describes a recovery scheme for syntax errors which provides automatically-generated high quality recovery with good diagnostic information at relatively low cost. Previous recovery techniques are summarized and empirical comparisons are made. Suggestions for further research on this topic conclude the paper.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming); C6150C (Compilers, interpreters and other processors); C6150G (Diagnostic, testing, debugging and evaluating systems)",
  classification = "723",
  corpsource =   "Univ. of California, Berkeley, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "compilers; computer programming languages; correction; debugging; diagnostic information; error; error compensation; error correction; parsing; program compilers; program debugging; simple precedence; syntactic error recovery; system recovery",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Bitner:1975:BPT,
  author =       "James R. Bitner and Edward M. Reingold",
  title =        "Backtrack Programming Techniques",
  journal =      j-CACM,
  volume =       "18",
  number =       "11",
  pages =        "651--656",
  month =        nov,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Theory/graph.coloring.bib",
  abstract =     "The purpose of this paper is twofold. First, a brief exposition of the general backtrack technique and its history is given. Second, it is shown how the use of macros can considerably shorten the computation time in many cases. In particular, this technique has allowed the solution of two previously open combinatorial problems, the computation of new terms in a well-known series, and the substantial reduction in computation time for the solution to another combinatorial problem.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory); C6100 (Software techniques and systems)",
  classification = "723",
  corpsource =   "Univ. of Illinois, Urbana, IL, USA",
  journalabr =   "Commun ACM",
  keywords =     "backtrack; combinatorial computing; combinatorial problems; computer programming; depth first search; depth-first search; difference-preserving codes; exhaustive; exhaustive search; graph coloring related algorithms; macros; non-attacking queen's problem; nonattacking queen's problem; pentominoes; problems; programming theory; search; shorten the computation time; squaring the square; tiling; tiling problems",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Kou:1975:NSB,
  author =       "Lawrence T. Kou and C. K. Wong",
  title =        "A Note on the Set Basis Problem Related to the Compaction of Character Sets",
  journal =      j-CACM,
  volume =       "18",
  number =       "11",
  pages =        "656--657",
  month =        nov,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A10",
  MRnumber =     "52 7196",
  mrreviewer =   "Dorothy Bollman",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "This note discusses the reduction of the set basis problem to the clique cover problem.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory)",
  classification = "723",
  corpsource =   "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "character sets; clique; compaction of character sets; computational complexity; computer programming; cover problem; data compression; polynomial completeness; set basis problem; set covering",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Naur:1975:PLN,
  author =       "Peter Naur",
  title =        "Programming Languages, Natural Languages, and Mathematics",
  journal =      j-CACM,
  volume =       "18",
  number =       "12",
  pages =        "676--683",
  month =        dec,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A05 (68A30)",
  MRnumber =     "56 13752",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  note =         "Papers from the Second {ACM} Symposium on Principles of Programming Languages (Palo Alto, Calif., 1975).",
  abstract =     "Some social aspects of programming are illuminated through analogies with similar aspects of mathematics and natural languages. The split between pure and applied mathematics is found similarly in programming. The development of natural languages toward flexionless, word-order based language types speaks for programming language design based on general, abstract constructs. By analogy with incidents of the history of artificial, auxiliary languages it is suggested that Fortran and Cobol will remain dominant for a long time to come. The most promising avenues for further work of wide influence are seen to be high quality program literature (i.e. programs) of general utility and studies of questions related to program style.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming)",
  classification = "723",
  corpsource =   "Datalogisk Inst., Copenhagen Univ., Copenhagen, Denmark",
  journalabr =   "Commun ACM",
  keywords =     "abstract constructs; artificial; auxiliary languages; computer programming languages; descriptive and; literature; prescriptive attitudes; programming language; programming languages; pure and applied mathematics; social aspects of automation; social aspects of programming; style",
  treatment =    "P Practical",
}

@Article{Goodenough:1975:EHI,
  author =       "John B. Goodenough",
  title =        "Exception Handling: Issues and a Proposed Notation",
  journal =      j-CACM,
  volume =       "18",
  number =       "12",
  pages =        "683--696",
  month =        dec,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "This paper defines exception conditions, discusses the requirements exception handling language features must satisfy, and proposes some new language features for dealing with exceptions in an orderly and reliable way. The proposed language features serve to highlight exception handling issues by showing how deficiencies in current approaches can be remedied.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming)",
  classification = "723",
  corpsource =   "SofTech Inc., Waltham, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer programming languages; conditions; error; exception conditions; exception handling; goto statement; language features; multilevel exit; ON conditions; programming; programming languages; proposed notation; structured programming",
  treatment =    "P Practical",
}

@Article{Jazayeri:1975:IEC,
  author =       "Mehdi Jazayeri and William F. Ogden and William C. Rounds",
  title =        "The Intrinsically Exponential Complexity of the Circularity Problem for Attribute Grammars",
  journal =      j-CACM,
  volume =       "18",
  number =       "12",
  pages =        "697--706",
  month =        dec,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A20",
  MRnumber =     "52 16115",
  mrreviewer =   "I. Hal Sudborough",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/AG.bib",
  note =         "Papers from the Second {ACM} Symposium on Principles of Programming Languages (Palo Alto, Calif., 1975)",
  abstract =     "Attribute grammars are an extension of context-free grammars devised by Knuth as a mechanism for including the semantics of a context-free language with the syntax of the language. The circularity problem for a grammar is to determine whether the semantics for all possible sentences (programs) in fact will be well defined. It is proved that this problem is, in general, computationally intractable. Specifically, it is shown that any deterministic algorithm which solves the problem must for infinitely many cases use an exponential amount of time. An improved version of Knuth's circularity testing algorithm is also given, which actually solves the problem within exponential time.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic); C4240 (Programming and algorithm theory)",
  classification = "721; 723",
  corpsource =   "Univ. of North Carolina, Chapel Hill, NC, USA",
  journalabr =   "Commun ACM",
  keywords =     "attribute grammars; automata theory; circ; circularity problem; computational complexity; computer programming languages; context free grammars; context-free grammars; deterministic algorithm; exponential time; intrinsically exponential complexity; semantics",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Hunt:1975:CLK,
  author =       "Harry B. {Hunt, III} and Thomas G. Szymanski and Jeffrey D. Ullman",
  title =        "On the Complexity of {LR(k)} Testing",
  journal =      j-CACM,
  volume =       "18",
  number =       "12",
  pages =        "707--716",
  month =        dec,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A20 (68A30)",
  MRnumber =     "52 12402",
  mrreviewer =   "Pavel Strnad",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  note =         "Papers from the Second ACM Symposium on Principles of Programming Languages (Palo Alto, Calif., 1975).",
  abstract =     "The problem of determining whether an arbitrary context-free grammar is a member of some easily parsed subclass of grammars such as the LR(k) grammars is considered. The time complexity of this problem is analyzed both when k is considered to be a fixed integer and when k is considered to be a parameter of the test. In the first case, it is shown that for every k there exists an O(n**k** plus **2) algorithm for testing the LR(k) property, where n is the size of the grammar in question. On the other hand, if both k and the subject grammar are problem parameters, then the complexity of the problem depends very strongly on the representation chosen for k. More specifically, it is shown that this problem is NP-complete when k is expressed in unary. When k is expressed in binary the problem is complete for nondeterministic exponential time. These results carry over to many other parameterized classes of grammars, such as the LL(k), strong LL(k), SLR(k), and strong LC(k) grammars.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic); C4240 (Programming and algorithm theory)",
  classification = "721; 723",
  corpsource =   "Harvard Univ., Cambridge, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "automata theory; computer programming languages",
  keywords =     "computational complexity; context free grammar; context-free grammars; LR(k) grammars; nondeterministic exponential time; NP complete; parsing; problems; time complexity",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Graham:1975:FUL,
  author =       "Susan L. Graham and Mark Wegman",
  title =        "A fast and usually linear algorithm for global flow analysis",
  journal =      j-CACM,
  volume =       "18",
  number =       "12",
  pages =        "716--716",
  month =        dec,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "See \cite{Graham:1976:FUL} for full paper.",
  abstract =     "A new algorithm for global flow analysis on reducible graphs is presented. The algorithm is shown to treat a very general class of function spaces. \par For a graph of $e$ edges, the algorithm has a worst case time bound of $O(e \log e)$ function operations. \par It is also shown that in programming terms, the number of operations is proportional to $e$ plus the number of exits from program loops. Consequently a restriction to one-entry one-exit control structures linearity. The algorithm can be extended to yet larger classes of function spaces and graphs by relaxing the time bound. Examples are given of code improvement problems which can be solved using the algorithm.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0250 (Combinatorial mathematics); C1160 (Combinatorial mathematics)",
  corpsource =   "Univ. of California, Berkeley, CA, USA",
  keywords =     "bound; code optimisation; code optimization; common; common subexpression elimination; compression; data flow; depth-first search; flow graph; function spaces; global flow analysis; go-to-less programming; graph theory; information propagation; live-dead analysis; path; path compression; reducibility; reducible graphs; subexpression elimination; worst case time",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Lipton:1975:RMP,
  author =       "Richard J. Lipton",
  title =        "Reduction: {A} Method of Proving Properties of Parallel Programs",
  journal =      j-CACM,
  volume =       "18",
  number =       "12",
  pages =        "717--721",
  month =        dec,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A05",
  MRnumber =     "53 4599",
  mrreviewer =   "O. A. Leticevskii",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/semantics.bib",
  note =         "Papers from the Second {ACM} Symposium on Principles of Programming Languages (Palo Alto, Calif., 1975).",
  abstract =     "When proving that a parallel program has a given property it is often convenient to assume that a statement is indivisible, i.e. that the statement cannot be interleaved with the rest of the program. Here sufficient conditions are obtained to show that the assumption that a statement is indivisible can be relaxed and still preserve properties such as halting. Thus correctness proofs of a parallel system can often be greatly simplified.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory)",
  classification = "723",
  corpsource =   "Yale Univ., New Haven, CT, USA",
  journalabr =   "Commun ACM",
  keywords =     "computation sequence; computer metatheory; deadlock; free; halting; indivisible; interruptible; parallel processing; parallel programs; process; programming theory; reduction; semaphore; verification method",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Schwartz:1975:ADS,
  author =       "J. T. Schwartz",
  title =        "Automatic Data Structure Choice in a Language of Very High Level",
  journal =      j-CACM,
  volume =       "18",
  number =       "12",
  pages =        "722--728",
  month =        dec,
  year =         "1975",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/opt.compiler.bib",
  abstract =     "SETL is a set-theoretically oriented language of very high level whose repertoire of semantic objects includes finite sets, ordered n-tuples, and sets of ordered n-tuples usable as mappings. This paper describes the structure of an optimizer for this language. Among other methods of interest, the optimizer uses techniques which allow relations of inclusion and membership to be established, the domains and ranges of (tabulated) mappings to be estimated from above and below, and the single-valuedness of (tabulated) mappings to be proved. Once facts of this kind have been established, automatic choice of data structures becomes possible. The methods employed are based upon, and extend, known techniques of data flow analysis.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory); C6140D (High level languages)",
  classification = "723",
  corpsource =   "New York Univ., New York, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "automatic programming; computer programming languages; data flow analysis; data processing --- Data Structures; data structure choice; data structures; language; mappings; optimisation; program; programming languages; programming theory; set theoretically oriented; SETL",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Kleinrock:1976:SLO,
  author =       "Leonard Kleinrock and William E. Naylor and Holger Opderbeck",
  title =        "A Study of Line Overhead in the {ARPANET}",
  journal =      j-CACM,
  volume =       "19",
  number =       "1",
  pages =        "3--13",
  month =        jan,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1976.bib",
  abstract =     "The form, extent, and effect of the communication line overhead in the ARPANET are considered. The source of this overhead is separated into various levels of protocol hierarchy and the characteristics of each level are summarized. Then the line efficiency for various models of system use is studied. Some measurements of line efficiency for the ARPANET are presented and by extrapolation these measurements are used to anticipate overhead in a heavily loaded network. Similar results are derived for a recently proposed network protocol and compared with those for the current system.",
  acknowledgement = ack-nhfb,
  annote =       "The form, extend, and effect of the communication line overhead in the Arpanet are considered.",
  classcodes =   "C5620 (Computer networks and techniques)",
  classification = "723",
  corpsource =   "Univ. of California, Los Angeles, CA, USA",
  country =      "USA",
  date =         "08/12/80",
  descriptors =  "ARPANET; packet switching; performance evaluation; OVERHEAD;",
  enum =         "1703",
  journalabr =   "Commun ACM",
  keywords =     "ARPANET; communication line; computer networks; computer systems, digital --- Time Sharing; computers; heavily loaded network; hierarchy; line efficiency; line overhead; protocol",
  language =     "English",
  references =   "23",
  treatment =    "P Practical",
}

@Article{Wilhelm:1976:ADS,
  author =       "Neil C. Wilhelm",
  title =        "An Anomaly in Disk Scheduling: {A} Comparison of {FCFS} and {SSTF} Seek Scheduling Using an Empirical Model for Disk Accesses",
  journal =      j-CACM,
  volume =       "19",
  number =       "1",
  pages =        "13--18 (or 13--17??)",
  month =        jan,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "A model for disk accesses based on published measurements is developed. The model is used to show that under highly probable conditions, FCFS seek scheduling is superior to SSTF scheduling in the sense of having a lower mean queue length. A simple example of an arrival sequence illustrating this anomaly is presented.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C6150J (Operating systems)",
  classification = "721; 722",
  corpsource =   "Univ. of Rochester, Rochester, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "(computers); comparison; data storage, magnetic; disc accesses; disc scheduling; empirical model; FCFS; magnetic disc and drum storage; operating systems; seek scheduling; SSTF",
  treatment =    "P Practical",
}

@Article{Agnew:1976:QAR,
  author =       "Carson E. Agnew",
  title =        "On Quadratic Adaptive Routing Algorithms",
  journal =      j-CACM,
  volume =       "19",
  number =       "1",
  pages =        "18--22",
  month =        jan,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1976.bib",
  abstract =     "Two analytic models of a store-and-forward communications network are constructed, one to find the optimal message routing and the other to illustrate the equilibrium (stationary state) maintained by an adaptive routing algorithm. These models show that adaptive routing does not satisfy the necessary conditions for an optimal routing. Adaptive routing tends to overuse the direct path and underuse alternate routes because it does not consider the impact of its current routing decision on the future state of the network. The form of the optimality conditions suggests that a modification of the adaptive algorithm will result in optimality. The modification requires the substitution of a quadratic bias term instead of a linear one in the routing table maintained at each network node. Simulation results are presented which confirm the theoretical analysis for a simple network.",
  acknowledgement = ack-nhfb,
  annote =       "Two analytic models of a store-and-forward communications network are constructed, one to find the optimal message routing and the other to illustrate the equilibrium maintained by an adaptive routing algorithm. These models show that adaptive routing does not satisfy the necessary conditions for an optimal routing. Adaptive routing tends to overuse the direct path and underuse alternate routes because it does not consider the impact of the ro",
  classcodes =   "B6210Z (Other data transmission); C5600 (Data communication equipment and techniques)",
  classification = "723",
  corpsource =   "Stanford Univ., Stanford, CA, USA",
  country =      "USA",
  descriptors =  "Routing algorithm; adaptive routing; quadratic routing; alternate routing; store-and-forward; computer network; distributed computing system; message switching;",
  enum =         "37",
  journalabr =   "Commun ACM",
  keywords =     "adaptive routing; algorithms; alternate routing; communications network; computer network; computer programming; digital communication systems; distributed network; equilibrium; forward; message switching; optimal message; quadratic adaptive routing; quadratic routing; routing; routing algorithms; store-and-forward network",
  language =     "English",
  references =   "0",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Karlton:1976:PHB,
  author =       "P. L. Karlton and S. H. Fuller and R. E. Scroggs and E. B. Kaehler",
  title =        "Performance of Height-Balanced Trees",
  journal =      j-CACM,
  volume =       "19",
  number =       "1",
  pages =        "23--28",
  month =        jan,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "This paper presents the results of simulations that investigate the performance of height-balanced (HB left bracket k right bracket ) trees. It is shown that the only statistic of HB left bracket 1 right bracket trees (AVL trees) that is a function of the size of the tree is the time to search for an item in the tree. For sufficiently large trees, the execution times of all procedures for maintaining HB left bracket 1 right bracket trees are independent of the size of the tree.",
  acknowledgement = ack-nhfb,
  annote =       "Binary tree balancing when inserting and deleting.",
  classcodes =   "C4290 (Other computer theory); C6120 (File organisation)",
  classification = "723; 921",
  corpsource =   "Carnegie-Mellon Univ., Pittsburgh, PA, USA",
  journalabr =   "Commun ACM",
  keywords =     "deletion; execution times; file organisation; height balanced trees; performance; search; traceback; trees (mathematics)",
  keywords =     "information retrieval systems; mathematical techniques",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Florentin:1976:IRC,
  author =       "J. J. Florentin",
  title =        "Information Reference Coding",
  journal =      j-CACM,
  volume =       "19",
  number =       "1",
  pages =        "29--33",
  month =        jan,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "Items in business systems have to be identified by reference codes, which can later be used as data codes and file keys in an associated data processing system. In business systems associated with large collections of integrated files (databases) it is vital to assign codes in a methodical way so as to control future extension and changes while maintaining correct program action. The principles of methodical coding are discussed, and the way in which logical connections between data items must be reflected in the reference code framework is shown through a set-theoretic information model.",
  acknowledgement = ack-nhfb,
  annote =       "Codes to denote associative tuples.",
  classcodes =   "C6120 (File organisation); C6130 (Data handling techniques)",
  classification = "723",
  corpsource =   "Birkbeck Coll., Univ. of London, London, UK",
  journalabr =   "Commun ACM",
  keywords =     "business systems; data codes; data handling; data processing system; data processing, business; databases; file keys; file organisation; information model; integrated files; logical connections; methodical coding; reference codes",
  treatment =    "P Practical",
}

@Article{Litecky:1976:SEE,
  author =       "Charles R. Litecky and Gordon B. Davis",
  title =        "Study of Errors, Error-Proneness, and Error Diagnosis in {Cobol}",
  journal =      j-CACM,
  volume =       "19",
  number =       "1",
  pages =        "33--37",
  month =        jan,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "This paper provides data on Cobol error frequency for correction of errors in student-oriented compilers, improvement of teaching, and changes in programming language. Cobol was studied because of economic importance, widespread usage, possible error-inducing design, and lack of research.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming); C6140D (High level languages); C6150G (Diagnostic, testing, debugging and evaluating systems)",
  classification = "723",
  corpsource =   "Univ. of Wisconsin, Madison, WI, USA",
  journalabr =   "Commun ACM",
  keywords =     "COBOL; computer programming languages; error diagnosis; errors; misspellings; program diagnostics; programming",
  treatment =    "P Practical",
}

@Article{Knuth:1976:EAB,
  author =       "Donald E. Knuth",
  title =        "Errata: {``Ancient Babylonian algorithms''}",
  journal =      j-CACM,
  volume =       "19",
  number =       "2",
  month =        feb,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "108.01A15",
  MRnumber =     "52 13133",
  bibdate =      "Tue Dec 26 13:35:07 1995",
  note =         "See \cite{Knuth:1972:ABA}.",
  acknowledgement = ack-nhfb,
}

@Article{Bochmann:1976:SEL,
  author =       "Gregor V. Bochmann",
  title =        "Semantic Evaluation from Left to Right",
  journal =      j-CACM,
  volume =       "19",
  number =       "2",
  pages =        "55--62",
  month =        feb,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A30",
  MRnumber =     "55 13879",
  mrreviewer =   "V. N. Agafonov",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/AG.bib; ftp://ftp.ira.uka.de/pub/bibliography/Database/dbase.bib",
  abstract =     "This paper describes attribute grammars and their use for the definition of programming languages and compilers; a formal definition of attribute grammars and a discussion of some of its important aspects are included. The paper concentrates on the evaluation of semantic attributes in a few passes from left to right over the derivation tree of a program. A condition for an attribute grammar is given which assures that the semantics of any program can be evaluated in a single pass over the derivation tree, and an algorithm is discussed which decides how many passes from left to right are in general necessary, given the attribute grammar. These notions are explained in terms of an example grammar which describes the scope rules of Algol 60. Practical questions, such as the relative efficiency of different evaluation schemes, and the ease of adapting the attribute grammar of a given programming language to the left-to-right evaluation scheme are discussed.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic)",
  classification = "723",
  corpsource =   "Univ. of Montreal, Montreal, Que., Canada",
  journalabr =   "Commun ACM",
  keywords =     "Algol 60; attribute grammars; compilers; computer programming languages; context free grammar; context-free grammars; context-free languages; derivation tree; eval class; left to right; multipass; programming languages; semantic attributes",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Rivest:1976:SOS,
  author =       "Ronald L. Rivest",
  title =        "On Self-Organizing Sequential Search Heuristics",
  journal =      j-CACM,
  volume =       "19",
  number =       "2",
  pages =        "63--67",
  month =        feb,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A10 (68A20)",
  MRnumber =     "53 12068",
  mrreviewer =   "Robert Wagner",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "This paper examines a class of heuristics for maintaining a sequential list in approximately optimal order with respect to the average time required to search for a specified element, assuming that each element is searched for with a fixed probability independent of previous searches performed. The ``move to front'' and ``transposition'' heuristics are shown to be optimal to within a constant factor, and the transposition rule is shown to be the more efficient of the two. Empirical evidence suggests that transposition is in fact optimal for any distribution of search probabilities.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0250 (Combinatorial mathematics); C1160 (Combinatorial mathematics); C6120 (File organisation); C6130 (Data handling techniques)",
  classification = "723; 922",
  corpsource =   "MIT, Cambridge, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer systems programming; probability",
  keywords =     "combinatorial mathematics; list processing; rule; self organising; sequential search heuristics; sorting; transposition",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Ives:1976:PEF,
  author =       "F. M. Ives",
  title =        "Permutation Enumeration: Four New Permutation Algorithms",
  journal =      j-CACM,
  volume =       "19",
  number =       "2",
  pages =        "68--72",
  month =        feb,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Classical permutation enumeration algorithms encounter special cases requiring additional computation every nth permutation when generating the n! permutations on n marks. Four new algorithms have the attribute that special cases occur every n(n minus 1) permutations. Two of the algorithms produce the next permutation with a single exchange of two marks. The other two algorithms infrequently exchange more than two marks, but the rules for generating the next permutation are very simple. Performance tests which have counted execution of assignment statements, comparisons, arithmetic operations, and subscripted array references have shown superiority of the new algorithms compared to Boothroyd's implementation of M. B. Wells' algorithm and Erlich's implementation of the Johnson-Trotter algorithm.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0250 (Combinatorial mathematics); C1160 (Combinatorial mathematics)",
  classification = "723",
  corpsource =   "Western Washington State Coll., Bellingham, WA, USA",
  journalabr =   "Commun ACM",
  keywords =     "combinatorial mathematics; computer programming; enumeration; loop free algorithms; permutation",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Martelli:1976:AHS,
  author =       "Alberto Martelli",
  title =        "Application of Heuristic Search Methods to Edge and Contour Detection",
  journal =      j-CACM,
  volume =       "19",
  number =       "2",
  pages =        "73--83",
  month =        feb,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "This paper presents a method for detecting edges and contours in noisy pictures. The properties of an edge are embedded in a figure of merit and the edge detection problem becomes the problem of minimizing the given figure of merit. This problem can be represented as a shortest path problem on a graph and can be solved using well-known graph search algorithms. The relations between this representation of the minimization problem and a dynamic programming approach are discussed, showing that the graph search method can lead to substantial improvements in computing time. Moreover, if heuristic search methods are used, the computing time will depend on the amount of noise in the picture. Some experimental results are given; these show how various information about the shape of the contour of an object can be embedded in the figure of merit, thus allowing the extraction of contours from noisy pictures and the separation of touching objects.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0260 (Optimisation techniques); B6140C (Optical information, image and video signal processing); C1180 (Optimisation techniques); C1230 (Artificial intelligence); C1250 (Pattern recognition); C5530 (Pattern recognition and computer vision equipment); C7490 (Computing in other engineering fields)",
  classification = "723; 921",
  corpsource =   "Istituto di Elaborazione della Informazione Consiglio Nazionale delle Ricerche, Piza, Italy",
  journalabr =   "Commun ACM",
  keywords =     "contours; dynamic programming; edge and contour detection; extraction of; heuristic programming; heuristic search; image processing; mathematical programming, dynamic; noisy; pattern; pattern recognition; pattern recognition systems; picture processing; pictures; problem; recognition; shortest path; solving",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Siler:1976:SEM,
  author =       "Kenneth F. Siler",
  title =        "A Stochastic Evaluation Model for Database Organizations in Data Retrieval Systems",
  journal =      j-CACM,
  volume =       "19",
  number =       "2",
  pages =        "84--95",
  month =        feb,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib",
  abstract =     "This paper discusses a simulation model of a data retrieval system which has the effect of significantly reducing the cost of experimentation and enabling research never attempted before. The model is designed to estimate the retrieval workload of alternative data retrieval systems. These data retrieval systems can be organized under several database organizations, including inverted list, threaded list, and cellular list organizations and hybrid combinations of these systems. Effectiveness of the methodology is demonstrated by using the model to study the effect of database organizations in data retrieval systems.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C7250 (Information storage and retrieval)",
  classification = "723; 922",
  corpsource =   "Univ. of California, Los Angeles, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "cellular list; data processing; data retrieval systems; database management systems; database organisations; information retrieval systems; inverted list; list; mathematical models; physical database design; simulation; stochastic evaluation model; stochastic processes; threaded",
  treatment =    "P Practical",
}

@Article{Fagin:1976:CEC,
  author =       "Ronald Fagin",
  title =        "A Counterintuitive Example of Computer Paging",
  journal =      j-CACM,
  volume =       "19",
  number =       "2",
  pages =        "96--97",
  month =        feb,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A50",
  MRnumber =     "55 7000a",
  mrreviewer =   "W. Kwasowiec",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  note =         "See corrigendum \cite{Fagin:1976:CCE}.",
  abstract =     "A counterexample is exhibited to a natural conjecture concerning the optimal way to group records into pages in the independent reference model of computer paging (an organization is said to be optimal if the ``least recently used'' miss ratio is minimized).",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723",
  corpsource =   "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "allocation; computer operating systems; computer paging; independent reference model; least recently; most likely together; record; storage organisation; used; virtual storage",
  treatment =    "P Practical",
}

@Article{Artzy:1976:FDT,
  author =       "Ehud Artzy and James A. Hinds and Harry J. Saal",
  title =        "A Fast Division Technique for Constant Divisors",
  journal =      j-CACM,
  volume =       "19",
  number =       "2",
  pages =        "98--101",
  month =        feb,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A10 (10A10)",
  MRnumber =     "54 1707",
  mrreviewer =   "C. F. Kelemen",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/Compiler.Lins.bib",
  abstract =     "A fast algorithm for division by constant divisors is presented. The method has proved very useful implemented as microcode on a binary machine, and can be adapted directly into hardware. The mathematical foundations of the algorithm are presented as well as some performance measures.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5230 (Digital arithmetic methods)",
  classification = "723",
  corpsource =   "State Univ. of New York, Buffalo, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "bit addressable memory; computer programming; constant divisors; digital arithmetic; fast division; microprogram",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Newell:1976:CSE,
  author =       "Allen Newell and Herbert A. Simon",
  title =        "Computer Science as Empirical Inquiry: Symbols and Search",
  journal =      j-CACM,
  volume =       "19",
  number =       "3",
  pages =        "113--126",
  month =        mar,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68-01",
  MRnumber =     "57 4555",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C1230 (Artificial intelligence); C6130 (Data handling techniques)",
  corpsource =   "Carnegie-Mellon Univ., Pittsburgh, PA, USA",
  keywords =     "artificial intelligence; cognition; computer science; empirical inquiry; heuristic programming; heuristic search; list; list processing; physical symbol systems; problem solving; processing; symbols; Turing",
  treatment =    "A Application; P Practical",
}

@Article{Babad:1976:JPM,
  author =       "Jair M. Babad and Mario M. Modiano",
  title =        "Joining Policies in a Multipriority Multiclass Batch Computer System",
  journal =      j-CACM,
  volume =       "19",
  number =       "3",
  pages =        "127--136",
  month =        mar,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "90B35 (68A99)",
  MRnumber =     "53 7429",
  mrreviewer =   "Erol Gelenbe",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A multipriority batch computer system which users from several different classes may join, with toll, service, and waiting charges is formulated here as a semi-Markov decision process, in which the aim of arriving users is to minimize their expected loss. The optimal joining policy of arriving users who may join the system at some of its queues is a control limit policy, with a single control number for any possible queue and the user's class; a newly arriving user will join a queue that is not filled up to the control number corresponding to this queue and the user's class. In this paper control numbers, as well as lower and upper bounds for the control numbers and the capacities of the system's queues are derived.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150J (Operating systems)",
  classification = "723; 922",
  corpsource =   "Univ. of Chicago, Chicago, IL, USA",
  journalabr =   "Commun ACM",
  keywords =     "batch processing (computers); control number; data processing; Markov processes; multipriority batch computer system; operating system; operations; operations research; optimal joining policy; price; priority queues; probability --- Queueing Theory; research; scheduling; semi Markow process",
  treatment =    "P Practical",
}

@Article{Allen:1976:PDF,
  author =       "F. E. Allen and J. Cocke",
  title =        "A Program Data Flow Analysis Procedure",
  journal =      j-CACM,
  volume =       "19",
  number =       "3",
  pages =        "137--147 (or 137--146??)",
  month =        mar,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Parallel/Multi.bib",
  abstract =     "The global data relationships in a program can be exposed and codified by the static analysis methods described in this paper. A procedure is given which determines all the definitions which can possibly ``reach'' each mode of the control flow graph of the program and all the definitions that are ``live'' on each edge of the graph. The procedure uses an ``interval'' ordered edge listing data structure and handles reducible and irreducible graphs indistinguishably.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory)",
  classification = "723",
  corpsource =   "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "compilers; data flow analysis; data processing; edge listing data; flow graphs; optimisation; program optimisation; programming theory; static analysis; structure",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Minski:1976:IRP,
  author =       "Naftaly Minski",
  title =        "Intentional Resolution of Privacy Protection in Database Systems",
  journal =      j-CACM,
  volume =       "19",
  number =       "3",
  pages =        "148--159",
  month =        mar,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Sat Jan 18 15:28:23 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "This paper is concerned with the control over what a user is allowed to do with a piece of information supplied to him by the database. The ability to condition the supply of information on its intended use is called here ``intentional resolution'' of privacy protection. The practical importance of intentional resolution is demonstrated by several examples, and its realization is discussed. It appears to be necessary for the database to impose a certain amount of control over the internal behavior of users' programs which interact with it. A model for user-database interaction which admits such a control is developed.",
  acknowledgement = ack-nhfb,
  classification = "723",
  journalabr =   "Commun ACM",
  keywords =     "data processing",
}

@Article{Naftaly:1976:IRP,
  author =       "M. Naftaly",
  title =        "Intentional resolution of privacy protection in database systems",
  journal =      j-CACM,
  volume =       "19",
  number =       "3",
  pages =        "148--159",
  month =        mar,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C0200 (General computer topics); C6120 (File organisation); C7100 (Business and administration)",
  corpsource =   "Rutgers Univ., New Brunswick, NJ, USA",
  keywords =     "data base systems; database management systems; intentional; interaction with databases; privacy protection; protection in programming languages; resolution; security; security of data",
  treatment =    "P Practical",
}

@Article{Smoot:1976:DIS,
  author =       "O. R. Smoot",
  title =        "Development of an international system for legal protection of computer programs",
  journal =      j-CACM,
  volume =       "19",
  number =       "4",
  pages =        "171--174",
  month =        apr,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C0200 (General computer topics)",
  corpsource =   "Computer and Business Equipment Mfg. Assoc., Washington, DC, USA",
  keywords =     "computer programs; informal report; international system; legal protection; legislation; market data; security of data; software protection; technological predictions",
  treatment =    "G General Review; P Practical",
}

@Article{Lientz:1976:CEV,
  author =       "Bennet P. Lientz",
  title =        "A comparative evaluation of versions of {BASIC}",
  journal =      j-CACM,
  volume =       "19",
  number =       "4",
  pages =        "175--181",
  month =        apr,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "From its inception, the BASIC language has grown in terms of its usage, scope of usage, and its features. This article compares ten of the current versions of BASIC with each other, with two earlier versions, and with the proposed standard for minimal BASIC. The comparison is arranged by the features of the versions and by computational comparison of computation and times and processing costs.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140D (High level languages); C6150G (Diagnostic, testing, debugging and evaluating systems)",
  classification = "723",
  corpsource =   "Univ. of California, Los Angeles, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "BASIC; computer programming languages; interpretive language summary",
  treatment =    "P Practical",
}

@Article{Raymond:1976:LLA,
  author =       "J. Raymond",
  title =        "{LG}: {A} language for analytic geometry",
  journal =      j-CACM,
  volume =       "19",
  number =       "4",
  pages =        "182--187",
  month =        apr,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "50-04 50D15 68A05",
  MRnumber =     "57 7341",
  mrreviewer =   "Wolfgang Bohm",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/imager/imager.76.bib",
  abstract =     "A conversational programming language for analytic geometry is described, together with some aspects of its implementation. The language allows the flexible definition of geometric objects and elements, computes their parameters, and displays the results. It also provides the capability of specifying a geometric figure via a collection of parameters and displaying various loci corresponding to these parameters. A third characteristic consists of the possibility of using this language to design other user oriented languages. LG has been specifically designed for use by nonprogrammers; it is easy to learn and very close to the natural language used in geometry.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5540 (Terminals and graphic displays); C6140D (High level languages)",
  classification = "723",
  corpsource =   "Univ. of Ottawa, Ottawa, Ont., Canada",
  journalabr =   "Commun ACM",
  keywords =     "analytic geometry; computer; computer graphics; computer programming languages; conventional programming language; geometry; graphics; interactive programming; LG; problem oriented language; problem oriented languages",
  treatment =    "P Practical",
}

@Article{Fagin:1976:CCE,
  author =       "Ronald Fagin",
  title =        "Corrigendum: {``A Counterintuitive Example of Computer Paging''}",
  journal =      j-CACM,
  volume =       "19",
  number =       "4",
  pages =        "187",
  month =        apr,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A50",
  MRnumber =     "55 7000b",
  mrreviewer =   "W. Kwasowiec",
  bibdate =      "Tue Dec 26 13:35:07 1995",
  note =         "See \cite{Fagin:1976:CEC}.",
  acknowledgement = ack-nhfb,
}

@Article{Katz:1976:LAP,
  author =       "Shmuel Katz and Zohar Manna",
  title =        "Logical Analysis of Programs",
  journal =      j-CACM,
  volume =       "19",
  number =       "4",
  pages =        "188--206",
  month =        apr,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A05",
  MRnumber =     "56 17183",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Most present systems for verification of computer programs are incomplete in that intermediate inductive assertions must be provided manually by the user, termination is not proven, and incorrect programs are not treated. As a unified solution to these problems, this paper suggests conducting a logical analysis of programs by using invariants which express what is actually occurring in the program. Techniques for the automatic generation of invariants are examined. Criteria for using the invariants to check simultaneously for correctness (including termination) or incorrectness are provided. Implications of the approach for the automatic diagnosis and correction of logical errors are discussed.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150G (Diagnostic, testing, debugging and evaluating systems)",
  classification = "723; 921",
  corpsource =   "Weizmann Inst. of Sci., Rehovoth, Israel",
  journalabr =   "Commun ACM",
  keywords =     "automatic diagnosis; computer programming languages; correctness; incorrectness; invariants; logical analysis; mathematical techniques; program debugging; program testing; program verification",
  treatment =    "P Practical",
}

@Article{Denning:1976:LMS,
  author =       "Dorothy E. Denning",
  title =        "A Lattice Model of Secure Information Flow",
  journal =      j-CACM,
  volume =       "19",
  number =       "5",
  pages =        "236--243",
  month =        may,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A25",
  MRnumber =     "55 1821",
  mrreviewer =   "George I. Davida",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  note =         "Papers from the Fifth ACM Symposium on Operating Systems Principles (Univ. Texas, Austin, Tex., 1975).",
  abstract =     "Mechanisms that guarantee secure information flow in a computer system are discussed. These mechanisms are examined within a mathematical framework suitable for formulating the requirements of secure information flow among security classes. The central component of the model is a lattice structure derived from the security classes and justified by the semantics of information flow. The model provides a unifying view of all systems that restrict information flow, enables a classification of them according to security objectives, and suggests some new approaches. It also leads to the construction of automatic program certification mechanisms for verifying the secure flow of information through a program.",
  acknowledgement = ack-nhfb,
  classcodes =   "C0200 (General computer topics); C6120 (File organisation); C6150J (Operating systems)",
  classification = "722; 723",
  corpsource =   "Purdue Univ., Lafayette, IN, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer operating systems; data processing; lattice; mathematical models; program certification; secure information flow; security; security classes; security of data",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Millen:1976:SKV,
  author =       "Jonathan K. Millen",
  title =        "Security Kernel Validation in Practice",
  journal =      j-CACM,
  volume =       "19",
  number =       "5",
  pages =        "243--250",
  month =        may,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A security kernel is a software and hardware mechanism that enforces access controls within a computer system. The correctness of a security kernel on a PDP-11\slash 45 is being proved. This paper describes the technique used to carry out the first step of the proof: validating a formal specification of the program with respect to axioms for a secure system. Application of the kernel will be in providing normally responsive multiprogrammed or time-shared service to computer system users, while restricting access to data to those users with permission for it.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C6150J (Operating systems)",
  classification = "722; 723",
  corpsource =   "MITRE Corp., Bedford, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer operating systems; computer systems, digital --- Time Sharing; correctness; data processing; formal specification; operating systems (computers); protection; security kernel; security of data; validation; verification",
  treatment =    "P Practical",
}

@Article{Lampson:1976:ROS,
  author =       "Butler W. Lampson and Howard E. Sturgis",
  title =        "Reflections on an Operating System Design",
  journal =      j-CACM,
  volume =       "19",
  number =       "5",
  pages =        "251--265",
  month =        may,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/os.bib",
  abstract =     "The main features of a general purpose multiaccess operating system developed for the CDC 6400 at Berkeley are presented, and its good and bad points are discussed as they appear in retrospect. Distinctive features of the design were the use of capabilities for protection, and the organization of the system into a sequence of layers, each building on the facilities provided by earlier ones and protecting itself from the malfunctions of later ones. There were serious problems in maintaining the protection between layers when levels were added to the memory hierarchy. These problems are discussed and a new solution is described.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C6150J (Operating systems)",
  classification = "723",
  corpsource =   "Xerox Palo Alto Res. Center, Palo Alto, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "capabilities; CDC 6400; computer operating systems; faults; hierarchy; layering domains; memory; memory hierarchy; operating system; operating systems (computers); protection; security of data; sharing programs; time-",
  treatment =    "P Practical",
}

@Article{Habermann:1976:MHF,
  author =       "A. N. Habermann and Lawrence Flon and Lee Cooprider",
  title =        "Modularization and Hierarchy in a Family of Operating Systems",
  journal =      j-CACM,
  volume =       "19",
  number =       "5",
  pages =        "266--272",
  month =        may,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/os.bib",
  abstract =     "This paper describes the design philosophy used in the construction of a family of operating systems. Fundamental to the design are the concepts of level and module. Further, the system design is structured hierarchically based upon functions. Family members can share much of the software as a result of the implementation of run-time modules at the lowest system level. The system is expected to produce several family members --- including batch and timesharing system --- with widely differing storage management strategies.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C6150J (Operating systems)",
  classification = "723",
  corpsource =   "Carnegie-Mellon Univ., Pittsburgh, PA, USA",
  journalabr =   "Commun ACM",
  keywords =     "address space; computer operating systems; data; incremental machine design; module; operating systems; operating systems (computers); type; virtual memory; virtual storage",
  treatment =    "P Practical",
}

@Article{Howard:1976:PM,
  author =       "John H. Howard",
  title =        "Proving Monitors",
  journal =      j-CACM,
  volume =       "19",
  number =       "5",
  pages =        "273--279 (or 273--278??)",
  month =        may,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Monitors are devices for defining shared abstract objects in a multiprogramming system and for scheduling access to them. It is shown that scheduling and sequential properties of monitors can be proved by using state variables which record the monitors' history and by defining extended proof rules for their wait and signal operations. These two techniques are defined, discussed, and applied to examples to prove properties such as freedom from indefinitely repeated overtaking or unnecessary waiting, upper bounds on queue lengths, and historical behavior.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C6150J (Operating systems)",
  classification = "723",
  corpsource =   "Univ. of Texas, Austin, TX, USA",
  journalabr =   "Commun ACM",
  keywords =     "alarm; bounded buffer; clocks; computer metatheory; computer operating systems; computer systems programming --- Multiprogramming; concurrency; correctness; disc head; historical; monitors; multiprogramming; operating systems (computers); proof rules; scheduling; semaphores; variables",
  treatment =    "P Practical",
}

@Article{Owicki:1976:VPP,
  author =       "Susan Owicki and David Gries",
  title =        "Verifying Properties of Parallel Programs: An Axiomatic Approach",
  journal =      j-CACM,
  volume =       "19",
  number =       "5",
  pages =        "279--285",
  month =        may,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A05 (68A40)",
  MRnumber =     "55 6925",
  mrreviewer =   "Derek C. Oppen",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Parallel/Multi.bib",
  note =         "Papers from the {Fifth {ACM} Symposium on Operating Systems Principles (Univ. Texas, Austin, Tex., 1975)}.",
  abstract =     "An axiomatic method for proving a number of properties of parallel programs is presented. A deductive system which is in some sense complete for partial correctness is defined. A crucial axiom provides for the use of auxiliary variables, which are added to a parallel program as an aid to proving it correct. The information in a partial correctness proof can be used to prove such properties as mutual exclusion, freedom from deadlock, and program termination. Techniques for verifying these properties are presented and illustrated by application to the dining philosophers problem. The language and axioms offered give guides for the construction of correct and comprehensible programs.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150G (Diagnostic, testing, debugging and evaluating systems); C6150J (Operating systems)",
  classification = "723",
  corpsource =   "Computer Sci. Dept., Cornell Univ., Ithaca, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "axiomatic method; computer metatheory; computer operating systems; computer systems programming; concurrent processes; correctness proofs; deadlock; multiprogramming; mutual exclusion; parallel processing; parallel programs; program testing; program verification; structured; synchronisation",
  treatment =    "P Practical",
}

@Article{Madison:1976:CPL,
  author =       "A. Wayne Madison and Alan P. Batson",
  title =        "Characteristics of Program Localities",
  journal =      j-CACM,
  volume =       "19",
  number =       "5",
  pages =        "285--294",
  month =        may,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/os.bib",
  abstract =     "The term ``locality'' is used to denote that subset of a program's segments which are referenced during a particular phase of its execution. In this paper the concept of a locality is made more explicit through a formal definition of what constitutes a phase of localized reference behavior, and by a corresponding mechanism for the detection of localities in actual reference strings. This definition provides for the existence of a hierarchy of localities at any given time. empirical data from a sample of production Algol 60 programs is used to display distributions of locality sizes and lifetimes. These results are discussed in terms of their implications for the modeling of program behavior and memory management in virtual memory systems.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C6150G (Diagnostic, testing, debugging and evaluating systems)",
  classification = "723",
  corpsource =   "Dept. of Appl. Math. and Computer Sci., Univ. of Virginia, Charlottesville, VA, USA",
  journalabr =   "Commun ACM",
  keywords =     "bounded locality intervals; computer operating systems; computer programming languages; locality; memory; memory management; program behaviour; storage management; virtual; virtual storage",
  treatment =    "P Practical",
}

@Article{Prieve:1976:VOV,
  author =       "Barton G. Prieve and R. S. Fabry",
  title =        "{VMIN} --- an Optimal Variable-Space Page Replacement Algorithm",
  journal =      j-CACM,
  volume =       "19",
  number =       "5",
  pages =        "295--297",
  month =        may,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A criterion for comparing variable space page replacement algorithms is presented. An optimum page replacement algorithm, called VMIN, is described and shown to be optimum with respect to this criterion. The results of simulating VMIN, Denning's working set, and the page partitioning replacement algorithms on five virtual memory programs are presented to demonstrate the improvement possible over the known realizable variable space algorithms.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723",
  corpsource =   "Bell Labs., Naperville, IL, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer operating systems; computer systems programming --- Supervisory and Executive Programs; demand paging; multilevel memory; optimal page replacement; page replacement algorithms; performance measurement; systems; virtual memory programs; virtual storage; VMIN; working set",
}

@Article{Chu:1976:APR,
  author =       "Wesley W. Chu and Holger Opderbeck",
  title =        "Analysis of the {PFF} Replacement Algorithm via a {Semi-Markov} Model",
  journal =      j-CACM,
  volume =       "19",
  number =       "5",
  pages =        "298--304",
  month =        may,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A50",
  MRnumber =     "54 9194",
  mrreviewer =   "U. M. Von Maydell",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  note =         "Papers from the Fifth ACM Symposium on Operating Systems Principles (Univ. Texas, Austin, Tex., 1975). See corrigendum \cite{Chu:1976:CAP}.",
  abstract =     "An analytical model is presented to estimate the performance of the Page Fault Frequency (PFF) replacement algorithm. In this model, program behavior is represented by the LRU stack distance model and the PFF replacement algorithm is represented by a semi-Markov model. Using these models, such parameters as the inter-page-fault interval distribution, the probability of the number of distinct pages being referenced during an inter-page-fault interval, etc., may be analytically determined. Using these models to evaluate these parameter values permits study of the performance of the replacement algorithm by simulating the page fault events rather than every page reference event. This significantly reduces the required computation time in estimating the performance of the PFF algorithm.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723",
  corpsource =   "Univ. of California, Los Angeles, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "behaviour; computer operating systems; computer systems programming --- Supervisory and Executive Programs; mathematical models; of replacement algorithm; page fault events; Page Fault Frequency; PFF replacement algorithm; program; semi Markov model; simulation; virtual storage",
  treatment =    "P Practical",
}

@Article{Taulbee:1976:PEP,
  author =       "O. E. Taulbee and S. D. Conte",
  title =        "Production and employment of {Ph.D.}'s in computer science",
  journal =      j-CACM,
  volume =       "19",
  number =       "6",
  pages =        "311--313",
  month =        jun,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C0200 (General computer topics)",
  corpsource =   "Univ. of Pittsburgh, Pittsburgh, PA, USA",
  keywords =     "computer science; employment; faculty; production; salaries",
  treatment =    "P Practical",
}

@Article{Severance:1976:PGA,
  author =       "Dennis G. Severance and Ricardo A. Duhne",
  title =        "A Practitioner's Guide to Addressing Algorithms",
  journal =      j-CACM,
  volume =       "19",
  number =       "6",
  pages =        "314--326",
  month =        jun,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib and ftp://ftp.ira.uka.de/pub/bibliography/Object/Nierstrasz.bib",
  abstract =     "This paper consolidates a number of popular rules of thumb which have been suggested for the design of record addressing algorithms, and discusses the applicability of these rules to large commercial databases. Guidelines for selecting identifier transformations, overflow techniques, loading factors, bucket sizes, and loading order are considered. Particular attention is focused on the reasonableness of common heuristics for determining primary or secondary bucket sizes. A mathematical model which explicitly considers storage device characteristics and time\slash space cost tradeoffs is used to analyze the effect of design parameters on overall system costs. A specific design example is presented and solved.",
  acknowledgement = ack-nhfb,
  annote =       "This paper consolidates a number of popular rules of thumb which have been suggested for the design of record addressing algorithms, and discusses the applicability of these rules to large commercial databases.",
  classcodes =   "C6120 (File organisation); C7100 (Business and administration)",
  classification = "823; 901",
  corpsource =   "Cornell Univ., Ithaca, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "bucket; computer systems programming --- Utility Programs; data management; data processing; database management systems; file organisation; file retrieval; functions; hashing; information; information retrieval systems --- Evaluation; loading factors; record addressing; retrieval; rules of thumb; searching; sizes; synonym resolution",
  treatment =    "A Application; E Economic; P Practical",
}

@Article{Baskett:1976:IMC,
  author =       "Forest Baskett and Alan Jay Smith",
  title =        "Interference in Multiprocessor Computer Systems with Interleaved Memory",
  journal =      j-CACM,
  volume =       "19",
  number =       "6",
  pages =        "327--334",
  month =        jun,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Parallel/Multi.bib",
  abstract =     "The memory interference caused by several processors simultaneously using several memory modules is analyzed. Exact results are computed for a simple model of such a system. The limiting value is derived for the relative degree of memory interference as the system size increases. The assumptions and results of the simple model are tested against some measurements of program behavior and simulations of systems using memory references from real programs. The model results provide a good indication of the performance that should be expected from real systems of this type.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4290 (Other computer theory); C5400 (Analogue and digital computers and systems)",
  classification = "722",
  corpsource =   "Stanford Univ., Stanford, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer systems; computer systems, digital; interference; interleaved memory; memory; multiprocessing; multiprocessing systems; multiprocessor; trace driven simulation",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Frieder:1976:PDA,
  author =       "Gideon Frieder and Harry J. Saal",
  title =        "Process for the Determination of Addresses in Variable Length Addressing",
  journal =      j-CACM,
  volume =       "19",
  number =       "6",
  pages =        "335--338",
  month =        jun,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "An algorithm is presented for the assignment of instruction addresses and formats under the following conditions: the length of the instruction varies as a function of the distance of the instruction from its target; there exists an optimality criterion which implies some preferential choices subject to the addressing constraints. This may be, for example, achieving the smallest number of long instructions, in which case the total code length is minimized, or minimizing the assigned address of a specified point in the program. The algorithm is suitable for arbitrary program structure and a choice of optimization criteria.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming); C6120 (File organisation)",
  classification = "723",
  corpsource =   "IBM Israel Sci. Center, Haifa, Israel",
  journalabr =   "Commun ACM",
  keywords =     "assembler; computer operating systems; formats; instruction addresses; paging; programming; variable length addressing; virtual storage",
  treatment =    "P Practical",
}

@Article{Wise:1976:RLE,
  author =       "David S. Wise",
  title =        "Referencing Lists by an Edge",
  journal =      j-CACM,
  volume =       "19",
  number =       "6",
  pages =        "338--342",
  month =        jun,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "An edge reference into a list structure is a pair of pointers to adjacent nodes. Such a reference often requires little additional space, but its use can yield efficient algorithms. For instance, a circular link between the ends of a list is redundant if the list is always referenced by that edge, and list traversal is easier when that link is null. Edge references also allow threading of nonrecursive lists, can replace some header cells, and enhance the famous exclusive-or trick to double-link lists.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming); C6120 (File organisation); C6130 (Data handling techniques)",
  classification = "723",
  corpsource =   "Indiana Univ., Bloomington, IN, USA",
  journalabr =   "Commun ACM",
  keywords =     "circular link; computer programming --- Subroutines; computer programming languages; cursor; data structures; doubly linked; edge reference; header cells; list; list processing; list structure; overlapping sublist; pointer; traversal",
  treatment =    "A Application; P Practical",
}

@Article{Schumacher:1976:SAD,
  author =       "Helmut Schumacher and Kenneth C. Sevcik",
  title =        "The synthetic approach to decision table conversion",
  journal =      j-CACM,
  volume =       "19",
  number =       "6",
  pages =        "343--351",
  month =        jun,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Previous approaches to the problem of automatically converting decision tables to computer programs have been based on decomposition. An optimal program is located only through implicit enumeration of all possible decision trees using a technique such as branch-and-bound. The new approach described in this paper uses dynamic programming to synthesize an optimal decision tree from which a program can be created. Using this approach, the efficiency of creating an optimal program is increased substantially, permitting generation of optimal programs for decision tables with as many as ten to twelve conditions.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory); C6110 (Systems analysis and programming)",
  classification = "723; 921",
  corpsource =   "Univ. of Toronto, Toronto, Ont., Canada",
  journalabr =   "Commun ACM",
  keywords =     "computer systems programming; decision table conversion; decision tables; decision trees; dynamic programming; mathematical techniques --- Combinatorial Mathematics; optimal program; programming theory",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Clark:1976:ELM,
  author =       "Douglas W. Clark",
  title =        "An Efficient List Moving Algorithm Using constant Workspace",
  journal =      j-CACM,
  volume =       "19",
  number =       "6",
  pages =        "352--354 (or 353--354??)",
  month =        jun,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/garbage.collection.bib",
  abstract =     "An efficient algorithm is presented for moving arbitrary list structures, using no storage (apart from program variables) other than that required to hold the original list and the copy. The original list is destroyed as it is moved. No mark bits are necessary, but pointers to the copy must be distinguishable from pointers to the original. The algorithm is superior in execution speed to previous algorithms for the same problem. Some variations and extensions of the algorithm are discussed.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C6130 (Data handling techniques)",
  classification = "723",
  corpsource =   "Carnegie-Mellon Univ., Pittsburgh, PA, USA",
  journalabr =   "Commun ACM",
  keywords =     "complexity; computer programming --- Subroutines; computer programming languages; constant workspace; data processing --- Data Structures; LISP; list copying; list moving; list processing; space; storage management",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Steele:1976:CMC,
  author =       "Guy L. {Steele, Jr.}",
  title =        "Corrigendum: {``Multiprocessing Compactifying Garbage Collection''}",
  journal =      j-CACM,
  volume =       "19",
  number =       "6",
  pages =        "354--354",
  month =        jun,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Sat Jan 18 15:29:03 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Theory/Seiferas/1976.bib",
  note =         "See \cite{Steele:1975:MCG}.",
}

@Article{Knott:1976:NSP,
  author =       "Gary D. Knott",
  title =        "A Numbering System for Permutations of Combinations",
  journal =      j-CACM,
  volume =       "19",
  number =       "6",
  pages =        "355--356",
  month =        jun,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Theory/Seiferas/1976.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "B0250 (Combinatorial mathematics); C1160 (Combinatorial mathematics); C7310 (Mathematics computing)",
  corpsource =   "Nat. Inst. of Health, Bethesda, MD, USA",
  keywords =     "Algol procedures; coding systems; combinatorial mathematics; combinatorics; inverse; permuted combination numbering system; storage mapping functions",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Conte:1976:TCC,
  author =       "S. D. Conte and M. H. Halstead",
  title =        "Technology of Computer Center Management: a Proposed Course for Graduate Professional Programs in Computer Science or in Information Systems",
  journal =      j-CACM,
  volume =       "19",
  number =       "7",
  pages =        "369--370",
  month =        jul,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "This paper is a report on a course entitled, ``The Technology of Computer Center Management,'' which has been offered at Purdue for the past four years. The course is suitable either for graduate professional programs in information systems or for graduate professional programs in computer science. Although there are currently no suitable textbooks for this course, a selected bibliography is included which covers various course topics.",
  acknowledgement = ack-nhfb,
  classcodes =   "C0220 (Computing education and training)",
  classification = "723; 901; 912",
  corpsource =   "Purdue Univ., West Lafayette, IN, USA",
  journalabr =   "Commun ACM",
  keywords =     "administration; computer centre management; computer science; computer system; data processing; education; educational courses; graduate professional programs; information science; information systems; management; management science; performance",
  treatment =    "P Practical",
}

@Article{Keller:1976:FVP,
  author =       "Robert M. Keller",
  title =        "Formal Verification of Parallel Programs",
  journal =      j-CACM,
  volume =       "19",
  number =       "7",
  pages =        "371--384",
  month =        jul,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A05",
  MRnumber =     "54 14430",
  mrreviewer =   "W. D. Maurer",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Parallel/Multi.bib",
  abstract =     "Two formal models for parallel computation are presented: an abstract conceptual model and a parallel-program model. The former model does not distinguish between control and data states. The latter model is includes the capability for the representation of an infinite set of control states by allowing there to be arbitrarily many instruction pointers (or processes) executing the program. An induction principle is presented which treats the control and data state sets on the same ground. Through the use of ``place variables'', it is observed that certain correctness conditions can be expressed without enumeration of the set of all possible control states. Examples are presented in which the induction principle is used to demonstrate proofs of mutual exclusion. Also discussed is an extension of the program model which allows each process to have its own local variables and permits shared global variables. Correctness of certain forms of implementation is also discussed.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4290 (Other computer theory); C5400 (Analogue and digital computers and systems); C6150G (Diagnostic, testing, debugging and evaluating systems); C6150J (Operating systems)",
  classification = "722; 723",
  corpsource =   "Princeton Univ., Princeton, NJ, USA",
  journalabr =   "Commun ACM",
  keywords =     "assertions; computer metatheory --- Programming Theory; computer systems, digital; correctness; data state sets; deadlock; exclusion; mutual; operating systems (computers); parallel processing; parallel programs; Petri net; program; testing; transition system; verification",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{King:1976:SEP,
  author =       "James C. King",
  title =        "Symbolic Execution and Program Testing",
  journal =      j-CACM,
  volume =       "19",
  number =       "7",
  pages =        "385--394",
  month =        jul,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A05",
  MRnumber =     "54 6541",
  mrreviewer =   "P. W. Baker",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "This paper describes the symbolic execution of programs. Instead of supplying the normal inputs to a program (e.g. numbers) one supplies symbols representing arbitrary values. The execution proceeds as in a normal execution except that values may be symbolic formulas over the input symbols. The difficult, yet interesting issues arise during the symbolic execution of conditional branch type statements. A particular system called EFFIGY which provides symbolic execution for program testing and debugging is also described. It interpretively executes programs written in a simple PL/I style programming language. It includes many standard debugging features, the ability to manage and to prove things about symbolic expressions, a simple program testing manager, and a program verifier. A brief discussion of the relationship between symbolic execution and program proving is also included.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming); C6150G (Diagnostic, testing, debugging and evaluating systems)",
  classification = "723",
  corpsource =   "IBM Thomas J. Watson Res. Center, Yorktown Heights, NJ, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer metatheory --- Formal Logic; computer programming languages; debugging; EFFIGY; effigy; interpretation; PL/I; program debugging; program proving; program testing; program verification; symbolic; symbolic execution",
  treatment =    "P Practical; T Theoretical or Mathematical",
}

@Article{Metcalfe:1976:EDP,
  author =       "Robert M. Metcalfe and David R. Boggs",
  title =        "{Ethernet}: Distributed Packet Switching for Local Computer Networks",
  journal =      j-CACM,
  volume =       "19",
  number =       "7",
  pages =        "395--404",
  month =        jul,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib and ftp://ftp.ira.uka.de/pub/bibliography/Ai/Ai.misc.bib and ftp://ftp.ira.uka.de/pub/bibliography/Misc/misc.1.bib",
  abstract =     "Ethernet is a branching broadcast communication system for carrying digital data packets among locally distributed computing stations. The packet transport mechanism provided by Ethernet has been used to build systems which can be viewed as either local computer networks or loosely coupled multiprocessors. \par An Ethernet's shared communication facility, its Ether, is a passive broadcast medium with no central control. Coordination of access to the Ether for packet broadcasts is distributed among the contending transmitting stations using controlled statistical arbitration. \par Switching of packets to their destinations on the Ether is distributed among the receiving stations using packet address recognition. Design principles and implementation are described, based on experience with an operating Ethernet of 100 nodes along a kilometer of coaxial cable. A model for estimating performance under heavy loads and a packet protocol for error controlled communication are included for completeness.",
  acknowledgement = ack-nhfb,
  classcodes =   "B6210L (Computer communications); C5620 (Computer networks and techniques)",
  classification = "718; 722; 723",
  corpsource =   "Xerox Palo Alto Res. Center, Palo Alto, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "broadcast; broadcast communication; communication; computer networks; computer systems, digital --- Real Time Operation; computers --- Data Communication Systems; data transmission; digital communication systems; distributed communication; distributed computing; distributed control; Ethernet; LANs; multiprocessing; multiprocessors; networks; operating; packet switching; statistical arbitration; switching systems",
  treatment =    "A Application; P Practical",
}

@Article{Cheng:1976:SDR,
  author =       "Cheng-Wen Cheng and Jonas Rabin",
  title =        "Synthesis of Decision Rules",
  journal =      j-CACM,
  volume =       "19",
  number =       "7",
  pages =        "404--406",
  month =        jul,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Decision tables can be used as an effective tool during an interview to record the logic of processes to be automated. The result of such an interview is not a structure of complete decision tables but rather sets of decision rules. The purpose of this paper is to provide a procedure for synthesizing the decision rules and thus provide an aid in developing a structure of complete decision tables.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming); C7100 (Business and administration)",
  classification = "723; 922",
  corpsource =   "Western Electric Res. Center, Princeton, NJ, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer systems programming; data processing --- Security of Data; decision rules; decision tables; decision theory and analysis; interview; logical design; logical tables; management; specification language; system design",
  treatment =    "P Practical; T Theoretical or Mathematical",
}

@Article{Fishman:1976:SGD,
  author =       "George S. Fishman",
  title =        "Sampling from the {Gamma-distribution} on a computer",
  journal =      j-CACM,
  volume =       "19",
  number =       "7",
  pages =        "407--409",
  month =        jul,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65C10",
  MRnumber =     "54 6449",
  mrreviewer =   "Artenio De Matteis",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1976.bib",
  abstract =     "This paper describes a new technique for sampling from the gamma distribution on a digital computer and compares it with an alternative technique. The method suggested uses the rejection technique.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0240 (Probability and statistics); C1140 (Probability and statistics); C7100 (Business and administration); C7310 (Mathematics computing)",
  classification = "912; 922",
  corpsource =   "Univ. of North Carolina, Chapel Hill, NC, USA",
  country =      "USA",
  descriptors =  "RNG; simulation;",
  enum =         "951",
  journalabr =   "Commun ACM",
  keywords =     "gamma distribution; gamma variates; operations research; probability; probability --- Random Processes; rejection technique; sampling; shape parameter; Wallace's method",
  language =     "English",
  references =   "0",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Maly:1976:CT,
  author =       "Kurt Maly",
  title =        "Compressed Tries",
  journal =      j-CACM,
  volume =       "19",
  number =       "7",
  pages =        "409--415",
  month =        jul,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A50",
  MRnumber =     "54 9195",
  mrreviewer =   "Fabrizio Luccio",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "This paper presents a new data structure, called a compressed trie or C-trie, to be used in information retrieval systems. It has the same underlying m-ary tree structure as a trie, where m is a parameter of the trie, but whereas the fields of the nodes in a trie have to be large enough to hold a key or at least a pointer, the fields in a C-trie are only one bit long. First, the C-trie is analyzed as a data structure, and then several methods of its use for relatively static data bases are discussed.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C7250 (Information storage and retrieval)",
  classification = "723; 901",
  corpsource =   "Univ. of Minnesota, Minneapolis, MN, USA",
  journalabr =   "Commun ACM",
  keywords =     "data processing --- Data Structures; data storage, digital; data structure; data structures; database management systems; databases; information; information retrieval systems; key; m ary; retrieval systems; retrieval time; storage requirement; tree; trie",
  treatment =    "P Practical",
}

@Article{Burton:1976:BSV,
  author =       "Warren Burton",
  title =        "A buddy system variation for disk storage allocation",
  journal =      j-CACM,
  volume =       "19",
  number =       "7",
  pages =        "416--417",
  month =        jul,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A generalization of the buddy system for storage allocation is described. It is shown how limitations on block sizes make it possible to force logical storage blocks to coincide with physical storage blocks, such as tracks and cylinders. This new variation of the buddy system has been developed for allocating storage for geometrical data items (polygons, sets of points, etc. ).",
  acknowledgement = ack-nhfb,
  classcodes =   "C5320C (Storage on moving magnetic media); C6120 (File organisation)",
  classification = "722; 723",
  corpsource =   "Univ. of East Anglia, Norwich, UK",
  journalabr =   "Commun ACM",
  keywords =     "buddy system; computer operating systems; computer systems programming --- Supervisory and Executive Programs; data storage, magnetic --- Disk; disc storage; integral valued function; magnetic disc and drum storage; storage allocation",
  treatment =    "P Practical",
}

@Article{Gonnet:1976:HAE,
  author =       "G. H. Gonnet",
  title =        "Heaps applied to event driven mechanisms",
  journal =      j-CACM,
  volume =       "19",
  number =       "7",
  pages =        "417--418",
  month =        jul,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1976.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory); C6120 (File organisation)",
  corpsource =   "Univ. of Waterloo, Waterloo, Ont., Canada",
  country =      "USA",
  descriptors =  "Simulation; event set;",
  enum =         "7331",
  keywords =     "algorithm theory; data structures; discrete event simulation; event; heaps; priority queue; scanning mechanisms",
  language =     "English",
  references =   "0",
  treatment =    "P Practical",
}

@Article{Donovan:1976:TPS,
  author =       "John J. Donovan",
  title =        "Tools and Philosophy for Software Education",
  journal =      j-CACM,
  volume =       "19",
  number =       "8",
  pages =        "430--436",
  month =        aug,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "This paper describes a set of tools and a philosophy for teaching software that have been found very useful in course at MIT over the past seven years. \par The tools include programs such as simulators, graders, compilers, and monitor. These allow the instructor to augment the basic concepts with relevant, exciting, and economical student project activities.",
  acknowledgement = ack-nhfb,
  classcodes =   "C0220 (Computing education and training); C6110 (Systems analysis and programming)",
  classification = "723; 901",
  corpsource =   "MIT, Cambridge, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer programming; computer software; education; grading; grading programs; philosophy; programs; simulators; software education; student assignments; tools",
  treatment =    "P Practical",
}

@Article{Tennent:1976:DSP,
  author =       "R. D. Tennent",
  title =        "The Denotational Semantics of Programming Languages",
  journal =      j-CACM,
  volume =       "19",
  number =       "8",
  pages =        "437--453",
  month =        aug,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A05",
  MRnumber =     "55 1791",
  mrreviewer =   "Gianni Aguzzi",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/Functional.bib; ftp://ftp.ira.uka.de/pub/bibliography/Object/Nierstrasz.bib",
  abstract =     "This paper is a tutorial introduction to the theory of programming language semantics developed by D. Scott and C. Strachey. The application of the theory to formal language specification is demonstrated and other applications are surveyed. The first language considered, LOOP, is very elementary and its definition merely introduces the notation and methodology of the approach. Then the semantic concepts of environments, stores, and continuations are introduced to model classes of programming language features and the underlying mathematical theory of computation due to Scott is motivated and outlined. Finally, the paper presents a formal definition of the language GEDANKEN.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic)",
  classification = "721; 723",
  corpsource =   "Queen's Univ., Kingston, Ont., Canada",
  journalabr =   "Commun ACM",
  keywords =     "applicative; automata theory --- Context Free Languages; computer metatheory; computer programming languages --- Analysis; continuation; environment; formal language; formal languages; function; functional; GEDANKEN; gedanken; higher order; higher-order function; imperative; loop; LOOP; mathematical theory of computation; pl-semantics binder; programming language; programming languages; recursive definition; semantics; store; theory of computation",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Clark:1976:DS,
  author =       "James H. Clark",
  title =        "Designing Surfaces in {3-D}",
  journal =      j-CACM,
  volume =       "19",
  number =       "8",
  pages =        "454--460",
  month =        aug,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A99 (50D15 65D10)",
  MRnumber =     "54 4216",
  mrreviewer =   "Wolfgang Bohm",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/virtual.bib",
  abstract =     "An experimental system for computer-aided design of free-form surfaces in three dimensions is described. The surfaces are represented in the system as parametric basis splines. The principal features of the system are: the surfaces are rendered as isoparametric line drawings on a head-mounted display, and they are designed with the aid of a three-dimensional ``wand,'' which allows 3-D movements of the points controlling the shapes of the surfaces; all of the interactions with the surfaces are in real-time; and the mathematical formulations used assume no knowledge of them by the user of the system. Also examined are some of the features that should be part of a practical 3-D system for designing space-forms.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5540 (Terminals and graphic displays)",
  classification = "722; 723; 901",
  corpsource =   "Univ. of Utah, Salt Lake City, UT, USA",
  journalabr =   "Commun ACM",
  keywords =     "3D displays; B splines; CAD; computer graphics; computer peripheral equipment --- Light Pens; computer systems, digital --- Real Time Operation; computer-aided design; engineering --- Computer Aided Design; free form surfaces; image processing; isoparametric line drawings; picture processing; real; surface design; surfaces; three dimensional surfaces; time graphics",
  treatment =    "A Application; P Practical; X Experimental",
}

@Article{Harrison:1976:POS,
  author =       "Michael A. Harrison and Walter L. Ruzzo and Jeffrey D. Ullman",
  title =        "Protection in Operating Systems",
  journal =      j-CACM,
  volume =       "19",
  number =       "8",
  pages =        "461--471",
  month =        aug,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A99",
  MRnumber =     "54 14474",
  mrreviewer =   "George I. Davida",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/security.1.bib",
  abstract =     "A model of protection mechanisms in computing systems is presented and its appropriateness is argued. The ``safety'' problem for protection systems under this model is to determine in a given situation whether a subject can acquire a particular right to an object. In restricted cases, it can be shown that this problem is decidable; i.e., there is an algorithm to determine whether a system in a particular configuration is safe. In general, and under surprisingly weak assumptions, it cannot be decided if a situation is safe. Various implications of this fact are discussed.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic); C4220 (Automata theory); C6150J (Operating systems)",
  classification = "721; 723",
  corpsource =   "Univ. of California, Berkeley, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "(computers); automata theory --- Turing Machines; computability and decidability; computer operating systems --- Design; computer security; data processing; decidability; operating systems; protection; protection systems; security model; security of data; Turing machine; Turing machines",
  ort =          "ordner sicherheit",
  treatment =    "P Practical; T Theoretical or Mathematical",
}

@Article{Hirschberg:1976:ITO,
  author =       "D. S. Hirschberg",
  title =        "An Insertion Technique for One-Sided Height-Balanced Trees",
  journal =      j-CACM,
  volume =       "19",
  number =       "8",
  pages =        "471--473",
  month =        aug,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A restriction on height-balanced binary trees is presented. It is seen that this restriction reduces the extra memory requirements by half (from two extra bits per node to one) and maintains fast search capabilities at a cost of increased time requirements for inserting new nodes.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic)",
  classification = "723",
  corpsource =   "Princeton Univ., Princeton, NJ, USA",
  journalabr =   "Commun ACM",
  keywords =     "balanced; balanced trees; binary; binary trees; computer programming; data processing; insertion technique; one sided height; search; trees; trees (mathematics)",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Chu:1976:CAP,
  author =       "Wesley W. Chu and Holger Opderbeck",
  title =        "Corrigendum: {``Analysis of the PFF replacement algorithm via a semi-Markov model''}",
  journal =      j-CACM,
  volume =       "19",
  number =       "9",
  month =        sep,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "529.68A50",
  MRnumber =     "55 6998",
  bibdate =      "Tue Dec 26 13:35:07 1995",
  note =         "See \cite{Chu:1976:APR}.",
  acknowledgement = ack-nhfb,
}

@Article{Wegbreit:1976:CRC,
  author =       "Ben Wegbreit",
  title =        "Corrigendum: ``{Faster Retrieval from Context Trees}''",
  journal =      j-CACM,
  volume =       "19",
  number =       "9",
  pages =        "??--??",
  month =        sep,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Sat Jan 18 15:31:01 1997",
  note =         "See \cite{Wegbreit:1976:FRC}.",
  keywords =     "context trees; data structures; frame problem; variable bindings",
  xxnote =       "Cannot find this corrigendum in 1976--1977 issues, or on Compendex database, or in ACM Computing Archive CD-ROM.??",
}

@Article{Wadler:1976:AAR,
  author =       "Philip L. Wadler",
  title =        "Analysis of an Algorithm for Real Time Garbage Collection",
  journal =      j-CACM,
  volume =       "19",
  number =       "9",
  pages =        "491--500",
  month =        sep,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A50",
  MRnumber =     "54 14473",
  mrreviewer =   "George I. Davida",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/garbage.collection.bib",
  abstract =     "List processing systems often use a method called garbage collection for reclaiming unused memory space. A real time garbage collection system avoids suspending the operations of a list processor for the long times that garbage collection normally requires by performing garbage collection on a second processor in parallel with list processing operations, or on a single processor time-shared with them. Algorithms for recovering discarded list structures in this manner are presented and analyzed to determine sufficient conditions under which the list processor never need to wait on the collector. These techniques are shown to require at most twice as much processing power as regular garbage collectors, if they are used efficiently. The average behavior of the program is shown to be very nearly equal to the worst-case performance, so that the sufficient conditions are also suitable for measuring the typical behavior of the algorithm.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5400 (Analogue and digital computers and systems); C6120 (File organisation)",
  classification = "723",
  comment =      "This algorithm contains an error that is pointed out by \cite{Gries:1977:BPB}",
  corpsource =   "Stanford Univ., Stanford, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer programming --- Subroutines; computer programming languages --- lisp; computer systems programming; data processing --- Data Structures; data structure; data structures; garbage collection; Lisp; list; list processor; multiprocessing; parallel processing; processing; real time; storage management; storage reclamation; time change",
  treatment =    "P Practical; T Theoretical or Mathematical",
}

@Article{Yap:1976:NUB,
  author =       "Chee K. Yap",
  title =        "New Upper Bounds for Selection",
  journal =      j-CACM,
  volume =       "19",
  number =       "9",
  pages =        "501--508",
  month =        sep,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A20",
  MRnumber =     "54 6559",
  mrreviewer =   "Thomas G. Szymanski",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The worst-case, minimum number of comparisons complexity V//i (n) of the i-th selection problem is considered. A new upper bound for V//i (n) improves the bound given by the standard Hadian-Sobel algorithm by a generalization of the Kirkpatrick-Hadian-Sobel algorithm, and extends Kirkpatrick's method to a much wider range of application. This generalization compares favorably with a recent algorithm by L. Hyafil.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory)",
  classification = "723",
  corpsource =   "Dept. of Computer Sci., Yale Univ., New Haven, CT, USA",
  journalabr =   "Commun ACM",
  keywords =     "comparison problems; computational complexity; computer metatheory; concrete computational complexity; selection problem; upper bounds; worst case analysis",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Loui:1976:WDT,
  author =       "Michael C. Loui",
  title =        "Weighted Derivation Trees",
  journal =      j-CACM,
  volume =       "19",
  number =       "9",
  pages =        "509--513",
  month =        sep,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A30",
  MRnumber =     "54 1727",
  mrreviewer =   "Stephen Soule",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The nodes of a weighted derivation tree are associated with weighting functions over the vocabulary of a context-free grammar. An algorithm is presented for constructing the optimal derivation tree having the same structure as a given weighted derivation tree. In addition, the correctness of the algorithm is established. The method may be applied to problems involving probabilistic parsing or combinatorial optimization.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic)",
  classification = "721; 723; 921",
  corpsource =   "Dept. of Computer Sci., Yale Univ., New Haven, CT, USA",
  journalabr =   "Commun ACM",
  keywords =     "ambiguity; automata theory; combinatorial optimisation; computer programming --- Subroutines; context free grammars; context-free grammars; derivation trees; mathematical programming; parse tree; parsing; probabilistic; structural; trees (mathematics); weighting functions",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Walter:1976:RAC,
  author =       "Kenneth G. Walter",
  title =        "Recursion Analysis for Compiler Optimization",
  journal =      j-CACM,
  volume =       "19",
  number =       "9",
  pages =        "514--516",
  month =        sep,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A relatively simple method for the detection of recursive use of procedures is presented for use in compiler optimization. Implementation considerations are discussed, and a modification of the algorithm is given to further improve optimization. This analysis can also be used to determine what possible subset of values could be assumed by variables which can only take on a relatively small discrete set of values. The most common are parameters of variables assuming values of label, procedure, or Pascal's enumerated type.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4290 (Other computer theory); C6150C (Compilers, interpreters and other processors)",
  classification = "723",
  corpsource =   "Computing and Information Sci. Dept., Case Western Reserve Univ., Cleveland, OH, USA",
  journalabr =   "Commun ACM",
  keywords =     "compiler optimisation; computer operating systems; nonrecursion; optimisation; program compilers; recursion analysis; relative",
  treatment =    "P Practical; T Theoretical or Mathematical",
}

@Article{Bitner:1976:EGB,
  author =       "James R. Bitner and Gideon Ehrlich and Edward M. Reingold",
  title =        "Efficient Generation of the Binary Reflected {Gray} Code and Its Applications",
  journal =      j-CACM,
  volume =       "19",
  number =       "9",
  pages =        "517--521",
  month =        sep,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "94A10 (68A10)",
  MRnumber =     "54 12349",
  mrreviewer =   "B. D. Sharma",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Algorithms are presented to generate the n-bit binary reflected Gray code and codewords of fixed weight in that code. Both algorithms are efficient in that the time required to generate the next element from the current one is constant. Applications to the generation of the combinations of n things taken k at a time, the compositions of integers, and the permutations of a multiset are discussed.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory)",
  classification = "723; 921",
  corpsource =   "Dept. of Computer Sci., Univ. of Illinois, Urbana-Champaign, IL, USA",
  journalabr =   "Commun ACM",
  keywords =     "algorithm theory; codes, symbolic; combinations; combinatorial computing; compositions; computer programming --- Subroutines; fixed weight; Gray code; mathematical techniques; subsets",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Deutsch:1976:EIA,
  author =       "L. Peter Deutsch and Daniel G. Bobrow",
  title =        "An Efficient, Incremental, Automatic Garbage Collector",
  journal =      j-CACM,
  volume =       "19",
  number =       "9",
  pages =        "522--526",
  month =        sep,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Object/Nierstrasz.bib",
  abstract =     "This paper describes a new way of solving the storage reclamation problem for a system such as Lisp that allocates storage automatically from a heap, and does not require the programmer to give any indication that particular items are no longer useful or accessible. A reference count scheme for reclaiming non-self-referential structures, and a linearizing, compacting, copying scheme to reorganize all storage at the users discretion are proposed. The algorithms are designed to work well in systems which use multiple levels of storage, and large virtual address space. They depend on the fact that most cells are referenced exactly once, and that reference counts need only be accurate when storage is about to be reclaimed. A transaction file stores changes to reference counts, and a multiple reference table stores the count for items which are referenced more than once.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723",
  comment =      "Transaction-based reference counting; interesting blend of marking and ref-counting collection",
  corpsource =   "Xerox Palo Alto Res. Center, Palo Alto, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "address space; computer operating systems --- Storage Allocation; computer programming; computer programming languages --- lisp; garbage collector; Lisp; multiple reference; olit memory lisp; storage management; storage reclamation; table stores; transaction file stores; virtual",
  treatment =    "P Practical; T Theoretical or Mathematical",
}

@Article{Wegbreit:1976:FRC,
  author =       "Ben Wegbreit",
  title =        "Faster Retrieval from Context Trees",
  journal =      j-CACM,
  volume =       "19",
  number =       "9",
  pages =        "526--529",
  month =        sep,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  note =         "See corrigendum \cite{Wegbreit:1976:CRC}.",
  abstract =     "Context trees provide a convenient way of storing data which is to be viewed as a hierarchy of contexts. This note presents an algorithm which improves on previous context tree retrieval algorithms. It is based on the observation that in typical uses context changes are infrequent relative to retrievals, so that data can be cached to speed up retrieval. A retrieval is started from the position of the previous retrieval and auxiliary structures are built up to make the search rapid. Algorithms for addition and deletion of data and for garbage collection are outlined.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4290 (Other computer theory); C6120 (File organisation)",
  classification = "723",
  corpsource =   "Xerox Palo Alto Res. Center, Palo Alto, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer programming; context tree; context trees; data processing --- Data Structures; data structure; data structures; frame problem; garbage collection; retrieval algorithms; storage management; trees (mathematics); variable bindings",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Blinn:1976:TRC,
  author =       "James F. Blinn and Martin E. Newell",
  title =        "Texture and Reflection in Computer Generated Images",
  journal =      j-CACM,
  volume =       "19",
  number =       "10",
  pages =        "542--547",
  month =        oct,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/imager/imager.76.bib",
  abstract =     "In 1974 E. A. Catmull developed a new algorithm for rendering images of bivariate surface patches. This paper describes extensions of this algorithm in the areas of texture simulation and lighting models. The parametrization of a patch defines a coordinate system which is used as a key for mapping patterns onto the surface. The intensity of the pattern at each picture element is computed as a weighted average of regions of the pattern definition function. The shape and size of this weighting function are chosen using digital signal processing theory. The patch rendering algorithm allows accurate computation of the surface normal to the patch at each picture element, permitting the simulation of mirror reflections. Several examples of images synthesized using these new techniques are included.",
  acknowledgement = ack-nhfb,
  annote =       "early paper on texture mapping, discusses spherical sky textures",
  classcodes =   "C5540 (Terminals and graphic displays); C6130B (Graphics techniques)",
  classification = "723",
  corpsource =   "Univ. of Utah, Salt Lake City, UT, USA",
  journalabr =   "Commun ACM",
  keywords =     "CACM; computer graphics; computerised picture processing; graphic display; hidden surface removal; image processing; reflection of light; shading; texture environment; texture mapping; texture simulation",
  treatment =    "A Application; P Practical; T Theoretical or Mathematical",
}

@Article{Clark:1976:HGM,
  author =       "James H. Clark",
  title =        "Hierarchical Geometric Models for Visible Surface Algorithms",
  journal =      j-CACM,
  volume =       "19",
  number =       "10",
  pages =        "547--554",
  month =        oct,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/imager/imager.76.bib",
  abstract =     "By using an extension of traditional structure information, or a geometric hierarchy, five significant improvements to current techniques of computer picture production are possible. First, the range of complexity of an environment is greatly increased while the visible complexity of any given scene is kept within a fixed upper limit. Second, a meaningful way is provided to vary the amount of detail presented in a scene. Third, ``clipping'' becomes a very fast logarithmic search for the resolvable parts of the environment within the field of view. Fourth, frame to frame coherence and clipping define a graphical ``working set,'' or fraction of the total structure that should be present in primary store for immediate access by the visible surface algorithm. Finally, the geometric structure suggests a recursive descent, visible surface algorithm in which the computation time potentially grows linearly with the visible complexity of the scene.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5540 (Terminals and graphic displays); C6130B (Graphics techniques)",
  classification = "723; 921",
  corpsource =   "Univ. of California, Santa Cruz, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "algorithms; computer graphics; geometric models; hidden surface; hierarchical data structures; image processing; mathematical techniques --- Combinatorial Mathematics; model; visible surface algorithms",
  treatment =    "A Application; P Practical; T Theoretical or Mathematical",
}

@Article{Levin:1976:PAD,
  author =       "Joshua Z. Levin",
  title =        "A Parametric Algorithm for Drawing Pictures of Solid Objects Composed of Quadric Surfaces",
  journal =      j-CACM,
  volume =       "19",
  number =       "10",
  pages =        "555--563",
  month =        oct,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A10",
  MRnumber =     "55 13867",
  mrreviewer =   "Wolfgang Bohm",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/graphics.bib",
  abstract =     "An algorithm for drawing pictures of three-dimensional objects, with surfaces made up of patches of quadric surfaces, is described. The emphasis of this algorithm is on calculating the intersections of quadric surfaces. A parameterization scheme is used. Each quadric surface intersection curve (QSIC) is represented as a set of coefficients and parameter limits. Each value of the parameter represents at most two points, and these may easily be distinguished. This scheme can find the coordinates of points of even quartic (fourth-order) intersection curves, using equations of no more than second order. Methods of parameterization for each type of QSIC are discussed, as well as surface bounding and hidden surface removal.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5540 (Terminals and graphic displays); C6130B (Graphics techniques)",
  classification = "723; 921",
  corpsource =   "New York Univ., New York, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "algorithms; computer graphics; curves and surfaces; graphics; hidden; intersections; mathematical techniques --- Function Evaluation; parametric algorithm; quadric surface intersection curve; quadric surfaces; quadrics; scanline algorithms; solid objects; surface bounding; surface removal; surfaces; three dimensional",
  treatment =    "A Application; P Practical; T Theoretical or Mathematical",
}

@Article{Burtnyk:1976:IST,
  author =       "N. Burtnyk and M. Wein",
  title =        "Interactive Skeleton Techniques for Enhancing Motion Dynamics in Key Frame Animation",
  journal =      j-CACM,
  volume =       "19",
  number =       "10",
  pages =        "564--569",
  month =        oct,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/imager/imager.76.bib",
  abstract =     "A significant increase in the capability for controlling motion dynamics in key frame animation is achieved through skeleton control. This technique allows an animator to develop a complex motion sequence by animating a stick figure representation of an image. This control sequence is then used to drive an image sequence through the same movement. \par The simplicity of the stick figure image encourages a high level of interaction during the design stage. Its compatibility with the basic key frame animation technique permits skeleton control to be applied selectively to only those components of a composite image sequence that require enhancement.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5540 (Terminals and graphic displays); C6130B (Graphics techniques)",
  classification = "723; 742",
  corpsource =   "Nat. Res. Council of Canada, Ottawa, Ont., Canada",
  journalabr =   "Commun ACM",
  keywords =     "computer generated animation; computer graphics; computerised picture processing; figure animation; image processing; interactive graphics; interactive skeleton; interactive skeleton control; key frame animation; motion analysis and motion dynamics; motion pictures --- Animation; skeleton control; stick; stick figure animation",
  treatment =    "A Application; P Practical; T Theoretical or Mathematical",
}

@Article{Frane:1976:BBS,
  author =       "James W. Frane",
  title =        "The {BMD} and {BMDP} Series of Statistical Computer Programs",
  journal =      j-CACM,
  volume =       "19",
  number =       "10",
  pages =        "570--576",
  month =        oct,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/siggraph/76.bib",
  abstract =     "The BMD and BMDP series are the results of methodological research and programming effort at the UCLA Health Sciences Computing Facility since 1957. The original users of the BMD and BMDP programs were intended to be researchers in the health sciences. However, the programs have been used for a wide variety of biological and behavioral applications. The programs are also used for problems in the physical sciences, although they are not intended to solve highly ill-conditioned problems which are sometimes encountered there. Control language, graphics capabilities, statistical features, data management and limitations are discussed.",
  acknowledgement = ack-nhfb,
  classcodes =   "B0240 (Probability and statistics); C1140 (Probability and statistics); C6130 (Data handling techniques); C7310 (Mathematics computing); C7330 (Biology and medical computing); C7810 (Social and behavioural sciences computing)",
  classification = "723; 922",
  corpsource =   "Univ. of California, Los Angeles, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "analysis; analysis of; biology computing; BMD; BMDP; cluster analysis; computing; contingency tables; data; data processing; discriminant analysis; factor analysis; graphics; mathematical statistics --- Computer Applications; outlines; regression; social and behavioural sciences; statistical analysis; statistical computer programs; statistics; time series; variance",
  treatment =    "A Application; P Practical",
}

@Article{Duong-Kien:1976:IMA,
  author =       "C. Duong-Kien and H.-J. Hoffmann and D. Muth",
  title =        "An improvement to {Martin}'s algorithm for computation of linear precedence functions",
  journal =      j-CACM,
  volume =       "19",
  number =       "10",
  pages =        "576--577",
  month =        oct,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A30",
  MRnumber =     "54 9176",
  mrreviewer =   "Daniel J. Rosenkrantz",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic)",
  corpsource =   "Tech. Hochschule Darmstadt, Darmstadt, West Germany",
  keywords =     "Boolean; Boolean algebra; linear precedence functions; matrices; syntax analysis",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Montanelli:1976:SWM,
  author =       "Richard G. {Montanelli, Jr.} and Sandra A. Mamrak",
  title =        "Status of Women and Minorities in Academic Computer Science",
  journal =      j-CACM,
  volume =       "19",
  number =       "10",
  pages =        "578--581",
  month =        oct,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The results of a survey concerning women and minority students and faculty in computer science during the years 1971 to 1975 are presented. Analysis of the data indicates that effective affirmative action programs for recruitment into graduate degree programs are needed to enlarge the number of women and minorities qualified for later employment in computer science. Also, possible discrimination in employment of women and minority graduate students is revealed.",
  acknowledgement = ack-nhfb,
  classcodes =   "C0220 (Computing education and training)",
  classification = "723; 901",
  corpsource =   "Dept. of Computer Sci., Univ. of Illinois, Urbana, IL, USA",
  journalabr =   "Commun ACM",
  keywords =     "academic employment; affirmative action; computer programming; computer science; computer science education; data processing; discrimination against; discrimination against women; education; employment; faculty; graduate students; minorities",
  treatment =    "P Practical",
}

@Article{Ross:1976:HHS,
  author =       "D. T. Ross",
  title =        "Homilies for humble standards (computer applications)",
  journal =      j-CACM,
  volume =       "19",
  number =       "11",
  pages =        "595--600",
  month =        nov,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C0310 (EDP management); C7000 (Computer applications)",
  corpsource =   "SofTech. Inc., Waltham, MA, USA",
  keywords =     "computer applications; standards; systems methodology",
  treatment =    "P Practical",
}

@Article{Ledgard:1976:CUC,
  author =       "Henry F. Ledgard and William C. Cave",
  title =        "{Cobol} Under Control",
  journal =      j-CACM,
  volume =       "19",
  number =       "11",
  pages =        "601--608",
  month =        nov,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A sample set of Cobol programming standards is offered. These standards constrain code to be developed in a ``structured'' form for both data and control structures. They do not require syntax beyond the existing Cobol language and in fact utilize a typical limited subset of the 1974 ANS Cobol standard. This approach has reduced the cost and time to produce and maintain large software systems.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming); C6140D (High level languages)",
  classification = "723; 912",
  corpsource =   "Univ. of Massachusetts, Amherst, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "COBOL; computer programming --- Structured Programming; computer programming languages; computer programs --- Standardization; control structures; data structure; live; management; multiple customer environments; programming standards; sample set; standards; structured programming",
  treatment =    "P Practical",
}

@Article{Wilcox:1976:DIT,
  author =       "Thomas R. Wilcox and Alan M. Davis and Michael H. Tindall",
  title =        "Design and Implementation of a Table Driven, Interactive Diagnostic Programming System",
  journal =      j-CACM,
  volume =       "19",
  number =       "11",
  pages =        "609--616",
  month =        nov,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "CAPS is a highly interactive diagnostic compiler\slash interpreter that allows beginning programmers to prepare, debug, and execute fairly simple programs at a graphics display terminal. Complete syntax checking and most semantic analysis is performed as the program is entered and as it is subsequently edited. Analysis is performed character by character. The most remarkable feature of CAPS is its ability to automatically diagnose errors both at compile time and at run time. Errors are not automatically corrected. Instead, CAPS interacts with the student to help him find the cause of his error. Most components of CAPS are table driven, both to reduce the space needed for implementation and to increase the flexibility of the multilingual system. Over 500 students have used CAPS to learn Fortran, PL/I, or Cobol in conjunction with a computer assisted course on introductory computer science.",
  acknowledgement = ack-nhfb,
  classcodes =   "C0220 (Computing education and training); C6110 (Systems analysis and programming); C6150C (Compilers, interpreters and other processors)",
  classification = "722; 723; 901",
  corpsource =   "Univ. of Illinois, Urbana-Champaign, IL, USA",
  journalabr =   "Commun ACM",
  keywords =     "caps; CAPS; compiler/interpreter; compilers; computer operating systems --- Program Compilers; computer programming languages --- Procedure Orientation; computer science education; computer systems, digital; data processing --- Educational Applications; design; education --- Computer Applications; implementation; interactive diagnostic; interactive programming; Plato IV; program; program interpreters; programming system; student; table driven",
  treatment =    "P Practical",
}

@Article{Rubin:1976:ETF,
  author =       "Frank Rubin",
  title =        "Experiments in Text File Compression",
  journal =      j-CACM,
  volume =       "19",
  number =       "11",
  pages =        "617--623 (or 617--622??)",
  month =        nov,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A system for the compression of data files, viewed as strings of characters, is presented. \par The method is general, and applies equally well to English, to PL/I, or to digital data. The system consists of an encoder, an analysis program, and a decoder. \par Two algorithms for encoding a string differ slightly from earlier proposals. The analysis program attempts to find an optimal set of codes for representing substrings of the file. Four new algorithms for this operation are described and compared. Various parameters in the algorithms are optimized to obtain a high degree of compression for sample texts.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  classification = "723",
  corpsource =   "IBM, Poughkeepsie, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "analysis program; comparison of algorithms; computer programming --- Subroutines; data file compaction; data processing; decoder; encoder; Huffman codes; N-gram encoding; strings of characters; text compression; text editing; text file compression",
  treatment =    "P Practical; X Experimental",
}

@Article{Eswaran:1976:NCP,
  author =       "K. P. Eswaran and J. N. Gray and R. A. Lorie and I. L. Traiger",
  title =        "The notions of consistency and predicate locks in a database system",
  journal =      j-CACM,
  volume =       "19",
  number =       "11",
  pages =        "624--633",
  month =        nov,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A50",
  MRnumber =     "57 2005",
  mrreviewer =   "W. W. Armstrong",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib and ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib and ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  note =         "Also published in/as: IBM Research Report RJ1487, San Jose, CA, December, 1974.",
  abstract =     "In database systems, users access shared data under the assumption that the data satisfies certain consistency constraints. This paper defines the concepts of transaction, consistency and schedule and shows that consistency requires that a transaction cannot request new locks after releasing a lock. Then it is argued that a transaction needs to lock a logical rather than a physical subset of the database. These subsets may be specified by predicates. An implementation of predicate locks which satisfies the consistency condition is suggested.",
  acknowledgement = ack-nhfb,
  annote =       "If transactions are well-formed (they obtain and release all locks required to avoid conflicts) and 2-phase (they don't obtain locks after having released one), they maintain consistency. Original 2-phase protocol. Serializability? Definitions of transactions, permissible locking sequence in transactions, the importance and complexity of predicate locks. Two-phase transactions.",
  classcodes =   "C6120 (File organisation); C7100 (Business and administration)",
  classification = "723; 913",
  corpsource =   "IBM Res. Lab., San Jose, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer operating systems --- Scheduling; computer systems programming --- Multiprocessing Programs; consistency; data base systems; database management systems; database system; predicate locks; relation database IBM San Jose CACM; schedule; shared data; transaction",
  treatment =    "P Practical",
}

@Article{Maruyama:1976:ORD,
  author =       "K. Maruyama and S. E. Smith",
  title =        "Optimal Reorganization of Distributed Space Disk Files",
  journal =      j-CACM,
  volume =       "19",
  number =       "11",
  pages =        "634--642",
  month =        nov,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Os/storage.bib",
  abstract =     "A basic problem in database maintenance is to establish the proper tradeoff between performance, storage costs, and reorganization costs. This paper considers the optimum points at which to reorganize database. A disk file organization which allows for distributed free space is described. The file is called a DSDF (Distributed Space Disk File). A cost function describing the excess costs due to physical disorganization is defined, and this function is minimized to obtain the optimum reorganization points. Numerical examples based on the characteristics of existing disk storage devices are given.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "722; 723; 901",
  corpsource =   "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "accessing; cost; data base systems --- Optimization; data processing --- File Organization; data storage, magnetic; database organizations; disc files; distributed space; DSDF; file organisation; information retrieval systems; insertions; magnetic disc and drum storage; memory hierarchy; performance; reorganizing; updates",
  treatment =    "P Practical",
}

@Article{Hamlet:1976:HBL,
  author =       "Richard G. Hamlet",
  title =        "High-Level Binding with Low-Level Linkers",
  journal =      j-CACM,
  volume =       "19",
  number =       "11",
  pages =        "642--644",
  month =        nov,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "An easy to implement scheme is described by which a compiler can enforce agreement between complex data types in separately compiled modules. The scheme is designed to work with any existing link editor or linking loader, no matter how deficient. Obscure run-time errors caused by inconsistent usages are forestalled by static errors detected at linking time.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150C (Compilers, interpreters and other processors)",
  classification = "723",
  corpsource =   "Univ. of Maryland, College Park, MD, USA",
  journalabr =   "Commun ACM",
  keywords =     "agreement; compiler; complex data types; computer operating systems; computer programming languages; high level binding; link editor; low level linkers; modules; program compilers; separately compiled",
  treatment =    "P Practical",
}

@Article{Sammet:1976:RPL,
  author =       "Jean E. Sammet",
  title =        "Roster of Programming Languages for 1974--75",
  journal =      j-CACM,
  volume =       "19",
  number =       "12",
  pages =        "655--669",
  month =        dec,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "This roster contains a list of 167 currently existing higher-level languages which have been developed or reported in the United States; have been implemented on at least one general-purpose computer; and are believed to be in use in the United States by someone other than the developer. A programming ( equals higher-level) language is defined as a set of characters and rules for combining them which has the following characteristics: the language requires no knowledge of machine code by the user; the language is significantly independent of a particular computer; there is a one-many translation of instructions from source code to object code; and the notation of the language is fairly natural to its problem area and is not a fixed tabular format. Of the total of 167 languages, 79 are in categories: numerical scientific, business data processing, list processing, string processing, formula manipulation, and multipurpose. The remaining 88 are in various specialized application areas.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140D (High level languages)",
  classification = "723",
  corpsource =   "IBM, Cambridge, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer programming; computer programming languages; higher level language; programming languages",
  treatment =    "G General Review; P Practical",
}

@Article{Arden:1976:CSE,
  author =       "Bruce W. Arden",
  title =        "The Computer Science and Engineering Research Study ({COSERS})",
  journal =      j-CACM,
  volume =       "19",
  number =       "12",
  pages =        "670--673",
  month =        dec,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The Computer Science and Engineering Research Study (COSERS) is briefly described. The motivation, organization, and schedule for this NSF supported study are given. For possible further reference, the subject area panel chairmen and the members of the Steering Committee are identified.",
  acknowledgement = ack-nhfb,
  classcodes =   "C0310 (EDP management)",
  classification = "901; 912",
  corpsource =   "Princeton Univ., Princeton, NJ, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer engineering research; computer science research; computers --- Research; COSERS; engineering research; national research study; research and development management",
  treatment =    "P Practical",
}

@Article{Nunamaker:1976:CAD,
  author =       "J. F. {Nunamaker, Jr.} and Benn R. {Konsynski, Jr.} and Thomas Ho and Carl Singer",
  title =        "Computer-Aided Analysis and Design of Information Systems",
  journal =      j-CACM,
  volume =       "19",
  number =       "12",
  pages =        "674--687",
  month =        dec,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "This paper describes the use of computer-aided analysis for the design and development of an integrated financial management system by the Navy Material Command Support Activity (NMCSA). Computer-aided analysis consists of a set of procedures and computer programs specifically designed to aid in the process of applications software design, computer selection and performance evaluation. There are four major components: Problem Statement Language, Problem Statement Analyzer, Generator of Alternative Designs, and Performance Evaluator. The statement of requirements was written in ADS (Accurately Defined Systems) and analyzed by a Problem Statement Analyzer for ADS. The analyzed problem statement was translated to the form necessary for use by the SODA (Systems Optimization and Design Algorithm) program for the generation of alternative specifications of program modules and logical database structures.",
  acknowledgement = ack-nhfb,
  classcodes =   "B7900 (Military systems and equipment); B7990 (Other military topics); C6110 (Systems analysis and programming); C7120 (Financial computing); C7150 (Military computing)",
  classification = "723; 901",
  corpsource =   "Univ. of Arizona, Tucson, AZ, USA",
  journalabr =   "Commun ACM",
  keywords =     "accurately defined systems; ads; analysis; CAD; computer aided analysis; computer systems, digital --- Computer Aided Design; computer-aided analysis; data base systems --- Computer Aided Design; data processing --- Financial Applications; financial data processing; financial management system; information retrieval systems; information systems; integrated; logic design --- Computer Aids; logical database structures; management information systems; military computing; performance evaluator; problem statement analyser; problem statement language; soda; systems",
  treatment =    "A Application; E Economic; P Practical",
}

@Article{Stockman:1976:SPR,
  author =       "George Stockman and Laveen Kanal and M. C. Kyle",
  title =        "Structural Pattern Recognition of Carotid Pulse Waves Using a General Waveform Parsing System",
  journal =      j-CACM,
  volume =       "19",
  number =       "12",
  pages =        "688--695",
  month =        dec,
  year =         "1976",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A general waveform parsing system (WPS) with application to structural pattern recognition of carotid pulse waves is described. The carotid arterial pulse wave is of medical importance because of variation in its structure induced by arterial aging and cardiovascular disease. The syntax-driven waveform analysis system has been applied with good results to these pulse waves to detect and measure structural variations. The waveform applied with good results to these pulse waves to detect and measure structural variations. The waveform parsing system is modeled on a compiler-compiler system and allows the user to enter application specific information as data. It is thus general enough to be applicable to other waveforms.",
  acknowledgement = ack-nhfb,
  classcodes =   "B6140C (Optical information, image and video signal processing); C1120 (Mathematical analysis); C1250 (Pattern recognition); C1290L (Systems theory applications in biology and medicine); C7330 (Biology and medical computing)",
  classification = "461; 721; 723",
  journalabr =   "Commun ACM",
  keywords =     "automata theory --- Context Free Languages; biomedical engineering --- Computer Aided Diagnosis; cardiovascular disease; carotid pulse waves; data processing --- Medical Information; medical computing; pattern recognition; pattern recognition systems; structural pattern recognition; waveform analysis; waveform parsing system",
  treatment =    "T Theoretical or Mathematical",
}

@Article{vanGelder:1977:SPC,
  author =       "Allen {van Gelder}",
  title =        "Structured programming in {COBOL}: an approach for application programmers",
  journal =      j-CACM,
  volume =       "20",
  number =       "1",
  pages =        "2--12",
  month =        jan,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1977.bib",
  abstract =     "Techniques for designing and writing Cobol programs are presented. Previous work in structured programming is drawn upon and adapted. The presentation is informal: the terminology is nonmathematical as far as possible, no theorems are proved, and examples are used frequently. Top-down program design is implemented through the use of structured flowcharts, disciplined specifications, and step by step verification. A well-formed Cobol program is defined. The proper use of the GO TO and other Cobol coding practices are discussed.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming); C6140D (High level languages)",
  classification = "723",
  corpsource =   "ACM, Seattle, WA, USA",
  country =      "USA",
  descriptors =  "Program construction; COBOL; standard;",
  enum =         "3174",
  journalabr =   "Commun ACM",
  keywords =     "application; application programming; COBOL; Cobol; computer metatheory --- Programming Theory; computer programming; computer programming languages --- Cobol; flowchart; GO TO; GO TO statement; program verification; programming; repeat statement; software reliability; structured flowcharts; structured programming; top down; top-down; well formed program; well-formed program",
  language =     "English",
  references =   "24",
  treatment =    "P Practical",
}

@Article{Austing:1977:SLC,
  author =       "Richard H. Austing and Bruce H. Barnes and Gerald L. Engel",
  title =        "A Survey of the Literature in Computer Science Education Since {Curriculum '68}",
  journal =      j-CACM,
  volume =       "20",
  number =       "1",
  pages =        "13--21",
  month =        jan,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A bibliography of approximately two hundred references in computer science education appearing in the literature since the publication of ``Curriculum '68'' is presented. The bibliography itself is preceded by brief descriptive materials organizing the references into the categories of survey reports, activities of professional organizations, philosophy of programs, description of programs, description of courses and other materials.",
  acknowledgement = ack-nhfb,
  classcodes =   "C0220 (Computing education and training)",
  classification = "723; 901; 912",
  corpsource =   "ACM, Seattle, WA, USA",
  journalabr =   "Commun ACM",
  keywords =     "bibliography; computer science; computer science curricula; computer science education; computers; curricula; education; education --- Bibliographies",
  treatment =    "B Bibliography",
}

@Article{Babad:1977:RFP,
  author =       "Jair M. Babad",
  title =        "A Record and File Partitioning Model",
  journal =      j-CACM,
  volume =       "20",
  number =       "1",
  pages =        "22--31 (or 22--30??)",
  month =        jan,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "This paper presents a model in which several requests access a file system, and each request requires information from one or more variable length data-items. The file system uses one or more storage devices, and each record may be partitioned into subrecords that are stored on different devices. One of the subrecords is designated as the primary record; when a request for a record is made, the primary record is first accessed, and other subrecords are accessed only if the pertinent information is not stored in the primary record. The model that is presented in this paper, both as a nonlinear programming model and a mixed integer programming model, is a very general one; several types of file systems may be derived from it by an appropriate selection of its parameters. This model has already been used in the optimization of library routines' storage at a large scale operating system.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "722; 723; 901; 921",
  corpsource =   "Univ. of Chicago, Chicago, IL, USA",
  journalabr =   "Commun ACM",
  keywords =     "data processing; data storage, digital --- Mathematical Models; file design; file organisation; file partitioning; file systems; information retrieval systems --- Optimization; integer programming; integer programming model; mixed; nonlinear; nonlinear programming model; partitioning; programming; record",
  treatment =    "A Application; P Practical; T Theoretical or Mathematical",
}

@Article{Zobrist:1977:DCO,
  author =       "Albert L. Zobrist and Frederick R. {Carlson, Jr.}",
  title =        "Detection of Combined Occurrences",
  journal =      j-CACM,
  volume =       "20",
  number =       "1",
  pages =        "31--36 (or 31--35??)",
  month =        jan,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "In this paper it is supposed that the variables x//1,\ldots{},x//n each have finite range with the variable x//i taking on p//i possible values and that the values of the variables are changing with time. It is supposed further that it is desired to detect occurrences in which some subset of the variables achieve particular values. Finally, it is supposed that the problem involves the detection of a large number of combined occurrences for a large number of changes of values of variables. Two efficient solutions for this problem are described. Both methods have the unusual property of being faster for systems where the sum p//1 plus\ldots{} plus p//n is larger. A chess playing application of the second solution algorithm is provided.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory); C6110 (Systems analysis and programming); C6130 (Data handling techniques)",
  classification = "461; 723; 912",
  corpsource =   "Jet Propulsion Lab., Pasadena, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "$n$ tuples; artificial; artificial intelligence; chess; coding; combined occurrences; computer programming; error analysis; hash coding; intelligence; pattern recognition; pattern recognition systems; programming; retrieval; secondary keys; sorting; systems science and cybernetics --- Artificial Intelligence; theory",
  treatment =    "P Practical; T Theoretical or Mathematical",
}

@Article{Batson:1977:SSL,
  author =       "A. P. Batson and R. E. Brundage",
  title =        "Segment Sizes and Lifetimes in {Algol 60} Programs",
  journal =      j-CACM,
  volume =       "20",
  number =       "1",
  pages =        "36--44",
  month =        jan,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/Heaps.bib",
  abstract =     "The characteristics of the virtual memory requirements of a sample of Algol 60 programs have been measured. Distributions are presented for the sizes of memory requests and for their holding times (lifetimes). The results are presented in terms of J. B. Johnston's contour model and a simple abstract machine. They provide new empirical evidence of certain aspects of the construction and behavior of real programs, and some of their implications for the design of virtual memory systems are presented and discussed.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "722; 723",
  corpsource =   "Univ. of Virginia, Charlottesville, VA, USA",
  journalabr =   "Commun ACM",
  keywords =     "abstract; ALGOL; ALGOL 60; computer operating systems --- Storage Allocation; computer programming languages --- Algol; computer systems, digital; data storage, digital; Johnston's contour model; machine; program behaviour; segmentation; storage allocation; virtual memory; virtual storage",
  treatment =    "P Practical",
}

@Article{Gries:1977:BPB,
  author =       "David Gries",
  title =        "On Believing Programs to be Correct",
  journal =      j-CACM,
  volume =       "20",
  number =       "1",
  pages =        "49--50",
  month =        jan,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Compiler/garbage.collection.bib",
}

@Article{Muller:1977:AMD,
  author =       "Mervin E. Muller",
  title =        "An Approach to Multidimensional Data Array Processing by Computer",
  journal =      j-CACM,
  volume =       "20",
  number =       "2",
  pages =        "63--77",
  month =        feb,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Parallel/Multi.bib",
  abstract =     "Attention is first given to some of the general problems of multidimensional table and array processing. This is followed by a summary of some recent developments in array processing capabilities at the World Bank, in particular, the system identified as WRAPS (World Bank Retrieval and Array Processing System).",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  classification = "723; 901",
  journalabr =   "Commun ACM",
  keywords =     "array processing; arrays; computer; data processing; information retrieval systems; multidimensional data; table lookup; World Bank Retrieval and Array Processing System; WRAPS; wraps",
  treatment =    "P Practical",
}

@Article{Clark:1977:ESL,
  author =       "Douglas W. Clark and C. Cordell Green",
  title =        "An Empirical Study of List Structure in {LISP}",
  journal =      j-CACM,
  volume =       "20",
  number =       "2",
  pages =        "78--87",
  month =        feb,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/garbage.collection.bib",
  abstract =     "Static measurements of the list structure of five large Lisp programs are reported and analyzed. These measurements reveal substantial regularity, or predictability, among pointers to atoms and especially among pointers to lists. Pointers to atoms are found to obey, roughly, Zipf's law, which governs word frequencies in natural languages; pointers to lists usually point to a location physically nearby in memory. The use of such regularities in the space-efficient representation of list structure is discussed.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques); C6140D (High level languages)",
  classification = "723",
  comment =      "Great paper; evidence pro CDR-coding, con fancy CONS",
  corpsource =   "Carnegie-Mellon Univ., Pittsburgh, PA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer programming languages; data processing --- Data Structures; empirical study; LISP; list structure; measurements; regularity",
  treatment =    "P Practical",
}

@Article{Preparata:1977:CHF,
  author =       "F. P. Preparata and S. J. Hong",
  title =        "Convex Hulls of Finite Sets of Points in Two and Three Dimensions",
  journal =      j-CACM,
  volume =       "20",
  number =       "2",
  pages =        "87--93",
  month =        feb,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A10 (52A25)",
  MRnumber =     "58 8475",
  mrreviewer =   "V. Medek",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/siggraph/77.bib",
  abstract =     "The convex hulls of sets of n points in two and three dimensions can be determined with O(n log n) operations. The presented algorithms use the ``divide and conquer'' technique and recursively apply a merge procedure for two nonintersecting convex hulls. Since any convex hull algorithm requires at least O(n log n) operations, the time complexity of the proposed algorithms is optimal within a multiplicative constant.",
  acknowledgement = ack-nhfb,
  annote =       "$O(n \log n)$ time",
  classcodes =   "C6130B (Graphics techniques)",
  classification = "723; 931",
  corpsource =   "Univ. of Illinois, Urbana-Champaign, IL, USA",
  journalabr =   "Commun ACM",
  keywords =     "complexity; computational complexity; computer graphics; computer programming; convex hull algorithm; divide-and-conquer; finite sets of points; structural analysis --- Computer Applications; time; worst-case analysis",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Easton:1977:TFW,
  author =       "M. C. Easton and B. T. Bennett",
  title =        "Transient-Free Working-Set Statistics",
  journal =      j-CACM,
  volume =       "20",
  number =       "2",
  pages =        "93--99",
  month =        feb,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A20",
  MRnumber =     "58 25108",
  mrreviewer =   "A. D. Booth",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Transient free-average working-set size and transient-free missing-page rate for a finite sample of a reference string are defined. Use of these statistics is appropriate if the contents of the working set at the start of the recorded string are unknown. If a certain stationarity condition holds, these statistics provide unbiased estimates of expected working-set sizes, missing-page probabilities, and interference distance probabilities. Two other pairs of estimators are shown to be biased. Expressions for the transient-free statistics are obtained in terms of interval statistics. Methods are described for handling long strings containing many distinct page names.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory); C6110 (Systems analysis and programming)",
  classification = "723; 922",
  corpsource =   "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer operating systems; statistical methods",
  keywords =     "missing page rate; programming; statistics; transient free; working set",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Bresenham:1977:LAI,
  author =       "Jack Bresenham",
  title =        "A Linear Algorithm for Incremental Digital Display of Circular Arcs",
  journal =      j-CACM,
  volume =       "20",
  number =       "2",
  pages =        "100--106",
  month =        feb,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/imager/imager.77.bib",
  abstract =     "Circular arcs can be drawn on an incremental display device such as a cathode ray tube, digital plotter, or matrix printer using only sign testing and elementary addition and subtraction. This paper describes methodology for producing dot or step patterns closest to the true circle.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130B (Graphics techniques)",
  classification = "723",
  corpsource =   "IBM System Communications Div., Palo Alto, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "addition; arc generation; arcs; circle drawing; circular; computer graphics; computer programming --- Subroutines; dot generation; imaging techniques; incremental digital display; linear algorithm; raster display; sign testing; subtraction",
  treatment =    "P Practical",
}

@Article{Kotiah:1977:OCO,
  author =       "Thoddi C. T. Kotiah and David I. Steinberg",
  title =        "Occurrences of Cycling and Other Phenomena Arising in a Class of Linear Programming Models",
  journal =      j-CACM,
  volume =       "20",
  number =       "2",
  pages =        "107--112",
  month =        feb,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "An investigation into the average queue size for a certain class of queues has resulted in the formulation of linear programming problems which are ill-conditioned in some cases. In attempting to solve these linear programming models, using IBM's MPS package, instances of cycling were encountered. Small perturbations in the input data resulted in problems which did not cycle. This fact, plus several other observed phenomena suggest that the primary reason that cycling is not known to occur more frequently is that round-off errors in the computations perturb the problem sufficiently to prevent cycling (or at least to prevent indefinite cycling).",
  acknowledgement = ack-nhfb,
  classcodes =   "C1140C (Queueing theory); C1180 (Optimisation techniques)",
  classification = "723; 921; 922",
  corpsource =   "Southern Illinois Univ., Edwardsville, IL, USA",
  journalabr =   "Commun ACM",
  keywords =     "average queue size; cycling; linear programming; mathematical programming, linear; MPS package; phenomena; probability --- Queueing Theory; queueing theory",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Knott:1977:NSB,
  author =       "Gary D. Knott",
  title =        "A Numbering System for Binary Trees",
  journal =      j-CACM,
  volume =       "20",
  number =       "2",
  pages =        "113--115",
  month =        feb,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B0250 (Combinatorial mathematics); C1160 (Combinatorial mathematics); C4240 (Programming and algorithm theory)",
  corpsource =   "Nat. Inst. of Health, Bethesda, MD, USA",
  keywords =     "binary search trees; binary trees; numbering system; permutations; ranking function; trees (mathematics)",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Clapson:1977:IAT,
  author =       "Philip Clapson",
  title =        "Improving the Access Time for Random Access Files",
  journal =      j-CACM,
  volume =       "20",
  number =       "3",
  pages =        "127--135",
  month =        mar,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Clustering in the key set is decreased by smoothing the key-to-address transformation, and by adding shadow buckets to an open chaining file. The keys are pre-hashed before the address division, to remove the effect of sequential properties in the key set. Shadow buckets in the key search sequence reduce the effect of nonuniformity in file loading, and decrease the number of maximum probes needed to locate a record. The combined effects of these techniques lead to improved file performance for secondary storage devices, as shown by empirical studies.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723; 901",
  corpsource =   "IBM United Kingdom Ltd., Feltham, UK",
  journalabr =   "Commun ACM",
  keywords =     "access time; chaining file; data processing --- File Organization; data storage, digital; file loading; file organisation; improved file; information retrieval systems --- Design; key search sequence; maximum probes; nonuniformity; open; performance; random access files; secondary storage devices; sequential properties; shadow buckets",
  treatment =    "P Practical",
}

@Article{Yu:1977:EIR,
  author =       "C. T. Yu and G. Salton",
  title =        "Effective Information Retrieval Using Term Accuracy",
  journal =      j-CACM,
  volume =       "20",
  number =       "3",
  pages =        "135--142",
  month =        mar,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A50",
  MRnumber =     "55 7012",
  mrreviewer =   "Fujio Nishida",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Evaluation of a retrieval system in this study is based on optimizing the performance of a specific user query. The concept of query term accuracy is introduced as the probability of occurrence of a query term in the documents relevant to that query. By relating term accuracy to the frequency of occurrence of the term in the documents of a collection it is possible to give formal proofs of the effectiveness with respect to a given user query of a number of automatic indexing systems that have been used successfully in experimental situations. Among these are inverse document frequency weighting, thesaurus construction, and phrase generation.",
  acknowledgement = ack-nhfb,
  classcodes =   "C7250 (Information storage and retrieval)",
  classification = "723; 901",
  corpsource =   "Univ. of Alberta, Edmonton, Alta., Canada",
  journalabr =   "Commun ACM",
  keywords =     "automatic indexing; concept; evaluation; formal proofs; information retrieval; information retrieval system evaluation; information retrieval systems; information science --- Indexing; performance; query term accuracy",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Lunde:1977:EES,
  author =       "Amund Lunde",
  title =        "Empirical Evaluation of Some Features of Instruction Set Processor Architectures",
  journal =      j-CACM,
  volume =       "20",
  number =       "3",
  pages =        "143--153",
  month =        mar,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/risc.bib",
  abstract =     "This paper presents methods for empirical evaluation of features of Instruction Set Processors (ISPs). ISP features are evaluated in terms of the time used or saved by having or not having the feature. \par The methods are based on analysis of traces of program executions. The concept of a register life is in troduced, and used to answer questions like: How many registers are used simultaneously? How many would be sufficient all of the time? Most of the time? What would the overhead be if the number of registers were reduced? What are registers used for during their lives? The paper also discusses the problem of detecting desirable but non-existing instructions. Other problems are briefly discussed. Experimental results are presented, obtained by analyzing 41 programs running on the DEC system 10 ISP.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5220 (Computer architecture); C6150G (Diagnostic, testing, debugging and evaluating systems)",
  classification = "722; 723",
  corpsource =   "Carnegie-Mellon Univ., Pittsburg, PA, USA",
  journalabr =   "Commun ACM",
  keywords =     "architectures; computer architecture; computer programming languages --- Machine Orientation; computer selection and evaluation; computers, digital --- General Purpose Application; evaluation; execution time; instruction set processor; instruction sets; instruction tracing; microcoding; MIPS; op code utilization; pipelining; program behavior; reduced; register life; register structures; register utilization; restricted instruction set computer architecture; RISC; simultaneous register lives",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Brown:1977:MMR,
  author =       "R. M. Brown and J. C. Browne and K. M. Chandy",
  title =        "Memory Management and Response Time",
  journal =      j-CACM,
  volume =       "20",
  number =       "3",
  pages =        "153--165",
  month =        mar,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A50 (60K30)",
  MRnumber =     "55 6996",
  mrreviewer =   "Jacek Blazewicz",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/simulan.bib",
  abstract =     "This paper presents a methodology for including the effects of finite memory size and workload memory requirements in queueing network models of computer systems. Empirical analyses and analytic studies based on applying this methodology to an actual multiaccess interactive system are reported. A multiphase, analytically soluble model is proposed as being broadly applicable to the analysis of interactive computer systems which use nonpaged memories.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "722; 723; 922",
  corpsource =   "Univ. of Texas, Austin, TX, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer operating systems --- Storage Allocation; computer systems, digital; distribution; interactive computer; job swap time; memory; memory requirement; model; multi-access systems; multiphase; nonpaged memories; performance measures; probability --- Queueing Theory; response time; storage management; systems; utilization; workload variables",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Burton:1977:RMS,
  author =       "Warren Burton",
  title =        "Representation of Many-Sided Polygons and Polygonal Lines for Rapid Processing",
  journal =      j-CACM,
  volume =       "20",
  number =       "3",
  pages =        "166--171",
  month =        mar,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/siggraph/77.bib",
  abstract =     "A representation for polygons and polygonal lines is described which allows sets of consecutive sides to be collectively examined. The sets of sides are arranged in a binary tree hierarchy by inclusion. A fast algorithm for testing the inclusion of a point in a many-sided polygon is given. It is shown that the points of intersection of two polygonal lines can be located by what is essentially a binary tree search. The algorithm and a practical example are discussed.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130B (Graphics techniques)",
  classification = "723; 921",
  corpsource =   "Michigan Tech. Univ., Houghton, MI, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer programming --- Subroutines; data processing --- Natural Sciences Applications; image processing; mathematical techniques --- Trees",
  keywords =     "binary tree hierarchy; computer graphics; fast algorithm; inclusion; polygonal lines; polygons; rapid processing; representation; speed",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Hunt:1977:OSR,
  author =       "H. B. {Hunt, III} and T. G. Szymanski and J. D. Ullman",
  title =        "Operations on Sparse Relations",
  journal =      j-CACM,
  volume =       "20",
  number =       "3",
  pages =        "171--176",
  month =        mar,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A20 (68A30)",
  MRnumber =     "55 4774",
  mrreviewer =   "Armin Cremers",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Various computations on relations, Boolean matrices, or directed graphs, such as the computation of precedence relations for a context-free grammar, can be done by a practical algorithm that is asymptotically faster than those in common use. The heart of the algorithms is a general theorem giving sufficient conditions under which an expression whose operands are sparse relations and whose operators are composition, transitive closure, union, and inverse, can be computed efficiently.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic)",
  classification = "721; 723",
  corpsource =   "Harvard Univ., Cambridge, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "automata theory --- Grammars; computational complexity; computations; computer metatheory --- Programming Theory; computer programming; context free grammar; context-free grammars; precedence relations; sparse relations",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Nolan:1977:ECU,
  author =       "Richard L. Nolan",
  title =        "Effects of Chargeout on User\slash Manager Attitudes",
  journal =      j-CACM,
  volume =       "20",
  number =       "3",
  pages =        "177--185",
  month =        mar,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The relationship of internal pricing systems for computer services (chargeout systems) and user management attitudes about their computer-based information systems is investigated. Development and maintenance of computer-based systems is asserted to be a category of organizational change. A ``felt need'' for the change on the part of the user\slash manager is prerequisite to any change taking place. The research methods of behavioral science are applied to investigate the user\slash manager environment and the effects of chargeout.",
  acknowledgement = ack-nhfb,
  classcodes =   "C0310 (EDP management)",
  classification = "723",
  corpsource =   "Harvard Univ., Boston, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "attitudes; chargeout; computer facilities; computer services; data processing, business; DP management; internal pricing systems; user/manager attitudes",
  treatment =    "E Economic",
}

@Article{Borovits:1977:CUM,
  author =       "Israel Borovits and Philip Ein-Dor",
  title =        "Cost\slash utilization: {A} measure of system performance",
  journal =      j-CACM,
  volume =       "20",
  number =       "3",
  pages =        "185--191",
  month =        mar,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A method is presented for evaluating computer system performance in terms of a cost\slash utilization factor and a measure of imbalance. These coefficients indicate the extent to which the total system cost is effectively utilized. The method includes a technique for the visual representation of system performance.",
  acknowledgement = ack-nhfb,
  classcodes =   "C0310 (EDP management); C6150G (Diagnostic, testing, debugging and evaluating systems)",
  classification = "723; 911",
  corpsource =   "Tel-Aviv Univ., Tel-Aviv, Israel",
  journalabr =   "Commun ACM",
  keywords =     "computer systems, digital; cost accounting",
  keywords =     "computer; computer selection and evaluation; cost; cost/utilization factor; evaluating; measure; measure of imbalance; system performance; total system",
  treatment =    "E Economic; P Practical",
}

@Article{Bays:1977:CNF,
  author =       "C. Bays",
  title =        "A comparison of next-fit, first-fit, and best-fit",
  journal =      j-CACM,
  volume =       "20",
  number =       "3",
  pages =        "191--192",
  month =        mar,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  corpsource =   "Univ. of South Carolina, Columbia, SC, USA",
  keywords =     "best; comparison; first fit; fit; next fit; storage allocation",
  treatment =    "P Practical",
}

@Article{Bertsch:1977:SRP,
  author =       "Eberhard Bertsch",
  title =        "The storage requirement in precedence parsing",
  journal =      j-CACM,
  volume =       "20",
  number =       "3",
  pages =        "192--196 (or 192--194??)",
  month =        mar,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Precedence tables and linear precedence functions have been used and extensively studied as aids for syntax-directed compiling. If a precedence table exists but cannot be reshaped into a pair of precedence functions, several techniques for eliminating blank entries may be used. In that case, all nonblank entries have to be kept, however. Thus, there is a considerable gap between the storage requirements of precedence functions and precedence tables. The purpose of this paper is to show that the gap between precedence functions and precedence tables can be closed in a natural way.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150C (Compilers, interpreters and other processors)",
  classification = "723",
  corpsource =   "Univ des Saarlandes, Saarbrucken, West Germany",
  journalabr =   "Commun ACM",
  keywords =     "computer metatheory --- Programming Theory; computer operating systems; computer programming --- Subroutines; precedence parsing; program compilers; storage requirement; value table",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Morris:1977:SI,
  author =       "James H. {Morris, Jr.} and Ben Wegbreit",
  title =        "Subgoal Induction",
  journal =      j-CACM,
  volume =       "20",
  number =       "4",
  pages =        "209--222",
  month =        apr,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A05",
  MRnumber =     "56 4222",
  mrreviewer =   "Andrea Maggiolo-Schettini",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/Functional.bib",
  abstract =     "A proof method, subgoal induction, is presented as an alternative or supplement to the commonly used inductive assertion method. Its major virtue is that it can often be used to prove a loop's correctness directly from its input-output specification without the use of an invariant. The relation between subgoal induction and other commonly used induction rules is explored and, in particular, it is shown that subgoal induction can be viewed as a specialized form of computation induction.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory)",
  classification = "723",
  corpsource =   "Xerox Palo Alto Res. Center, Palo Alto, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer metatheory --- Programming Theory; computer programming; computer programming languages --- Program Debugging; functional verification correctness; program proving; programming theory; subgoal induction",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Tanimoto:1977:EPS,
  author =       "Steven L. Tanimoto and Theodosios Pavlidis",
  title =        "Editing of Picture Segmentations Using Local Analysis of Graphs",
  journal =      j-CACM,
  volume =       "20",
  number =       "4",
  pages =        "223--229",
  month =        apr,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A major problem in picture processing is the elimination of the large number of spurious regions that result from an initial segmentation by region growing techniques. This paper describes a nonsemantic editing scheme which performs eliminations on the basis of local properties of the region adjacency graph. The scheme is based on definitions of graph properties which are satisfied when a spurious region is present; then editing is equivalent to fast graph operations. A number of examples are shown.",
  acknowledgement = ack-nhfb,
  classcodes =   "B6140C (Optical information, image and video signal processing); C1250 (Pattern recognition)",
  classification = "723; 921",
  corpsource =   "Univ. of Connecticut, Storrs, CT, USA",
  journalabr =   "Commun ACM",
  keywords =     "editing; graphs; image processing; local analysis; mathematical techniques --- Graph Theory; pattern recognition systems; picture processing; picture segmentations",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Findler:1977:SMC,
  author =       "Nicholas V. Findler",
  title =        "Studies in Machine Cognition Using the Game of Poker",
  journal =      j-CACM,
  volume =       "20",
  number =       "4",
  pages =        "230--245",
  month =        apr,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A progress report is presented of on-going research efforts concerning human decision-making under uncertainty and risk and human problem-solving and learning processes on the one hand, and machine learning, large scale programming system, and novel programming techniques on the other. There has also been interest in how humans make deductive and inductive inferences and form and optimize heuristic rules, and how machines can reach similar results. Although the vehicle of these investigations has been the game of poker, a conceptual framework has been provided that should have a fairly wide range of applicability.",
  acknowledgement = ack-nhfb,
  classcodes =   "C1230 (Artificial intelligence)",
  classification = "461; 723; 912; 922",
  corpsource =   "State Univ. of New York, Buffalo, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "artificial intelligence; data processing --- Psychology Applications; decision theory and analysis; human decision making; human problem solving; large scale programming systems; learning; machine cognition; machine learning; poker; probability; processes; risk; systems science and cybernetics; uncertainty",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Maruyama:1977:ADA,
  author =       "K. Maruyama and S. E. Smith",
  title =        "Analysis of Design Alternatives for Virtual Memory Indexes",
  journal =      j-CACM,
  volume =       "20",
  number =       "4",
  pages =        "245--254",
  month =        apr,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "A class of index structures modeled after the structure of VSAM --- similar to B-trees but biased toward sequential processing --- is described. Design alternatives within this class of index structures are analyzed. These alternatives include a choice of search strategy, whether or not pages in the index are structured, and whether or not keys are compressed. The average cost of retrieving entries from these indexes is expressed as a weighted sum of the cost of a basic key comparison and the cost of crossing a page boundary in the index structure. Formulas for the retrieval costs for possible combinations of design alternatives are given.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723",
  corpsource =   "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "compressed; costs; data processing --- Data Handling; data storage, digital; design alternatives; index structures; pages; retrieval; search strategy; structured; virtual memory; virtual storage",
  treatment =    "P Practical",
}

@Article{Lucas:1977:SHS,
  author =       "Henry C. {Lucas, Jr.} and Jimmy A. Sutton",
  title =        "Stage Hypothesis and the {S}-Curve: Some Contradictory Evidence",
  journal =      j-CACM,
  volume =       "20",
  number =       "4",
  pages =        "254--259",
  month =        apr,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The s-shaped budget curve of R. Nolan's stage model of computer development in an organization (Comm ACM v 16 n 7 Jul 1973 p 399) is tested. Research on the data processing budgets of California counties fails to support the s-shaped curve or the use of budgets as a basis for a stage model. However, the results do not invalidate the concept of a stage model. The analysis suggests an alternative model of budget growth and a separation between models of budgeting growth and growth stages in the development of the computer resource.",
  acknowledgement = ack-nhfb,
  classcodes =   "C0310 (EDP management)",
  classification = "723; 911; 912",
  corpsource =   "New York Univ., New York, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "budget curve; computer development; data; data processing; DP management; management --- Applications; processing budgets; stage hypothesis",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Yao:1977:ABA,
  author =       "S. B. Yao",
  title =        "Approximating block accesses in database organizations",
  journal =      j-CACM,
  volume =       "20",
  number =       "4",
  pages =        "260--261",
  month =        apr,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib and ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  corpsource =   "Purdue Univ., West Lafayette, IN, USA",
  keywords =     "approximating; block accesses; database organizations; file organisation; inverted file; selectivity estimation I/O cost query optimization CACM",
  treatment =    "A Application; T Theoretical or Mathematical",
  xxtitle =      "Approximating Block Accesses in Database Organization",
}

@Article{Hollander:1977:RUI,
  author =       "C. R. Hollander",
  title =        "Remark on uniform insertion on structured data structures",
  journal =      j-CACM,
  volume =       "20",
  number =       "4",
  pages =        "261--262",
  month =        apr,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  corpsource =   "IBM Sci. Center, Palo Alto, CA, USA",
  keywords =     "data structures; structured data structures; uniform insertion",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Bandyopadhyay:1977:CWI,
  author =       "S. K. Bandyopadhyay",
  title =        "Comment on weighted increment linear search for scatter tables",
  journal =      j-CACM,
  volume =       "20",
  number =       "4",
  pages =        "262--263",
  month =        apr,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  corpsource =   "Aeronautical Dev. Establ., Bangalore, India",
  keywords =     "address; file organisation; hash; primary clustering; scatter tables; weighted increment linear search",
  treatment =    "P Practical",
}

@Article{Thompson:1977:SMC,
  author =       "C. D. Thompson and H. T. Kung",
  title =        "Sorting on a Mesh-Connected Parallel Computer",
  journal =      j-CACM,
  volume =       "20",
  number =       "4",
  pages =        "263--271",
  month =        apr,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A10 (68A20)",
  MRnumber =     "55 11693",
  mrreviewer =   "Jo Ann Howell",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Parallel/par.comm.bib",
  abstract =     "Two algorithms are presented for sorting n**2 elements on an n multiplied by n mesh-connected processor array that require O (n) routing and comparison steps. The best previous algorithm takes time O(n log n). The algorithms are shown to be optimal in time within small constant factors. Extensions to higher-dimensional arrays are also given.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  classification = "722; 723",
  corpsource =   "Carnegie-Mellon Univ., Pittsburgh, PA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer programming --- Subroutines; computer systems programming --- Sorting; computer systems, digital",
  keywords =     "mesh connected; parallel computer; parallel processing; sorting",
  treatment =    "P Practical",
}

@Article{Robinson:1977:PTH,
  author =       "Lawrence Robinson and Karl N. Levitt",
  title =        "Proof Techniques for Hierarchically Structured Programs",
  journal =      j-CACM,
  volume =       "20",
  number =       "4",
  pages =        "271--283",
  month =        apr,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A05",
  MRnumber =     "57 14584",
  mrreviewer =   "Franco Sirovich",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/semantics.bib",
  abstract =     "A method for describing and structuring programs that simplifies proofs of their correctness is presented. The method formally represents a program in terms of levels of abstraction, each level of which can be described by a self-contained nonprocedural specification. The proofs, like the programs, are structured by levels. Although only manual proofs are described, the method is also applicable to semiautomatic and automatic proofs. Preliminary results indicate that the method can be applied to large programs, such as operating systems.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming)",
  classification = "461; 723; 912",
  corpsource =   "Stanford Res. Inst., Menlo Park, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer metatheory --- Programming Theory; computer programming; correctness; hierarchically structured programs; program testing; proofs; structured programming; systems science and cybernetics --- Hierarchical Systems",
  treatment =    "P Practical",
}

@Article{Holt:1977:SKS,
  author =       "R. C. Holt and D. B. Wortman and D. T. Barnard and J. R. Cordy",
  title =        "{SP/k}: {A} System for Teaching Computer Programming",
  journal =      j-CACM,
  volume =       "20",
  number =       "5",
  pages =        "301--309",
  month =        may,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "SP/k, a compatible subset of the PL/I language, is a sequence of language subsets called SP/1, SP/2,\ldots{} SP/8. Each subset introduces new programming language constructs while retaining all the constructs of preceding subsets. The features of the SP/k language were chosen to encourage structured problem solving by computers, to make the language easy to learn and use, to eliminate confusing and redundant constructs, and to make the language easy to compile. Language features, processor design, and system experience are discussed.",
  acknowledgement = ack-nhfb,
  classcodes =   "C0220 (Computing education and training); C6110 (Systems analysis and programming); C6140D (High level languages)",
  classification = "723; 901",
  corpsource =   "Univ. of Toronto, Toronto, Ont., Canada",
  journalabr =   "Commun ACM",
  keywords =     "compatible subset; computer programming; computer science education; PL/1; PL/I language; programming; SP/k; teaching",
  keywords =     "computer programming languages; education",
  treatment =    "P Practical",
}

@Article{Fishman:1977:ASA,
  author =       "George S. Fishman",
  title =        "Achieving Specific Accuracy in Simulation Output Analysis",
  journal =      j-CACM,
  volume =       "20",
  number =       "5",
  pages =        "310--315",
  month =        may,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1977.bib",
  abstract =     "This paper extends the use of the regenerative property of queueing systems in the analysis of simulation output. In particular, it describes a sequential estimation method which when used with the regenerative property allows results to be obtained with specified statistical accuracy. This method includes a test to check the normality assumption on which the sequential procedure relies. The paper illustrates the method using the empty and idle state as the regenerative state. A second example then describes how using the most frequently entered state as the regenerative state reduces the chance of making a costly error in a preliminary simulation run. The paper also described how a variance reduction method due to Page [9] can be used to obtain a specified accuracy with considerably fewer job completions than are required when no variance reduction technique is applied.",
  acknowledgement = ack-nhfb,
  classcodes =   "C1220 (Simulation, modelling and identification)",
  classification = "723; 912; 922",
  corpsource =   "Univ. of North Carolina, Chapel Hill, NC, USA",
  country =      "USA",
  descriptors =  "Simulation; time series analysis;",
  enum =         "952",
  journalabr =   "Commun ACM",
  keywords =     "accuracy; computer simulation; confidence in terval; mathematical statistics; operations research --- Computer Applications; probability --- Queueing Theory; queueing systems; queueing theory; ratio estimator; regenerative property; sequential estimation method; sequential estimator; simulation; simulation output analysis; stopping rule; variance reduction",
  language =     "English",
  references =   "0",
  treatment =    "P Practical",
}

@Article{Morgan:1977:OPD,
  author =       "Howard L. Morgan and K. Dan Levin",
  title =        "Optimal Program and Data Locations in Computer Networks",
  journal =      j-CACM,
  volume =       "20",
  number =       "5",
  pages =        "315--322",
  month =        may,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib; ftp://ftp.ira.uka.de/pub/bibliography/Misc/storage.bib",
  abstract =     "An optimization procedure for the allocation of program and data files in a computer network is presented. This algorithm takes into account the dependencies between files and programs such as occur in real heterogeneous computer networks. A search procedure for the file location problem is described, along with an example and a possible application of the model.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5620 (Computer networks and techniques); C6120 (File organisation)",
  classification = "723",
  corpsource =   "Univ. of Pennsylvania, Philadelphia, PA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer networks; computer programming --- Subroutines; computers --- Data Communication Systems; data base systems --- Optimization; data locations; data processing --- Data Handling; mathematical models; optimization procedure; program; storage allocation",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Baer:1977:CTB,
  author =       "J.-L. Baer and B. Schwab",
  title =        "A Comparison of Tree-Balancing Algorithms",
  journal =      j-CACM,
  volume =       "20",
  number =       "5",
  pages =        "322--330",
  month =        may,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Several algorithms-height-balance (i.e. AVL and extensions), weight-balance (i.e. BB and WB), and total restructuring-for building balanced binary search trees are compared. The criteria for comparison encompass theoretical aspects (e.g. path lengths) and implementation independent and machine/algorithm-dependent measures (e.g. run time). A detailed analysis of code is also presented at a level believed to be language-and compiler-independent. The quality of the resulting trees and the overhead spent on building them are analyzed, and some guidelines are given for an efficient use of the methods. If insertion and subsequent queries are the only operations of in terest, then ``pure'' AVL trees present the overall best qualities.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory)",
  classification = "723; 901; 921",
  corpsource =   "Univ. of Washington, Seattle, WA, USA",
  journalabr =   "Commun ACM",
  keywords =     "algorithm theory; balance; balanced binary search; comparison; height balance; total restructuring; tree balancing algorithms; trees; weight",
  keywords =     "analysis of algorithms; AVL trees; binary search trees; computer programming --- Subroutines; data processing; information retrieval systems; information storage and retrieval; mathematical techniques --- Trees; path length; weight-balanced trees",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Stillman:1977:CHS,
  author =       "Neil J. Stillman and P. Bruce Berra",
  title =        "A Comparison of Hardware and Software Associative Memories in the Context of Computer Graphics",
  journal =      j-CACM,
  volume =       "20",
  number =       "5",
  pages =        "331--339",
  month =        may,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/siggraph/77.bib",
  abstract =     "The Associative Processing of Line Drawings (APLD) System utilizes a hardware associative memory and creates, modifies, deletes, stores, and retrieves two-dimensional line drawings consisting of points, lines, rectangles, and triangles. The APLD functions were duplicated on the TX-2 computer at M. I. T. 's Lincoln Laboratory under the LEAP Language and Data Structure. A comparison of the hardware approach with the software simulation illustrates the advantages of the hardware associative memory.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C6130B (Graphics techniques)",
  classification = "722; 723",
  corpsource =   "Defense Communications Agency, Washington, DC, USA",
  journalabr =   "Commun ACM",
  keywords =     "associative and memory; associative memories; associative processing of line drawings; comparison; computer graphics; computer systems, digital --- Parallel Processing; content-addressable storage; data storage, digital --- Associative; hardware; image processing; software",
  treatment =    "P Practical",
}

@Article{Shapiro:1977:CRP,
  author =       "Marvin Shapiro",
  title =        "Choice of Reference Points in Best-Match File Searching",
  journal =      j-CACM,
  volume =       "20",
  number =       "5",
  pages =        "339--343",
  month =        may,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Improvements to the exhaustive search method of best-match file searching have previously been achieved by doing a preprocessing step involving the calculation of distances from a reference point (Comm ACM, V16 n 4 April 1973 p 230). This paper discusses the proper choice of reference points and extends the previous algorithm to use more than one reference point. It is shown that reference points should be located outside of data clusters.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723; 901",
  corpsource =   "Nat. Inst. of Health, Bethesda, MD, USA",
  journalabr =   "Commun ACM",
  keywords =     "best match; choice; computer programming --- Subroutines; data processing; file organisation; file searching; information retrieval systems; reference points",
  treatment =    "P Practical",
}

@Article{Hanani:1977:OEB,
  author =       "Michael Z. Hanani",
  title =        "An Optimal Evaluation of {Boolean} Expressions in an Online Query System",
  journal =      j-CACM,
  volume =       "20",
  number =       "5",
  pages =        "344--347",
  month =        may,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A50",
  MRnumber =     "55 9627",
  mrreviewer =   "K. H. V. Booth",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib",
  abstract =     "In the system discussed, in a response to a query, the entire file containing hundreds of thousands of records has to be searched, and the Boolean expression is evaluated for each record. The method presented improves the performance of such a system by speeding up the process of computing the truth value of a Boolean expression for an individual record. This is done by evaluating the expression based on the values of a subset of its components rather than the entire expression.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic); C6120 (File organisation)",
  classification = "722; 723; 901",
  corpsource =   "Ben Gurion Univ., Negev, Israel",
  journalabr =   "Commun ACM",
  keywords =     "Boolean algebra; Boolean expressions; computer programming --- Subroutines; computer systems, digital --- On Line Systems; data base systems; data processing --- Data Handling; file organisation; file searching; information retrieval systems; online query system; optimal evaluation; order sort clauses by cost and selectivity CACM",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Milman:1977:AOD,
  author =       "Y. Milman",
  title =        "An Approach to Optimal Design of Storage Parameters in Databases",
  journal =      j-CACM,
  volume =       "20",
  number =       "5",
  pages =        "347--350",
  month =        may,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A50",
  MRnumber =     "55 7007",
  mrreviewer =   "Clement T. Yu",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Storage and response-time requirements are contradictory in nature, and in any real-world, the problem, one has to attain a rational equilibrium between them. The actual location of this equilibrium depends on the conditions of the specific problem. The purpose of this paper is to present a simple approach that can be employed to locate such an equilibrium, and to demonstrate its use in an actual application.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723",
  corpsource =   "Contahal Ltd., Tel-Aviv, Israel",
  journalabr =   "Commun ACM",
  keywords =     "data base systems; data storage, digital; database management systems; databases; optimal design; storage parameters",
  treatment =    "P Practical",
}

@Article{Hunt:1977:FAC,
  author =       "James W. Hunt and Thomas G. Szymanski",
  title =        "A Fast Algorithm for Computing Longest Common Subsequences",
  journal =      j-CACM,
  volume =       "20",
  number =       "5",
  pages =        "350--353",
  month =        may,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A10 (68A20)",
  MRnumber =     "55 9596",
  mrreviewer =   "C. L. Liu",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/protein.pattern.bib",
  abstract =     "Previously published algorithms for handling the longest common subsequence of two sequence of length n have had a best-case running time of O(n//2). An algorithm for this problem is presented which has a running time O((r plus n) log n), where r is the total number of ordered pairs of positions at which the two sequences match. Thus in the worst case the algorithm has a running time of O(n**2 log n).",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory)",
  classification = "723",
  comment =      "``Previously published algorithms for finding the longest common subsequence of two sequences of length $n$ have had a best--case running time of $O(n^2)$. An algorithm for this problem is presented which has a running time of $O((r + n) \log n)$, where $r$ is the total number of ordered pairs of positions at which the two sequences match. Thus in the worst case the algorithm has a running time of $O(n^2 \log n)$. However, for those applications where most positions of one sequence match relatively few positions in the other sequence, a running time of $O(n \log n$) can be expected.''",
  corpsource =   "Stanford Univ., Stanford, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "algorithm theory; computer programming --- Subroutines; data processing; fast algorithm; file searching; longest common subsequences; two sequences",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Taulbee:1977:PEP,
  author =       "Orrin E. Taulbee and S. D. Conte",
  title =        "Production and Employment of {Ph.D.}'s in Computer Science --- 1976",
  journal =      j-CACM,
  volume =       "20",
  number =       "6",
  pages =        "370--372",
  month =        jun,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Statistics are presented on the production and employment of Ph. D's in computer science for the calendar year 1975-76. Data include profiles of graduate students and of faculty at 60 Ph. D. --- producing departments as well as breakdown of degrees granted by specialty areas. Significant trends are noted and comparisons with comparable data gathered for the 1974-75 calendar year are made.",
  acknowledgement = ack-nhfb,
  classcodes =   "C0220 (Computing education and training)",
  classification = "723; 901; 912",
  corpsource =   "Univ. of Pittsburgh, Pittsburgh, PA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer science; computer science education; data processing; education; employment; PhD; production; statistics",
  treatment =    "G General Review",
}

@Article{Shneiderman:1977:EIU,
  author =       "Ben Shneiderman and Richard Mayer and Don McKay and Peter Heller",
  title =        "Experimental Investigations of the Utility of Detailed Flowcharts in Programming",
  journal =      j-CACM,
  volume =       "20",
  number =       "6",
  pages =        "373--381",
  month =        jun,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "This paper describes previous research on flowcharts and a series of controlled experiments to test the utility of detailed flowcharts as an aid to program composition, comprehension, debugging, and modification. No statistically significant difference between flowchart and nonflowchart groups has been shown, thereby calling into question the utility of detailed flowcharting. A program of further research is suggested.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming)",
  classification = "723",
  corpsource =   "Indiana Univ., Bloomington, IN, USA",
  journalabr =   "Commun ACM",
  keywords =     "aid; comprehension; computer programming; computer programming languages; controlled experiments; debugging; detailed flowcharts; flowcharting; modification; program composition; utility",
  treatment =    "P Practical",
}

@Article{Ledgard:1977:TVD,
  author =       "H. F. Ledgard and R. W. Taylor",
  title =        "Two Views of Data Abstraction",
  journal =      j-CACM,
  volume =       "20",
  number =       "6",
  pages =        "382--384",
  month =        jun,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Object/Nierstrasz.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  corpsource =   "Univ. of Massachusetts, Amherst, MA, USA",
  keywords =     "data abstraction; data structures; database; language; types data abstraction",
  treatment =    "G General Review",
}

@Article{Zloof:1977:SBA,
  author =       "Mosh{\'e} M. Zloof and S. Peter {de Jong}",
  title =        "The System {for Business Automation} ({SBA}): Programming Language",
  journal =      j-CACM,
  volume =       "20",
  number =       "6",
  pages =        "385--396",
  month =        jun,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Object/Nierstrasz.bib",
  abstract =     "The system for business automation (SBA) is a system within which application experts --- nonprogrammers --- can describe and execute their applications on a computer. The user of SBA views the application as manipulation of information in two-dimensional pictures of tables, business forms, and reports on a display terminal. The application can be automated gradually by giving ``examples'' to the system of how the information would be manipulated manually. The Query-by-Example database language is a subset of the SBA programming language.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140D (High level languages); C7100 (Business and administration)",
  classification = "723; 901",
  corpsource =   "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "administrative data processing; automatic programming; business automation; by Example; computer programming languages; data processing --- Data Structures; data processing, business; database language; display terminal; information retrieval systems; nonprogrammers; problem oriented languages; programming language; Query; SBA",
  treatment =    "E Economic; P Practical",
}

@Article{Guttag:1977:ADT,
  author =       "John V. Guttag",
  title =        "Abstract Data Types and the Development of Data Structures",
  journal =      j-CACM,
  volume =       "20",
  number =       "6",
  pages =        "396--404",
  month =        jun,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Object/Nierstrasz.bib and ftp://ftp.ira.uka.de/pub/bibliography/Misc/Functional.bib",
  abstract =     "Abstract data types can play a significant role in the development of software that is reliable, efficient, and flexible. This paper presents and discusses the application of an algebraic technique for the specification of abstract data types. Among the examples presented is a top-down development of a symbol table for a block structured language; a discussion of the proof of its correctness is given. A brief discussion of the problems involved in constructing algebraic specifications that are both consistent and complete is also provided.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723; 921",
  corpsource =   "Univ. of Southern California, Los Angeles, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "abstract data types; algebraic technique; computer metatheory; computer programming --- Reliability; computer programming languages; data processing --- Data Structures; data structures; data types; development; functional types olit data abstraction; mathematical techniques --- Algebra; specification",
  treatment =    "P Practical",
}

@Article{Smith:1977:DAA,
  author =       "John Miles Smith and Diane C. P. Smith",
  title =        "Database Abstractions: Aggregation",
  journal =      j-CACM,
  volume =       "20",
  number =       "6",
  pages =        "405--413",
  month =        jun,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "A new data type, called aggregate, is developed which, under certain criteria of ``well-definedness,'' specifies aggregation abstractions. A top-down methodology for database design is described which separates decisions concerning aggregate structure from decisions concerning key identification. It is suggested that aggregate types, and other types which support real-world abstractions without introducing implementation detail, should be incorporated into programming languages.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723",
  corpsource =   "Univ. of Utah, Salt Lake City, UT, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer programming languages; data aggregates; data base systems --- Design; data processing; data types",
  keywords =     "abstractions; aggregation; data structures; databases",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Gries:1977:SID,
  author =       "David Gries and Narain Gehani",
  title =        "Some Ideas on Data Types in High-Level Languages",
  journal =      j-CACM,
  volume =       "20",
  number =       "6",
  pages =        "414--420",
  month =        jun,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Object/Nierstrasz.bib",
  abstract =     "A number of issues are explored concerning the notion that a data type is a set of values together with a set of primitive operations on those values. Among these are the need for a notation for iterating over the elements of any finite set (instead of the more narrow for i: equals 1 to n notation), the use of the domain of an array as a data type, the need for a simple notation for allowing types of parameters to be themselves parameters (but in a restrictive fashion), and resulting problems with conversion of values from one type to another.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory); C6120 (File organisation)",
  classification = "723",
  corpsource =   "Cornell Univ., Ithaca, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer meta theory --- Algorithmic Languages; computer programming languages; data processing --- Data Structures; data structures; data types; high level languages; primitive operations; programming theory; types olit iteration",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Peterson:1977:BS,
  author =       "James L. Peterson and Theodore A. Norman",
  title =        "Buddy Systems",
  journal =      j-CACM,
  volume =       "20",
  number =       "6",
  pages =        "421--431",
  month =        jun,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Two algorithms are presented for implementing any of a class of buddy systems for dynamic storage allocation. Each buddy system corresponds to a set of recurrence relations which relate the block sizes provided to each other. Analyses of the internal fragmentation of the binary buddy system, the Fibonacci buddy system, and the weighted buddy system are given. Comparative simulation results are also presented for internal, external, and total fragmentation.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723",
  corpsource =   "Univ. of Texas, Austin, TX, USA",
  journalabr =   "Commun ACM",
  keywords =     "algorithms; buddy systems; computer operating systems; computer programming --- Subroutines; computer programs; data storage, digital; dynamic storage allocation; recurrence relations; storage allocation",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Robson:1977:BSA,
  author =       "J. M. Robson",
  title =        "A Bounded Storage Algorithm for Copying Cyclic Structures",
  journal =      j-CACM,
  volume =       "20",
  number =       "6",
  pages =        "431--433",
  month =        jun,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/garbage.collection.bib",
  abstract =     "A new algorithm is presented which copies cyclic list structures using bounded workspace and linear time. Unlike a previous similar algorithm, this one makes no assumptions about the storage allocation system in use and uses only operations likely to be available in a high-level language. The distinctive feature of this algorithm is a technique for traversing the structure twice, using the same spanning tree in each case, first from left to right and then from right to left.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C6130 (Data handling techniques)",
  classification = "723",
  corpsource =   "Univ. of Lancaster, Lancaster, UK",
  journalabr =   "Commun ACM",
  keywords =     "bounded storage algorithm; computer programming --- Subroutines; computer programs; computer systems programming; copying; cyclic structures; list; list processing; structures",
  treatment =    "P Practical",
}

@Article{Bird:1977:NRE,
  author =       "R. S. Bird",
  title =        "Notes on Recursion Elimination",
  journal =      j-CACM,
  volume =       "20",
  number =       "6",
  pages =        "434--439",
  month =        jun,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/Functional.bib",
  abstract =     "Various methods of recursion elimination are applied to the schematic recursive procedure: proc S(x); px then N(x); S(fx); S(gx); M(x) fi. Procedures with this general form arise in connection with tree traversal and sorting algorithms. Each method of recursion removal involves the use of one or more stacks, and the solutions are compared on the basis of their running time.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory)",
  classification = "721; 723",
  corpsource =   "Univ. of Reading, Reading, UK",
  journalabr =   "Commun ACM",
  keywords =     "automata theory --- Recursive Functions; computer programming; computer systems programming --- Sorting; functional; programming theory; recursion elimination; running time; sorting algorithms; stacks; tree traversal",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Warren:1977:FRW,
  author =       "Henry S. {Warren, Jr.}",
  title =        "Functions Realizable with Word-Parallel Logical and Two's-Complement Addition Instructions",
  journal =      j-CACM,
  volume =       "20",
  number =       "6",
  pages =        "439--441",
  month =        jun,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "94A20",
  MRnumber =     "58 26591",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A theorem is given for deducing whether or not a given function can be computed through the use of ``programming tricks'' involving binary numbers. This is followed by an efficient implementation of sign propagation that does not use shifting instructions or branching instructions. The sign-propagation device and a given expression for mixed length adds and subtracts are used in an experimental compiler currently being developed for translating PL/I to microcode for a variety of machines.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5230 (Digital arithmetic methods); C6130 (Data handling techniques)",
  classification = "722; 723",
  corpsource =   "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "addition instructions; computer architecture --- Microprogramming; computer metatheory; computer programming; digital arithmetic; functions realisable; two's complement; word parallel logical instructions",
  treatment =    "P Practical",
}

@Article{Mamrak:1977:DRT,
  author =       "Sandra A. Mamrak",
  title =        "Dynamic Response Time Prediction for Computer Networks",
  journal =      j-CACM,
  volume =       "20",
  number =       "7",
  pages =        "461--468",
  month =        jul,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Five interactive systems currently available on the ARPA network are compared. A system environment is defined in which response time measurements can be made, and statistical, simulation, and analytical tools are used to describe and then predict the response time behavior. The effect of network queueing delays is discussed. Finally, a dynamic response time monitor for ARPA network users is proposed based on the success of the response time prediction methodologies and models.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5620 (Computer networks and techniques)",
  classification = "722; 723; 922",
  corpsource =   "Ohio State Univ., Columbus, OH, USA",
  journalabr =   "Commun ACM",
  keywords =     "ARPA; computer networks; computer simulation; computer systems, digital --- Fast Response Capability; dynamic prediction; mathematical models; response time; statistical methods; time-sharing systems",
  treatment =    "P Practical",
}

@Article{Ruschitzka:1977:UAS,
  author =       "Manfred Ruschitzka and R. S. Fabry",
  title =        "A Unifying Approach to Scheduling",
  journal =      j-CACM,
  volume =       "20",
  number =       "7",
  pages =        "469--477",
  month =        jul,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1977.bib",
  abstract =     "This paper presents a scheme for classifying scheduling algorithms based on an abstract model of a scheduling system which formalizes the notion of priority. Various classes of scheduling algorithms are defined and related to existing algorithms. A criterion for the implementation efficiency of an algorithm is developed and results in the definition of time-invariant algorithms, which include most of the commonly implemented ones. For time-invariant algorithms, the dependence of processing rates on priorities is derived. The abstract model provides a framework for implementing flexible schedulers in real operating systems. The policy-driven scheduler of Bernstein and Sharp is discussed as an example of such an implementation.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5420 (Mainframes and minicomputers)",
  classification = "723; 922",
  corpsource =   "Rutgers Univ., New Brunswick, NJ, USA",
  country =      "USA",
  descriptors =  "Scheduling; queueing discipline; priority; processor sharing; process management;",
  enum =         "2645",
  journalabr =   "Commun ACM",
  keywords =     "algorithms; computer operating systems --- Scheduling; computer programming --- Subroutines; computer systems programming; implementation efficiency; operating systems; priority; probability --- Queueing Theory; processor sharing; scheduling; scheduling algorithms; scheduling models; time-sharing systems; unifying approach",
  language =     "English",
  references =   "0",
  treatment =    "P Practical; T Theoretical or Mathematical",
}

@Article{Tajibnapis:1977:CPT,
  author =       "William D. Tajibnapis",
  title =        "A Correctness Proof of a Topology Information Maintenance Protocol for a Distributed Computer Network",
  journal =      j-CACM,
  volume =       "20",
  number =       "7",
  pages =        "477--485",
  month =        jul,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "94A20",
  MRnumber =     "58 4703",
  mrreviewer =   "Fan R. K. Chung",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1977.bib",
  abstract =     "One of the major constraints on a topology information scheme is that it may not involve a central controller. The Topology Information Protocol that was implemented on the MERIT Computer Network is presented and explained; this protocol is quite general and could be implemented on any computer network. It is based on Baran's ``Hot Potato Heuristic Routing Doctrine.'' A correctness proof of this Topology Information Protocol is also presented.",
  acknowledgement = ack-nhfb,
  annote =       "(VBI-001559)",
  classcodes =   "C5620 (Computer networks and techniques)",
  classification = "722; 723",
  country =      "USA",
  descriptors =  "Protocol verification;",
  enum =         "11285",
  journalabr =   "Commun ACM",
  keywords =     "computer networks; computer programming --- Subroutines; computer systems, digital --- Multiprocessing; computers --- Data Communication Systems; correctness proof; distributed computer network; protocol; protocols; topology information maintenance",
  language =     "English",
  references =   "0",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Heckel:1977:TCS,
  author =       "Paul G. Heckel and Butler W. Lampson",
  title =        "A terminal-oriented communication system",
  journal =      j-CACM,
  volume =       "20",
  number =       "7",
  pages =        "486--494",
  month =        jul,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "This paper describes a system for full-duplex communication between a time-shared computer and its terminals. The system consists of a communications computer directly connected to the time-shared system, a number of small remote computers to which the terminals are attached, and connecting medium speed telephone lines. It can service a large number of terminals of various types. The overall system design is presented along with the algorithms used to solve three specific problems: local echoing, error detection and correction on the telephone lines, and multiplexing of character output.",
  acknowledgement = ack-nhfb,
  classcodes =   "B6210L (Computer communications); C5600 (Data communication equipment and techniques)",
  classification = "718; 722; 723",
  corpsource =   "Interactive Systems Consultants, Palo Alto, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "character output; communication system; computer networks; computer programming --- Subroutines; computers --- Data Communication Systems; data communication systems; detection and correction; digital communication systems --- Computer Interfaces; error; full duplex; local echoing; multiplexing; system design; terminal oriented; time sharing; time-sharing systems",
  treatment =    "P Practical",
}

@Article{Schneider:1977:SIT,
  author =       "Ben Ross {Schneider, Jr.} and Reid M. Watts",
  title =        "{SITAR}: an Interactive Text Processing System for Small Computers",
  journal =      j-CACM,
  volume =       "20",
  number =       "7",
  pages =        "495--499",
  month =        jul,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "SITAR, a System for Interactive Text-editing, Analysis, and Retrieval, is in many ways comparable to interactive bibliographical search and retrieval systems, but has several additional features. It is implemented on a PDP\slash 11 time-sharing computer invoked by a CRT with microprogrammed editing functions. Extensive experience with SITAR shows that the combined powers of simple commands, string orientation, circular file structure, a CRT with local memory, and conversational computing produce a system much more powerful than the sum of its parts.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques); C7250 (Information storage and retrieval)",
  classification = "722; 723; 901",
  corpsource =   "Lawrence Univ., Appleton, WI, USA",
  journalabr =   "Commun ACM",
  keywords =     "circular file structure; computer systems, digital; computers, miniature --- Applications; conversational computing; CRT with local memory; data processing --- Humanities Applications; information retrieval; information retrieval systems; interactive text processing system; orientation; simple commands; SITAR; small computers; string; text analysis; text editing; text handling",
  treatment =    "P Practical",
}

@Article{Kessels:1977:AEQ,
  author =       "J. L. W. Kessels",
  title =        "Alternative to Event Queues for Synchronization in Monitors",
  journal =      j-CACM,
  volume =       "20",
  number =       "7",
  pages =        "500--503",
  month =        jul,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "In the monitor concept, as proposed by Brinch Hansen and Hoare, event queues are used for synchronization. This paper describes another synchronizing primitive which is nearly as expressive as the conditional wait, but can be implemented more efficiently. An implementation of this primitive in terms of P and V operations is given together with a correctness proof. Two examples are presented: the readers and writers problem and the problem of information streams sharing a finite buffer pool.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150J (Operating systems)",
  classification = "723",
  corpsource =   "Philips Res. Labs., Eindhoven, Netherlands",
  journalabr =   "Commun ACM",
  keywords =     "alternative; computer operating systems --- Scheduling; computer programming --- Subroutines; computer systems programming; event queues; monitors; operating systems (computers); synchronization",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Denning:1977:CPS,
  author =       "Dorothy E. Denning and Peter J. Denning",
  title =        "Certification of Programs for Secure Information Flow",
  journal =      j-CACM,
  volume =       "20",
  number =       "7",
  pages =        "504--513",
  month =        jul,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "An information flow policy specifies a set of security classes for information, a flow relation defining permissible flows among these classes, and a method of binding each storage object to some class. This paper presents a compile-time mechanism that certifies a program only if it specifies no flows in violation of the flow policy. Because it exploits the properties of a lattice structure among security classes, the procedure is sufficiently simple that it can easily be included in the analysis phase of most existing compilers. Appropriate semantics are presented and proved correct. An important application is the confinement problem. The mechanism can prove that a program cannot cause supposedly nonconfidential results to depend on confidential input data.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150C (Compilers, interpreters and other processors)",
  classification = "723",
  corpsource =   "Purdue Univ., West Lafayette, IN, USA",
  journalabr =   "Commun ACM",
  keywords =     "certification mechanism; compilers; computer operating systems --- Program Compilers; data processing; lattice structure; program compilers; programs; secure information flow; security of data",
  treatment =    "P Practical; T Theoretical or Mathematical",
}

@Article{Barth:1977:SGC,
  author =       "Jeffrey M. Barth",
  title =        "Shifting Garbage Collection Overhead to Compile Time",
  journal =      j-CACM,
  volume =       "20",
  number =       "7",
  pages =        "513--518",
  month =        jul,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The paper assumes a transaction oriented collection scheme, as proposed by Deutsch and Bobrow, the necessary features of which are summarized. Implementing the described optimization requires global flow analysis to be performed on the source program. It is shown that at compile time certain program actions that affect the reference counts of cells can be deduced. This information is used to find actions that cancel when the code is executed and those that can be grouped to achieve improved efficiency.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723",
  corpsource =   "Univ. of California, Berkeley, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "automatic storage; compile time; computer operating systems; computer programming languages --- List Processing; flow analysis; garbage collection overhead; global; optimization; reclamation; storage management; transaction oriented collection scheme",
  treatment =    "P Practical",
}

@Article{Ashcroft:1977:LNL,
  author =       "E. A. Ashcroft and W. W. Wadge",
  title =        "{Lucid}, a Nonprocedural Language with Iteration",
  journal =      j-CACM,
  volume =       "20",
  number =       "7",
  pages =        "519--526",
  month =        jul,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Parallel/Pfpbib.bib",
  abstract =     "Lucid is a formal system in which programs can be written and proofs of programs carried out. The proofs are particularly easy to follow and straight-forward to produce because the statements in a Lucid program are simply axioms from which the proof proceeds by (almost) conventional logic reasoning, with the help of a few axioms and rules of inference for the special lucid functions. As a programming language, Lucid is unconventional because, among other things, the order of statements is irrelevant and assignment statements are equations. Nevertheless, Lucid programs need not look much different than iterative programs in a conventional structured programming language using assignment and conditional statements and loops.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic); C6140D (High level languages)",
  classification = "723",
  corpsource =   "Univ. of Waterloo, Waterloo, Ont., Canada",
  journalabr =   "Commun ACM",
  keywords =     "computer metatheory --- Algorithmic Languages; computer programming --- Reliability; computer programming languages; Dataflow; formal languages; formal system; Formal Systems; iteration; Lucid; lucid; nonprocedural language; proofs; Proving; Semantics; structured programming",
  treatment =    "P Practical; T Theoretical or Mathematical",
}

@Article{Brownlee:1977:AIS,
  author =       "J. Nevil Brownlee",
  title =        "An {Algol-based} implementation of {SNOBOL} 4 patterns",
  journal =      j-CACM,
  volume =       "20",
  number =       "7",
  pages =        "527--529",
  month =        jul,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "When a string appears as the subject of a SNOBOL4 statement, it may be scanned to see whether or not it contains a specified pattern. However, since the scanner is fundamentally an interpreter (using pattern graphs as its input code), pattern matching appears to be a time-consuming process. This paper describes an alternative approach in which SNOBOL4 patterns are compiled into Algol functions, which can be combined into larger (more complicated) patterns, and which are directly executed. It was developed as part of the implementation of ``Snobal\slash 67'', a Burroughs B6700 compiler for a SNOBAL4-like language.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140D (High level languages)",
  classification = "723",
  corpsource =   "Univ. of Auckland, Private Bag, Auckland, New Zealand",
  journalabr =   "Commun ACM",
  keywords =     "ALGOL; compiled; computer operating systems --- Program Compilers; computer programming languages; implementation; pattern recognition systems; patterns; procedure oriented languages; SNOBOL 4",
  treatment =    "P Practical",
}

@Article{Geschke:1977:EEM,
  author =       "Charles M. Geschke and James H. {Morris, Jr.} and Edwin H. Satterthwaite",
  title =        "Early Experience with {Mesa}",
  journal =      j-CACM,
  volume =       "20",
  number =       "8",
  pages =        "540--553",
  month =        aug,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Object/Nierstrasz.bib and ftp://ftp.ira.uka.de/pub/bibliography/Compiler/semantics.bib",
  abstract =     "The experiences of Mesa's first users --- primarily its implementors --- are discussed, and some implications for Mesa and similar programming languages are suggested. The specific topics addressed are: module structure and its use in defining abstractions, data-structuring facilities in Mesa, an equivalence algorithm for types and type coercions, the benefits of the type system and why it is breached occasionally, and the difficulty of making the treatment of variant records safe.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140D (High level languages); C6150 (Systems software)",
  classification = "723",
  corpsource =   "Xerox Palo Alto Res. Center, Palo Alto, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "abstractions; computer programming languages; computer systems programming; data processing --- Data Structures; data structuring; defining; equivalence algorithm; mesa; Mesa; module structure; olit-oopl mesa; problem oriented languages; programming languages; systems programming; type coercions; types",
  treatment =    "P Practical",
}

@Article{Shaw:1977:AVA,
  author =       "Mary Shaw and William A. Wulf and Ralph L. London",
  title =        "Abstraction and Verification in {Alphard}: Defining and Specifying Iteration and Generators",
  journal =      j-CACM,
  volume =       "20",
  number =       "8",
  pages =        "553--564",
  month =        aug,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/semantics.bib; ftp://ftp.ira.uka.de/pub/bibliography/Object/Nierstrasz.bib and ftp://ftp.ira.uka.de/pub/bibliography/Theory/obscure.bib",
  abstract =     "The Alphard ``form'' provides the programmer with a great deal of control over the implementation of abstract data types. In this paper the abstraction techniques are extended from simple data representation and function definition to the iteration statement, the most important point of interaction between data and the control structure of the language itself. A means of specializing Alphard's loops to operate on abstract entities without explicit dependence on the representation of those entities is in troduced. \par Specification and verification techniques that allow the properties of the generators for such iterations to be expressed in the form of proof rules are developed. \par Results are obtained that for common special cases of these loops are essentially identical to the corresponding constructs in other languages. A means of showing that a generator will terminate is also provided.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140D (High level languages)",
  classification = "723",
  corpsource =   "Dept. of Computer Sci., Carnegie-Mellon Univ., Schenley Park, Pittsburgh, PA, USA",
  journalabr =   "Commun ACM",
  keywords =     "abstract data types; abstraction and representation; Alphard; assertions; computer programming; computer programming languages; control specialization; correctness; defining; generators; invariants; iteration; iteration statements; language; modular decomposition; olit lang alphard data abstraction; program specifications; programmer; programming languages; programming methodology; proofs of correctness; specifying; types; verification",
  treatment =    "P Practical",
}

@Article{Liskov:1977:AMC,
  author =       "Barbara Liskov and Alan Snyder and Russell Atkinson and Craig Schaffert",
  title =        "Abstraction Mechanisms in {CLU}",
  journal =      j-CACM,
  volume =       "20",
  number =       "8",
  pages =        "564--576",
  month =        aug,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  note =         "Also published in/as: In ``Readings in Object-Oriented Database Systems'' edited by S.Zdonik and D.Maier, Morgan Kaufman, 1990.",
  abstract =     "CLU is a new programming language designed to support the use of abstractions in program construction. Work in programming methodology has led to the realization that three kinds of abstractions --- procedural, control, and especially data abstractions --- are useful in the programming process. Of these, only the procedural abstraction is supported well by conventional languages, through the procedure or subroutine. CLU provides, in addition to procedures, novel linguistic mechanisms that support the use of data and control abstractions. This paper provides an introduction to the abstractions mechanisms in CLU.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140D (High level languages)",
  classification = "723",
  corpsource =   "Lab. for Computer Sci., MIT, Cambridge, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "abstractions; CLU; computer programming; computer programming languages; construction; linguistic mechanisms; program; programming language; programming languages",
  treatment =    "P Practical",
}

@Article{Wirth:1977:TDR,
  author =       "Niklaus Wirth",
  title =        "Toward a Discipline of Real-Time Programming",
  journal =      j-CACM,
  volume =       "20",
  number =       "8",
  pages =        "577--583",
  month =        aug,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/Discrete.event.bib",
  abstract =     "Programming is divided into three major categories with increasing complexity of reasoning in program validation: sequential programming, multiprogramming, and real-time programming. By adhering to a strict programming discipline and by using a suitable high-level language molded after this discipline, the complexity of reasoning about concurrency and execution time constraints may be drastically reduced. This may be the only practical way to make real-time systems analytically verifiable and ultimately reliable. A possible discipline is outlined and expressed in terms of the language Modula.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming); C6150J (Operating systems)",
  classification = "722; 723",
  corpsource =   "ETH, Zurich, Switzerland",
  journalabr =   "Commun ACM",
  keywords =     "computer programming languages; computer systems, digital; concurrency; discipline; execution time; Modula; multiprogramming; online operation; program testing; programming; real time",
  treatment =    "P Practical",
}

@Article{Gannon:1977:EED,
  author =       "J. D. Gannon",
  title =        "An experimental evaluation of data type conventions",
  journal =      j-CACM,
  volume =       "20",
  number =       "8",
  pages =        "584--595",
  month =        aug,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "This paper discusses an experiment that compares the programming reliability of subjects using a statically typed language and a ``typeless'' language. Analysis of the number of errors and the number of runs containing errors shows that, at least in one environment, the use of a statically typed language can increase programming reliability.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140D (High level languages)",
  classification = "723",
  corpsource =   "Dept. of Computer Sci., Univ. of Maryland, College Park, MD, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer programming languages; data type conventions; data types; evaluation; programming languages; programming reliability",
  treatment =    "X Experimental",
}

@Article{Franta:1977:EDS,
  author =       "W. R. Franta and Kurt Maly",
  title =        "An Efficient Data Structure for the Simulation Event Set",
  journal =      j-CACM,
  volume =       "20",
  number =       "8",
  pages =        "596--602",
  month =        aug,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/simulan.bib and ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD.bib",
  abstract =     "A new event scheduling algorithm is presented which improves on two aspects of the best of the previously published algorithms. First, the new algorithm's performance is quite insensitive to skewed distributions, and second, its worst-case complexity is O(square root of n), where n is the number of events in the set. Furthermore, tests conducted to estimate the average complexity showed it to be nearly independent of n.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723; 913",
  corpsource =   "Dept. of Computer Sci., Univ. of Minnesota, Minneapolis, MN, USA",
  descriptors =  "Simulation; event sequencing; method;",
  journalabr =   "Commun ACM",
  keywords =     "algorithm; computer programming --- Subroutines; data processing; data structure; data structures; digital simulation; event scheduling; scheduling; simulation event set",
  treatment =    "P Practical",
}

@Article{Lawler:1977:CCS,
  author =       "Eugene L. Lawler",
  title =        "Comment on computing the $k$ shortest paths in a graph",
  journal =      j-CACM,
  volume =       "20",
  number =       "8",
  pages =        "603--604",
  month =        aug,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A20 (90B10)",
  MRnumber =     "58 19354",
  mrreviewer =   "Colin J. H. McDiarmid",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C1160 (Combinatorial mathematics)",
  corpsource =   "Div. of Computer Sci., Univ. of California, Berkeley, CA, USA",
  keywords =     "$k$ shortest paths; algorithms; computing; graph; graph theory",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Francez:1977:AAK,
  author =       "N. Francez",
  title =        "Another advantage of keyword notation for parameter communication with subprograms",
  journal =      j-CACM,
  volume =       "20",
  number =       "8",
  pages =        "604--605",
  month =        aug,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming)",
  corpsource =   "Weizmann Inst. of Sci., Rehovoth, Israel",
  keywords =     "advantage; keyword notation; parameter communication; structured programming; subprograms",
  treatment =    "P Practical",
}

@Article{Rabin:1977:CC,
  author =       "Michael O. Rabin",
  title =        "Complexity of Computations",
  journal =      j-CACM,
  volume =       "20",
  number =       "9",
  pages =        "625--633",
  month =        sep,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A20",
  MRnumber =     "56 10141",
  mrreviewer =   "Claus-Peter Schnorr",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  note =         "See corrigendum \cite{Rabin:1978:CCC}.",
  abstract =     "The framework for research in the theory of complexity of computations is described, emphasizing the interrelation between seemingly diverse problems and methods. Illustrative examples of practical and theoretical significance are given. Directions for new research are discussed.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory)",
  classification = "721",
  corpsource =   "Dept. of Maths., Hebrew Univ. of Jerusalem, Jerusalem, Israel",
  journalabr =   "Commun ACM",
  keywords =     "algebraic complexity; algorithmic cost functions; algorithms; automata theory; complexity of computations; computational complexity; intractable problems; probabilistic",
  treatment =    "E Economic; T Theoretical or Mathematical",
}

@Article{Scott:1977:LPL,
  author =       "Dana S. Scott",
  title =        "Logic and Programming Languages",
  journal =      j-CACM,
  volume =       "20",
  number =       "9",
  pages =        "634--641",
  month =        sep,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A05",
  MRnumber =     "56 10114",
  mrreviewer =   "Horst Reichel",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/semantics.bib",
  abstract =     "Logic has been long interested in whether answers to certain questions are computable in principle, since the outcome puts bounds on the possibilities of formalization. It would seem that the understanding of higher-level program features involves one with infinite objects and forces one to pass through several levels of explanation to go from the conceptual ideas to the final simulation on a real machine. These levels can be made mathematically exact if the right abstractions can be found to represent the necessary structures. In this paper, the author outlines his approach to these problems, specifically his lambda -calculus orientation.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic); C6140 (Programming languages)",
  classification = "721; 723",
  corpsource =   "Math. Inst., Univ. of Oxford, Oxford, UK",
  journalabr =   "Commun ACM",
  keywords =     "automata theory --- Computability and Decidability; computability and decidability; computability theory; computational linguistics; computer metatheory; computer programming languages; decision methods; formal logic; methods of logic; programming languages; semantical; syntactic formalization; theory",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Austing:1977:GAT,
  author =       "Richard H. Austing",
  title =        "The {GRE Advanced Test in Computer Science}",
  journal =      j-CACM,
  volume =       "20",
  number =       "9",
  pages =        "642--645",
  month =        sep,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "This report describes the Advanced Test in Computer Science which was recently introduced in the Graduate Record Examination Program. The GRE program is described in general, and, the events leading to the establishment of the Advanced Computer Science Test are discussed. Content specifications and their rationale are given. A set of sample questions is included.",
  acknowledgement = ack-nhfb,
  classcodes =   "C0220 (Computing education and training)",
  classification = "723; 901",
  corpsource =   "Dept. of Computer Sci., Univ. of Maryland, College Park, MD, USA",
  journalabr =   "Commun ACM",
  keywords =     "Advanced Test in Computer Science; computer programming; computer science education; education; Examination Program; Graduate Record; questions; rationale; sample; specifications",
  treatment =    "G General Review; P Practical",
}

@Article{Scheifler:1977:AIS,
  author =       "Robert W. Scheifler",
  title =        "An Analysis of Inline Substitution for a Structured Programming Language",
  journal =      j-CACM,
  volume =       "20",
  number =       "9",
  pages =        "647--654",
  month =        sep,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/compiler.bib",
  abstract =     "An optimization technique known as inline substitution is analyzed. The optimization consists of replacing a procedure invocation by a modified copy of the procedure body. The general problem of using inline substitution to minimize execution time subject to size constraints is formulated, and an approximate algorithmic solution is proposed. The algorithm depends on run-time statistics about the program to be optimized. Preliminary results for the CLU structured programming language indicate that, in programs with a low degree of recursion, over 90 percent of all procedure calls can be eliminated, with little increase in the size of compiled code and a small savings in execution time.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140 (Programming languages); C6150C (Compilers, interpreters and other processors)",
  classification = "723",
  corpsource =   "MIT, Cambridge, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "algorithmic solution; compiled code; computational linguistics; computer operating systems; computer programming --- Structured Programming; computer programming languages; execution time; inline substitution; languages; optimization technique; procedure calls; program compilers; programming; run time statistics; structured programming; structured programming language",
  treatment =    "P Practical",
}

@Article{Gifford:1977:HEP,
  author =       "David K. Gifford",
  title =        "Hardware Estimation of a Process' Primary Memory Requirements",
  journal =      j-CACM,
  volume =       "20",
  number =       "9",
  pages =        "655--663",
  month =        sep,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A minor hardware extension to the Honeywell 6180 processor is demonstrated to allow the primary memory requirements of a process in Multics to be approximated. The additional hardware required for this estimate to be computed consists of a program accessible register containing the miss rate of the associative memory used for page table words. This primary memory requirement estimate was employed in an experimental version of Multics to control the level of multiprogramming in the system and to bill for memory usage. The resulting system's tuning parameters display configuration insensitivity, and it is conjectured that the system would also track shifts in the referencing characteristics of its workload and keep the system in tune.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5220 (Computer architecture); C6150J (Operating systems)",
  classification = "722; 723",
  corpsource =   "MIT, Cambridge, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "associative memory; computer systems programming --- Multiprogramming; configuration insensitivity; content-addressable storage; data storage, digital; hardware extension; memory usage; Multics; multiprogramming; primary memory requirements; program accessible register; referencing characteristics; tuning; tuning parameters; virtual storage",
  treatment =    "P Practical",
}

@Article{Mairson:1977:SNU,
  author =       "Harry G. Mairson",
  title =        "Some New Upper Bounds on the Generation of Prime Numbers",
  journal =      j-CACM,
  volume =       "20",
  number =       "9",
  pages =        "664--669",
  month =        sep,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A20 (10A25 10-04)",
  MRnumber =     "56 4236",
  mrreviewer =   "G. Wechsung",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Given an integer N, what is the computational complexity of finding all the primes less than N? A modified sieve of Eratosthenes using doubly linked lists yields an algorithm of O//A(N) arithmetic complexity. This upper bound is shown to be equivalent to the theoretical lower bound for sieve methods without preprocessing. Use of preprocessing techniques involving space-time and additive-multiplicative tradeoffs reduces this upper bound to O//A(N/log logN) and the bit complexity to O//B(N logN log log logN). A storage requirement is described using O//B(N logN\slash log logN) bits as well.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5230 (Digital arithmetic methods)",
  classification = "723; 921",
  corpsource =   "Calhoun College, Yale Univ., New Haven, CT, USA",
  journalabr =   "Commun ACM",
  keywords =     "computational complexity; computer programming --- Subroutines; generation of prime numbers; mathematical techniques; methods; number theory; preprocessing techniques; requirement; sieve; storage; upper bound",
  treatment =    "T Theoretical or Mathematical",
}

@Article{McCreight:1977:PBT,
  author =       "Edward M. McCreight",
  title =        "Pagination of {B*}-Trees with Variable-Length Records",
  journal =      j-CACM,
  volume =       "20",
  number =       "9",
  pages =        "670--674",
  month =        sep,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "A strategy is presented for pagination of B*-trees with variable-length records. If records of each length are uniformly distributed within the file, and if a wide distribution of record lengths exists within the file, then this strategy results in shallow trees with fast access times. The performance of this strategy in an application is presented, compared with that of another strategy, and analyzed.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723; 901; 921",
  corpsource =   "Xerox Palo Alto Res. Center, Palo Alto, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "data base systems; data processing --- Data Handling; data searching; information retrieval systems; mathematical techniques --- Trees",
  keywords =     "B* tree; fast access times; file; file organisation; pagination; shallow trees; strategy; trees (mathematics); variable length records",
  treatment =    "P Practical",
}

@Article{Fuchs:1977:OSR,
  author =       "H. Fuchs and Z. M. Kedem and S. P. Uselton",
  title =        "Optimal Surface Reconstruction from Planar Contours",
  journal =      j-CACM,
  volume =       "20",
  number =       "10",
  pages =        "693--702",
  month =        oct,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A45",
  MRnumber =     "58 25163",
  mrreviewer =   "Giorgio Balconi",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/imager/imager.77.bib and ftp://ftp.ira.uka.de/pub/bibliography/Graphics/siggraph/77.bib",
  abstract =     "This paper presents a general solution to the problem of constructing a surface over a set of cross-sectional contours. This surface, to be composed of triangular tiles, is constructed by separately determining an optimal surface between each pair of consecutive contours. Determining such a surface is reduced to the problem of finding certain minimum cost cycles in a directed toroidal graph. A new fast algorithm for finding such cycles is utilized. Also developed is a closed-form expression, in terms of the number of contour points, for an upper bound on the number of operations required to execute the algorithm. An illustrated example which involves the construction of a minimum area surface describing a human head is included.",
  acknowledgement = ack-nhfb,
  annote =       "Also in Computer Graphics (Special issue of SIGGRAPH '77, preliminary papers), pp. 11--24.",
  classcodes =   "C6130B (Graphics techniques)",
  classification = "723",
  corpsource =   "Univ. of Texas, Dallas, TX, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer graphics; optimal; planar contours; reconstruction of objects; surface reconstruction; triangular tiles",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Wu:1977:ICG,
  author =       "Sheng-Chuan C. Wu and John F. Abel and Donald P. Greenberg",
  title =        "An Interactive Computer Graphics Approach to Surface Representation",
  journal =      j-CACM,
  volume =       "20",
  number =       "10",
  pages =        "703--712",
  month =        oct,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1977.bib and ftp://ftp.ira.uka.de/pub/bibliography/Graphics/imager/imager.77.bib",
  abstract =     "An interactive computer graphics method has been developed for the rapid generation of arbitrary shaped three-dimensional surfaces. The method is a synthesis of spline theory and algorithms, an interactive means for man-machine communication, and software for static or dynamic graphics display. The basic technique employed is a modified lofting method in which sectional curves are represented by uniform B-splines and the surface is interpolated between sections by Cardinal splines. Among the features of this method are algorithms which enable interactive modification of the B-spline representation of the sectional curves. At all stages of the process, the spatial information is graphically displayed to the user. Complex surfaces can be created by the combination of a number of shapes that have been separately generated and automatically joined. The system has been successfully interfaced to a variety of analytical routines for structural, medical and graphical applications.",
  acknowledgement = ack-nhfb,
  annote =       "Also in Computer Graphics (Special issue of SIGGRAPH '77, preliminary papers), pp. 1--10. An interactive computer graphics method has been developed for the rapid generation of arbitrary shaped three-dimensional surfaces. The method is a synthesis of spline theory and algorithms, an interactive means for man-machine communication, and software for static or dynamic graphics display. The basic technique employed is a modified lofting method in which sectional curves are represented by uniform B-splines and the surface is interpolated",
  classcodes =   "C6130B (Graphics techniques)",
  classification = "723",
  corpsource =   "Cornell Univ., Ithaca, NY, USA",
  descriptors =  "Graphics; two-dimensional plot; three-dimensional plot; method; process interaction; interpolation; human factors; spline; finite element input method",
  journalabr =   "Commun ACM",
  keywords =     "computer graphics; interactive computer graphics; representation; representation graphic; representation surface geometry; splines; splines (mathematics); surface representation",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Rosen:1977:HLD,
  author =       "Barry K. Rosen",
  title =        "High-Level Data Flow Analysis",
  journal =      j-CACM,
  volume =       "20",
  number =       "10",
  pages =        "712--724",
  month =        oct,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/Compiler.Lins.bib",
  abstract =     "In contrast to the predominant use of low-level in termediate text, high-level data flow analysis deals with programs essentially at source level and exploits the control flow information implicit in the parse tree. The need for high-level flow analysis arises from several aspects of recent work on advanced methods of program certification and optimization. \par This paper proposes a simple general method of high-level data flow analysis that allows free use of escape and jump statements, avoids large graphs when compiling large programs, facilitates updating of data flow information to reflect program changes, and derives new global information helpful in solving many familiar global flow analysis problems. An illustrative application to live variable analysis is presented. \par Many of the graphs involved are constructed and analyzed before any programs are compiled, thus avoiding certain costs that low-level methods incur repeatedly at compile time.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory); C6110 (Systems analysis and programming)",
  classification = "723",
  corpsource =   "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer programming --- Structural Programming; computer programming languages; control flow graph; data flow analysis; data processing --- Data Reduction and Analysis; escapes; exits; goto statements; high-level language; jumps; structured programming",
  keywords =     "data flow analysis; escape; high; jump; level; programs; statements; structured programming",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Montangero:1977:TCS,
  author =       "C. Montangero and G. Pacini and F. Turini",
  title =        "Two-Level Control Structure for Nondeterministic Programming",
  journal =      j-CACM,
  volume =       "20",
  number =       "10",
  pages =        "725--730",
  month =        oct,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The basic ideas of nondeterministic programming are critically reconsidered to single out a proper attitude and programming style for languages allowing direct control of nondeterministic features. The proposed attitude aims at retaining the purity of the nondeterministic formulation of search processes on one level (the attempt level), deferring the coordination of problem solving efforts to another (the choice level). The feasibility of recognizing these two levels is discussed, stressing that the structure to be managed at the choice level is a tree of contexts. The leaves are computational environments, each holding an alternative under inspection, while the other nodes are associated with choice points. According to the proposed programming style, a generative function is associated with each choice point, which expresses the desired choice strategy. The main advantage of this approach is the localization of the search strategies: Each nonterminal node of the tree keeps track of the state of the computation as it was when the choice point was last interrogated, holding at the same time the strategy to coordinate the available alternatives. Examples are given in term of ND-Lisp, an extension of Lisp designed and implemented according to these guidelines.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory)",
  classification = "723",
  corpsource =   "Univ. of Pisa, Pisa, Italy",
  journalabr =   "Commun ACM",
  keywords =     "computer programming languages; control structure; languages; nondeterministic programming; programming theory; two level",
  treatment =    "T Theoretical or Mathematical",
}

@Article{LaLonde:1977:RRP,
  author =       "Wilf R. LaLonde",
  title =        "Regular Right Part Grammars and Their Parsers",
  journal =      j-CACM,
  volume =       "20",
  number =       "10",
  pages =        "731--741",
  month =        oct,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A30",
  MRnumber =     "58 13974",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Regular right part (RRP) grammars, which resemble PASCAL syntax diagrams, describe the syntax of programming languages more concisely and more understandably than is possible with CF grammars. Also introduced is a class of parsers, RRP LR(m, k) parsers, which includes the CF LR(k) parsers and provides the same advantages. Informally, an RRP LR(m, k) parser can determine the right end of each handle by considering at most k symbols to the right of the handle and the left end, after the right end has been found, by considering at most m symbols to the left of the handle. A mechanism for determining the left end is required because there is no bound on the length of the handle.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic); C4220 (Automata theory)",
  classification = "721; 723",
  corpsource =   "Carleton Univ., Ottawa, Ont., Canada",
  journalabr =   "Commun ACM",
  keywords =     "automata theory; computer programming languages; finite automata; finite state machines; grammars; parsers; regular right part; regular right part grammar; RRP grammars",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Devillers:1977:GID,
  author =       "R. Devillers",
  title =        "Game Interpretation of the Deadlock Avoidance Problem",
  journal =      j-CACM,
  volume =       "20",
  number =       "10",
  pages =        "741--745",
  month =        oct,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Parallel/Multi.bib",
  abstract =     "The deadlock avoidance problem may be defined informally as the determination, from some a priori information about the processes, resources, operating system, etc., of the ``safe situations'' which may be realized without endangering the smooth running of the system. When each process specifies its future needs by a flowchart of need-defined steps, a global approach to the phenomenon and its interpretation as a game between the operating system and the processes allows formalization of risk and safety concepts. The bipartite graph representation of this game may then be used to construct explicitly the set of safe states and to study their properties.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory); C6150J (Operating systems)",
  classification = "723; 922",
  corpsource =   "Free Univ. of Brussels, Brussels, Belgium",
  journalabr =   "Commun ACM",
  keywords =     "computer operating systems; deadlock avoidance; multiprogramming; operating system; probability --- Game Theory; processes; resources",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Ivie:1977:PWM,
  author =       "Evan L. Ivie",
  title =        "Programmer's Workbench --- a Machine for Software Development",
  journal =      j-CACM,
  volume =       "20",
  number =       "10",
  pages =        "746--753",
  month =        oct,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "In this paper it is suggested that there are many situations where it would be advantageous to separate the program development and maintenance function onto a specialized computer which is dedicated to that purpose. Such a computer is here called a Programmer's Workbench. The four basic sections of the paper introduce the subject, outline the general concept, discuss areas where such an approach may prove beneficial, and described and operational system utilizing this concept.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5420 (Mainframes and minicomputers); C6110 (Systems analysis and programming)",
  classification = "723",
  corpsource =   "Bell Telephone Labs., Murray Hill, NJ, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer operating systems; computer programming; dedicated; maintenance; Programmer's Workbench; programming; software development; special purpose computers; specialized computer",
  treatment =    "P Practical",
}

@Article{Smith:1977:MMO,
  author =       "Alan Jay Smith",
  title =        "Multiprocessor Memory Organization and Memory Interference",
  journal =      j-CACM,
  volume =       "20",
  number =       "10",
  pages =        "754--761",
  month =        oct,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The structure of shared memory in a multiprocessor computer system is examined with particular attention to noninterleaved memory. Alternative memory organizations are compared and it is shown that a home memory organization, in which each processor is associated with one or more memories in which its address space concentrated, is quite effective in reducing memory interference. Home memory organization is shown to be particularly suited to certain specialized computational problems as well as to possess advantages in terms of interference and reliability for general purpose computation. Results for interleaved memory are drawn from previous work and are used for comparison. Trace-driven simulations are used to verify the conclusions of the analysis.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5220 (Computer architecture)",
  classification = "723",
  corpsource =   "Univ. of California, Berkeley, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer system; computer systems programming; file organisation; memory interference; memory organization; multiprocessing systems; multiprocessor; noninterleaved memory; shared memory",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Boyer:1977:FSS,
  author =       "Robert S. Boyer and J. Strother Moore",
  title =        "A Fast String Searching Algorithm",
  journal =      j-CACM,
  volume =       "20",
  number =       "10",
  pages =        "762--772",
  month =        oct,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/protein.pattern.bib",
  note =         "See also \cite{Knuth:1977:FPM} and \cite{Sunday:1990:VFS}.",
  abstract =     "An algorithm is presented that searches for the location, ``i,'' of the first occurrence of a character string, ``pat,'' in another string, ``string.'' During the search operation, the characters of pat are matched starting with the last character of pat. The information gained by starting the match at the end of the pattern often allows the algorithm to proceed in large jumps through the text being searched. Thus the algorithm has the unusual property that, in most cases, not all of the first i characters of string are inspected. The number of characters actually inspected (on the average) decreases as a function of the length of pat. For a random English pattern of length 5, the algorithm will typically inspect i/4 characters of string before finding a match at i. Furthermore, the algorithm has been implemented so that (on the average) fewer than i plus patlen machine instructions are executed. These conclusions are supported with empirical evidence and a theoretical analysis of the average behavior of the algorithm. The worst case behavior of the algorithm is linear in i plus patlen, assuming the availability of array space for tables linear in patlen plus the size of the alphabet.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory); C6130 (Data handling techniques)",
  classification = "723; 901",
  comment =      "The Boyer-Moore string matching algorithm is, in the worst case, linear in the length of the text + length of the pattern. The average case behavior is sublinear. Practical efficient implementations of this algorithm exist. By starting the comparisons at the right of the pattern instead of the left of the pattern, large jumps can be made in the text.",
  corpsource =   "Stanford Res. Inst., Stanford, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "algorithm; Boyer-Moore; character string; computer operating systems; computer programming; fast; information science --- Information Retrieval; list processing; pattern matching; string matching; string searching; text; text editing",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Lee:1977:CFP,
  author =       "J. A. N. Lee",
  title =        "Considerations for future programming language standards activities",
  journal =      j-CACM,
  volume =       "20",
  number =       "11",
  pages =        "788--794",
  month =        nov,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140D (High level languages)",
  corpsource =   "Dept. of Computer Sci., Virginia Polytech. Inst. and State Univ., Blacksburg, VA, USA",
  keywords =     "BASIC; COBOL; documentation; error conditions; FORTRAN; future; PL/I; procedure oriented languages; programming language; standards",
  treatment =    "G General Review; P Practical",
}

@Article{Turner:1977:ULS,
  author =       "Rollins Turner and Bill Strecker",
  title =        "Use of the {LRU} Stack Depth Distribution for Simulation of Paging Behavior",
  journal =      j-CACM,
  volume =       "20",
  number =       "11",
  pages =        "795--798",
  month =        nov,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/storage.bib",
  abstract =     "Two families of probability distributions are needed for use by a virtual memory simulation model: headway between page fault distributions, and working set size distributions. All members of both families can be derived from the LRU stack depth distribution. Simple expressions for the computation of both kinds of distributions are given. Finally, examples are given of both families of distributions as computed from a published stack depth distribution.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723",
  corpsource =   "Digital Equipment Corp., Maynard, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer operating systems; fault distributions; least; LRU; memory hierarchy; paging; Performance Evaluation: Experimental; probability; recently used; simulation; stack depth distribution; virtual memory; virtual storage",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Crow:1977:APC,
  author =       "Franklin C. Crow",
  title =        "The Aliasing Problem in Computer-Generated Shaded Images",
  journal =      j-CACM,
  volume =       "20",
  number =       "11",
  pages =        "799--805",
  month =        nov,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1977.bib",
  abstract =     "Certain defects, such as jagged edges and disappearing detail, have long been an annoyance in digitally generated shaded images. Although increasing the resolution or defocusing the display can attenuate them, an understanding of these defects leads to more effective methods. This paper explains the observed defects in terms of the aliasing phenomenon inherent in sampled signals and discusses prefiltering as a recognized cure. A method for evaluating filters is presented, the application of prefiltering to hidden-surface algorithms is discussed, and an implementation of a filtering tiler is shown accompanied by examples of its effectiveness.",
  acknowledgement = ack-nhfb,
  annote =       "Certain defects, such as jagged edges and disappearing detail, have long been an annoyance in digitally generated shaded images. Although increasing the resolution or defocusing the display can attenuate them, an understanding of these defects leads to more effective methods. This paper explains the observed defects in terms of the aliasing phenomenon inherent in sampled signals and discusses prefiltering as a recognized cure \ldots.",
  classcodes =   "C6130B (Graphics techniques)",
  classification = "723",
  corpsource =   "Univ. of Texas, Austin, TX, USA",
  descriptors =  "Method; graphics; three-dimensional plot; display; filter theory; sampling; aliasing; convolutional filtering; hidden line algorithm",
  journalabr =   "Commun ACM",
  keywords =     "aliasing; antialiasing; CACM; computer graphics; defects; filtering tiler; prefiltering; sampled signals; shaded images",
  treatment =    "P Practical",
}

@Article{Lamport:1977:CRW,
  author =       "Leslie Lamport",
  title =        "Concurrent Reading and Writing",
  journal =      j-CACM,
  volume =       "20",
  number =       "11",
  pages =        "806--811",
  month =        nov,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A05",
  MRnumber =     "57 4572",
  mrreviewer =   "Richard A. DeMillo",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The problem of sharing data among asynchronous processes is considered. It is assumed that only one process at a time can modify the data, but concurrent reading and writing is permitted. Two general theorems are proved, and some algorithms are presented to illustrate their use. These include a solution to the general problem in which a read is repeated if it might have obtained an incorrect result, and two techniques for transmitting messages between processes. These solutions do not assume any synchronizing mechanism other than data which can be written by one process and read by other processes.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150J (Operating systems)",
  classification = "723",
  corpsource =   "Massachusetts Computer Associates, Wakefield, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "algorithms; asynchronous processes; computer systems programming; concurrent; multiprocessing programs; reading; sharing data; theorems; writing",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Shore:1977:ABF,
  author =       "John E. Shore",
  title =        "Anomalous Behavior of the Fifty-Percent Rule in Dynamic Memory Allocation",
  journal =      j-CACM,
  volume =       "20",
  number =       "11",
  pages =        "812--820",
  month =        nov,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Simulation data are reported showing that, in dynamic memory allocation, the average free-to-allocated-block ratio can differ considerably and in both directions from the predictions of the 50 percent rule. A new derivation is given, and it is shown that previous derivations make an assumption that may be violated frequently. On the basis of the simulation data and the derivation, it is hypothesized that the anomalous behavior results from the combined effects of systematic placement and the statistics of the release process. Additional simulations support this hypothesis. Systematic placement, which refers to the natural convention of always allocating storage requests against the same end of the free block selected by the allocation strategy, tends to order blocks within contiguous groups, according to their allocation time. The degree of anomalous behavior depends on the extent to which allocated blocks are released in the order of their allocation. For non-Markovian release processes, the extent of the correlation between allocation order and release order varies approximately inversely with the coefficient of variation of the memory residence time distribution. The simulations show that allocation efficiency depends strongly on the residence time distribution; efficiency decreases as the distribution's coefficient of variation increases. Some practical implications are briefly discussed.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723",
  corpsource =   "Naval Res. Lab., Washington, DC, USA",
  journalabr =   "Commun ACM",
  keywords =     "50 percent rule; anomalous behaviour; computer operating systems; dynamic memory allocation; release process; simulation; storage allocation; systematic placement",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Stockman:1977:EHC,
  author =       "G. C. Stockman and A. K. Agrawala",
  title =        "Equivalence of {Hough} curve detection to template matching",
  journal =      j-CACM,
  volume =       "20",
  number =       "11",
  pages =        "820--822",
  month =        nov,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "B6140C (Optical information, image and video signal processing); C1250 (Pattern recognition)",
  corpsource =   "LNK Corp., Silver Spring, MD, USA",
  keywords =     "Hough; Hough curve detection; pattern recognition; template matching; transformation",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Wirth:1977:WCW,
  author =       "N. Wirth",
  title =        "What can we do about the unnecessary diversity of notation for syntactic definitions?",
  journal =      j-CACM,
  volume =       "20",
  number =       "11",
  pages =        "822--823",
  month =        nov,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic); C4240 (Programming and algorithm theory); C6140D (High level languages)",
  corpsource =   "Federal Inst. of Technol., ETH, Zurich, Switzerland",
  keywords =     "notation; programming languages; syntactic definitions",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Roy:1977:NRP,
  author =       "M. K. Roy",
  title =        "A note on reflection-free permutation enumeration",
  journal =      j-CACM,
  volume =       "20",
  number =       "11",
  pages =        "823--823",
  month =        nov,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming)",
  corpsource =   "Jadavpur Univ., Calcutta, India",
  keywords =     "enumeration; permutation; programming; reflection free",
  treatment =    "P Practical; T Theoretical or Mathematical",
}

@Article{Manna:1977:OAR,
  author =       "Zohar Manna and Adi Shamir",
  title =        "The Optimal Approach to Recursive Programs",
  journal =      j-CACM,
  volume =       "20",
  number =       "11",
  pages =        "824--831",
  month =        nov,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A05",
  MRnumber =     "56 13748",
  mrreviewer =   "Giorgio Levi",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory) 1 Years All Years in which items were published. 2 Type All Publication types. 3 Language All Find only items published in this language. In any year A hyphen or ALL - In a certain year The four-digit year 1923 In or after a certain year The year and a hyphen 1960- In or before a certain year A hyphen and a year -1955 In or between two years Both years and a hyphen 1960-1975 1 Years 1970-1979 Years in which items were published. 2 Type All Publication types. 3 Language All Find only items published in this language.",
  corpsource =   "Weizmann Inst. of Sci., Rehovoth, Israel",
  keywords =     "optimal approach; optimal fixedpoints; programming theory; recursive programs",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Hammer:1977:VHL,
  author =       "Michael Hammer and W. Gerry Howe and Vincent J. Kruskal and Irving Wladawsky",
  title =        "Very High Level Programming Language for Data Processing Applications",
  journal =      j-CACM,
  volume =       "20",
  number =       "11",
  pages =        "832--840",
  month =        nov,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The structure of a very high level language designed for use in business data processing applications is described. The language, Business Definition Language (BDL), has been subjected to a number of validation studies where it was used to code parts of existing systems. An implementation is currently under way, as is a modeling and customization effort using BDL as the underlying system language. This latter system will be used to tailor predesigned application systems to an individual's needs by means of his responses to a questionnaire.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140D (High level languages); C7100 (Business and administration)",
  classification = "723",
  corpsource =   "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "administrative data processing; BDL; business; business definition; business forms; calculations; computer programming languages; data processing, business; language; organization; problem oriented languages; sublanguages; very high level programming language",
  treatment =    "P Practical",
}

@Article{Sprugnoli:1977:PHF,
  author =       "Renzo Sprugnoli",
  title =        "Perfect Hashing Functions: {A} Single Probe Retrieving Method for Static Sets",
  journal =      j-CACM,
  volume =       "20",
  number =       "11",
  pages =        "841--850",
  month =        nov,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A50",
  MRnumber =     "56 17255",
  mrreviewer =   "Eberhard Ludde",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Theory/ProbAlgs.bib",
  note =         "This is the first discussion on perfect hashing; describes heuristics for constructing perfect hash functions.",
  abstract =     "A refinement of hashing which allows retrieval of an item in a static table with a single probe is considered. Given a set I of identifiers, two methods are presented for building, in a mechanical way, perfect hashing functions, i.e. functions transforming the elements of I into unique addresses. The first method, the ``quotient reduction'' method, is shown to be complete in the sense that for every set I the smallest table in which the elements of I can be stored and from which they can be retrieved by using a perfect hashing function constructed by this method can be found. However, for nonuniformly distributed sets, this method can give rather sparse tables. The second method, the ``remainder reduction'' method, is not complete in the above sense, but it seems to give minimal (or almost minimal) tables for every kind of set. The two techniques are applicable directly to small sets. Some methods to extend these results to larger sets are also presented. A rough comparison with ordinary hashing is given which shows that this method can be used conveniently in several practical applications.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723",
  corpsource =   "Istituto di Elaborazione della Informazione, CNR, Pisa, Italy",
  journalabr =   "Commun ACM",
  keywords =     "computer programming; file organisation; functions; perfect hashing; retrieving; single probe; static sets",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Cocke:1977:ARO,
  author =       "John Cocke and Ken Kennedy",
  title =        "An Algorithm for Reduction of Operator Strength",
  journal =      j-CACM,
  volume =       "20",
  number =       "11",
  pages =        "850--856",
  month =        nov,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/Compiler.Lins.bib",
  abstract =     "A simple algorithm which uses an indexed temporary table to perform reduction of operator strength in strongly connected regions is presented. Several extensions, including linear function test replacement, are discussed. These algorithms should fit well into an integrated package of local optimization algorithms.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150C (Compilers, interpreters and other processors)",
  classification = "723",
  corpsource =   "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "algorithm; computer programming; indexed temporary; linear function test; local optimization; operator strength; program compilers; reduction; replacement; strongly connected regions; table",
  treatment =    "P Practical; T Theoretical or Mathematical",
}

@Article{Bird:1977:IPI,
  author =       "R. S. Bird",
  title =        "Improving Programs by the Introduction of Recursion",
  journal =      j-CACM,
  volume =       "20",
  number =       "11",
  pages =        "856--863",
  month =        nov,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A05",
  MRnumber =     "56 17179",
  mrreviewer =   "V. Cazanescu",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/Functional.bib",
  abstract =     "A new technique of program transformation, called ``recursion introduction,'' is described and applied to two algorithms which solve pattern matching problems. By using a recursion introduction, algorithms which manipulate a stack are first translated into recursive algorithms in which no stack operations occur. These algorithms are then subjected to a second transformation, a method of recursion elimination called ``tabulation,'' to produce programs with a very efficient running time. In particular, it is shown how the fast linear pattern matching algorithm of Knuth, Morris, and Pratt can be derived in a few steps from a simple nonlinear stack algorithm.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory)",
  classification = "723",
  corpsource =   "Univ. of Reading, Reading, UK",
  journalabr =   "Commun ACM",
  keywords =     "computer programming; functional program transformation optimization recursion elimination pattern matching computational induction; program transformation; programming theory; recursion introduction; stack",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Nielsen:1977:DMA,
  author =       "Norman R. Nielsen",
  title =        "Dynamic Memory Allocation in Computer Simulation",
  journal =      j-CACM,
  volume =       "20",
  number =       "11",
  pages =        "864--873",
  month =        nov,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/garbage.collection.bib",
  abstract =     "Investigation is made of the performance of 35 dynamic memory allocation algorithms when used to service simulation programs as represented by 18 test cases. Algorithm performance was measured in terms of processing time, memory usage, and external memory fragmentation. Algorithms maintaining separate free space lists for each size of memory block used tended to perform quite well compared with other algorithms. Simple algorithms operating on memory ordered lists (without any free list) performed surprisingly well. Algorithms employing power-of-two block sizes had favorable processing requirements but generally unfavorable memory usage. Algorithms employing LIFO, FIFO, or memory ordered free lists generally performed poorly compared with others.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723",
  corpsource =   "Stanford Res. Inst., Menlo Park, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "algorithms; computer operating systems --- Storage Allocation; computer simulation; digital simulation; dynamic memory allocation; external memory; fragmentation; memory usage; performance; processing time; storage allocation",
  treatment =    "P Practical; T Theoretical or Mathematical",
}

@Article{Blasgen:1977:EMM,
  author =       "Michael W. Blasgen and Richard G. Casey and Kapali P. Eswaran",
  title =        "An Encoding Method for Multifield Sorting and Indexing",
  journal =      j-CACM,
  volume =       "20",
  number =       "11",
  pages =        "874--878",
  month =        nov,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  note =         "Also published in/as: IBM, Res.R., RJ 1753, IBM San Jose, Res.Lab, Mar.1976.",
  abstract =     "The efficient retrieval from a database of records that satisfy an expression involving more than one data field is examined. Sequences of character strings with an order relation imposed between sequences are considered. An encoding scheme is described which produces a single, order-preserving string from a sequence of strings. The original sequence can be recovered from the encoded string, and one sequence of strings precedes another if and only if the encoding of the first precedes the encoding of the second. The strings may be variable length, without a maximum length restriction, and no symbols need be reserved for control purposes. Hence any symbol may occur in any string. The scheme is useful for multifield sorting, multifield indexing, and other applications where ordering on more than one field is important.",
  acknowledgement = ack-nhfb,
  annote =       "Coding for SYSTEM R multi-field indexes.",
  classcodes =   "C6130 (Data handling techniques)",
  classification = "723",
  corpsource =   "IBM Res. Lab., San Jose, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "character; codes, symbolic; encoding method; indexing; information science --- Information Retrieval; multifield sorting; order relation; sorting; strings",
  treatment =    "P Practical; T Theoretical or Mathematical",
}

@Article{Grapa:1977:STA,
  author =       "Enrique Grapa and Geneva G. Belford",
  title =        "Some Theorems to Aid in Solving the File Allocation Problem",
  journal =      j-CACM,
  volume =       "20",
  number =       "11",
  pages =        "878--882",
  month =        nov,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A50",
  MRnumber =     "57 4705",
  mrreviewer =   "Witold Lipski",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C0310 (EDP management); C5620 (Computer networks and techniques); C6120 (File organisation)",
  corpsource =   "Univ. of Illinois, Urbana, IL, USA",
  keywords =     "computer networks; copies; DP management; file allocation problem; network sites; storage allocation; theorems",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Lopez:1977:SCS,
  author =       "A. A. Lopez and R. Raymond and R. Tardiff",
  title =        "A survey of computer science offerings in small liberal arts colleges",
  journal =      j-CACM,
  volume =       "20",
  number =       "12",
  pages =        "902--906",
  month =        dec,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C0220 (Computing education and training)",
  corpsource =   "Univ. of Minnosota, Morris, MN, USA",
  keywords =     "computer science; computer science education; curricular; development; programming courses; small liberal arts colleges",
  treatment =    "G General Review",
}

@Article{Kessels:1977:CFN,
  author =       "J. L. W. Kessels",
  title =        "A Conceptual Framework for a Nonprocedural Programming Language",
  journal =      j-CACM,
  volume =       "20",
  number =       "12",
  pages =        "906--913",
  month =        dec,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Parallel/Multi.bib",
  abstract =     "A sequential programming language forces the programmer to prescribe explicitly the order in which the operations in his program have to be executed, even if the order is not relevant to the solution of his problem. The requirement to indicate irrelevant sequencing can be removed if the language provides facilities for specifying a task in a nonprocedural manner. In general, a program specified in this way will allow concurrent evaluation. A conceptual framework for a high level programming language is described providing both nonprocedural and sequential facilities. Within a program, nonprocedural and sequential program modules may be nested freely.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory); C6140D (High level languages)",
  classification = "723",
  corpsource =   "Philips Res. Labs., Eindhoven, Netherlands",
  journalabr =   "Commun ACM",
  keywords =     "computer programming languages; conceptual framework; concurrent; nonprocedural programming language; parallel; programming languages; sequential",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Carter:1977:CSN,
  author =       "J. Lawrence Carter",
  title =        "A Case Study of a New Code Generation Technique for Compilers",
  journal =      j-CACM,
  volume =       "20",
  number =       "12",
  pages =        "914--920",
  month =        dec,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/compiler.bib and ftp://ftp.ira.uka.de/pub/bibliography/Compiler/semantics.bib",
  abstract =     "Recent developments in optimizing techniques have allowed a new design for compilers to emerge. Such a compiler translates the parsed source code into lower level code by a sequence of steps. Each step expands higher level statements into blocks of lower level code and then performs optimizations on the result. Evidence is provided that this strategy can indeed result in good object code. The traditionally difficult PL/I concatenate statement was investigated as a detailed example.",
  acknowledgement = ack-nhfb,
  annote =       "Describes a unified system which can handle both interpretation and compilation.",
  classcodes =   "C6150C (Compilers, interpreters and other processors)",
  classification = "723",
  corpsource =   "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "case study; code generation technique; codes, symbolic; compilers; computer operating systems; program compilers",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Gries:1977:EPP,
  author =       "David Gries",
  title =        "An Exercise in Proving Parallel Programs Correct",
  journal =      j-CACM,
  volume =       "20",
  number =       "12",
  pages =        "921--930",
  month =        dec,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A05",
  MRnumber =     "58 3615",
  mrreviewer =   "Andrzej Blikle",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Compiler/garbage.collection.bib",
  note =         "See corrigendum \cite{Gries:1978:CEP}.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory)",
  corpsource =   "Cornell Univ., Ithaca, NY, USA",
  keywords =     "correct; garbage collector; parallel processing; parallel programs; programming theory; proving; storage management",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Grief:1977:LFP,
  author =       "Irene Grief",
  title =        "A language for formal problem specification",
  journal =      j-CACM,
  volume =       "20",
  number =       "12",
  pages =        "931--935",
  month =        dec,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A language for specifying the intended behavior of communicating parallel processes is described. The specifications are constraints on the order in which events of a computation can occur. The language is used to write specifications of the readers\slash writers problem and the writer priority of the second readers\slash writers problem.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic); C4240 (Programming and algorithm theory)",
  classification = "723",
  corpsource =   "Univ. of Washington, Seattle, WA, USA",
  journalabr =   "Commun ACM",
  keywords =     "communicating; computer programming languages; constraints; formal languages; formal problem specification; language; parallel processes; parallel processing; readers/writers problem; writer priority",
  treatment =    "T Theoretical or Mathematical",
  xxauthor =     "Irene Greif",
}

@Article{Abrams:1977:MIC,
  author =       "Marshall D. Abrams and Siegfried Treu",
  title =        "A Methodology for Interactive Computer Service Measurement",
  journal =      j-CACM,
  volume =       "20",
  number =       "12",
  pages =        "936--944",
  month =        dec,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1977.bib",
  abstract =     "A measurement methodology applicable to in teractive computer service is described. Its primary purpose is to enable external, user-oriented assessment of computer performance, instead of the more frequently used in ternal system measurement techniques. \par The NBS Network Measurement System is employed as the external measurement tool. Example data have been collected and analyzed. A demonstration of the methodology, leading to a pragmatic figure-of-merit evaluation of results, is included.",
  acknowledgement = ack-nhfb,
  annote =       "A measurement methodology applicable to interactive computer service is described. Its primary purpose is to enable external, user-oriented assessment of computer performance, instead of the more frequently used internal system measurement techniques. The NBS Network Measurement System is employed as the external measurement tool. Example data have been collected and analyzed. A demonstration of the methodology, leading to a pragmatic figure-of\ldots.",
  classcodes =   "C6150G (Diagnostic, testing, debugging and evaluating systems)",
  classification = "722; 723",
  corpsource =   "Nat. Bur. of Stand., Washington, DC, USA",
  country =      "USA",
  descriptors =  "Man-machine interaction; performance measure; measurement; method; survey;",
  enum =         "5",
  journalabr =   "Commun ACM",
  keywords =     "computer selection and evaluation; computer service; computer systems, digital; external; external measurement; figure-of-merit.; in teractive system; interactive; interactive computer systems; measurement; measurement model; measures; methodology; network measurement system; performance",
  language =     "English",
  references =   "24",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Danziger:1977:CIA,
  author =       "J. N. Danziger and W. H. Dutton",
  title =        "Computers as an innovation in {American} local governments",
  journal =      j-CACM,
  volume =       "20",
  number =       "12",
  pages =        "945--956",
  month =        dec,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C0230 (Economic, social and political aspects of computing); C7130 (Public administration)",
  corpsource =   "Univ. of California, Irvine, CA, USA",
  keywords =     "American local governments; applications; computer technology; EDP; financial support; government data processing; innovation; social aspects of automation",
  treatment =    "G General Review",
}

@Article{Summers:1977:MLP,
  author =       "P. D. Summers",
  title =        "A Methodology for {LISP} Program Construction from Examples",
  journal =      j-CACM,
  volume =       "24",
  number =       "1",
  pages =        "161--175",
  month =        jan,
  year =         "1977",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Ai/lisp.bib",
  keywords =     "LISP",
}

@Article{Lavington:1978:MMA,
  author =       "S. H. Lavington",
  title =        "The {Manchester Mark I} and {Atlas}: a historical perspective",
  journal =      j-CACM,
  volume =       "21",
  number =       "1",
  pages =        "4--12",
  month =        jan,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C5220 (Computer architecture); C6150J (Operating systems)",
  corpsource =   "Univ. of Manchester, Manchester, UK",
  keywords =     "(computers); address generation; computer architecture; computer software; operating systems; store management",
  treatment =    "P Practical",
}

@Article{Ibbett:1978:DMC,
  author =       "R. N. Ibbett and P. C. Capon",
  title =        "The development of the {MU5} computer system",
  journal =      j-CACM,
  volume =       "21",
  number =       "1",
  pages =        "13--24",
  month =        jan,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Following a brief outline of the background of the MU5 project, the aims and ideas for MU5 are discussed. A description is then given of the instruction set, which includes a number of features conducive to the production of efficient compiled code from high-level language source programs. The design of the processor is then traced from the initial ideas for an associatively addressed ``name store'' to the final multistage pipeline structure involving a prediction mechanism for instruction prefetching and a function queue for array element accessing. An overall view of the complete MU5 complex is presented together with a brief indication of its performance.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5220 (Computer architecture); C5420 (Mainframes and minicomputers); C6150J (Operating systems)",
  classification = "722; 723",
  corpsource =   "Univ. of Manchester, Manchester, UK",
  journalabr =   "Commun ACM",
  keywords =     "architecture; code; computer; computer architecture; computer systems, digital; function queue; instruction prefetching; instruction set; MU5; name store; operating systems (computers); pipeline processing; pipeline structure",
  treatment =    "P Practical",
}

@Article{Borgerson:1978:ESU,
  author =       "B. R. Borgerson and M. L. Hanson and P. A. Hartley",
  title =        "Evolution of the {Sperry Univac 1100 Series}: a History, Analysis, and Projection",
  journal =      j-CACM,
  volume =       "21",
  number =       "1",
  pages =        "25--43",
  month =        jan,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The 1100 series systems are Sperry Univac's large-scale mainframe computer systems. Beginning with the 1107 in 1962, the 1100 series has progressed through a succession of eight compatible computer models to the latest system, the 1100\slash 80, introduced in 1977. The 1100 series hardware architecture is based on a 36-bit word, ones complement structure which obtains one operand from storage and one from a high-speed register, or two operands from high-speed registers. The 1100 Operating System is designed to support a symmetrical multiprocessor configuration simultaneously providing multiprogrammed batch, timesharing, and transaction environments.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5220 (Computer architecture); C5420 (Mainframes and minicomputers); C6150J (Operating systems)",
  classification = "722; 723",
  corpsource =   "Sperry Univac, Blue Bell, PA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer architecture; computer systems, digital; hardware architecture; multiprocessing systems; operating; Sperry Univac 1100 series; symmetrical multiprocessor configuration; systems (computers)",
  treatment =    "P Practical",
}

@Article{Bell:1978:ED,
  author =       "C. G. Bell and A. Kotok and T. N. Hastings and R. Hill",
  title =        "The Evolution of the {DECsystem 10}",
  journal =      j-CACM,
  volume =       "21",
  number =       "1",
  pages =        "44--63",
  month =        jan,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The DECsystem 10, also known as the PDP-10, evolved from the PDP-6 (circa 1963) over five generations of implementations to presently include systems covering a price range of five to one. The origin and evolution of the hardware, operating system, and languages are described in terms of technological change, user requirements, and user developments. The PDP-10's contributions to computing technology include: accelerating the transition from batch oriented to time sharing computing systems; transferring hardware technology within DEC (and elsewhere) to minicomputer design and manufacturing; supporting minicomputer hardware and software development; and serving as a model for single user and timeshared interactive minicomputer\slash microcomputer systems.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5220 (Computer architecture); C5420 (Mainframes and minicomputers); C6150J (Operating systems)",
  classification = "722; 723",
  corpsource =   "Digital Equipment Corp., Maynard, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "architecture; computer; computer architecture; computer systems, digital; DECsystem 10; operating system; operating systems (computers); sharing systems; time sharing; time-",
  treatment =    "P Practical",
}

@Article{Russell:1978:CCS,
  author =       "Richard M. Russell",
  title =        "The {CRAY-1} Computer System",
  journal =      j-CACM,
  volume =       "21",
  number =       "1",
  pages =        "63--72",
  month =        jan,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Parallel/par.misc.bib",
  abstract =     "This paper describes the CRAY-1, discusses the evolution of its architecture, and gives an account of some of the problems that were overcome during its manufacture. The CRAY-1 is the only computer to have been built to date that satisfies ERDA's Class VI requirement (a computer capable of processing from 20 to 60 million floating point operations per second) [1]. The CRAY-1's Fortran compiler (CFT) is designed to give the scientific user immediate access to the benefits of the CRAY-1's vector processing architecture. An optimizing compiler, CFT, ``vectorizes'' innermost DO loops. Compatible with the ANSI 1966 Fortran Standard and with many commonly supported Fortran extensions, CFT does not require any source program modifications or the use of additional nonstandard Fortran statements to achieve vectorization. \par Thus the user's investment of hundreds of man months of effort to develop Fortran programs for other contemporary computers is protected.",
  acknowledgement = ack-nhfb,
  annote =       "The original paper describing the Cray-1. This paper is reproduced in Kuhn and Padua's (1981, IEEE) survey ``Tutorial on Parallel Processing.'' Also reproduced in ``Computer Structures: Principles and Examples'' by Daniel P. Siewiorek, C. Gordon Bell, and Allen Newell, McGraw-Hill, 1982, pp. 743-752. Reproduced in Dharma P. Agrawal's (ed.) ``Advanced Computer Architecture,'' IEEE, 1986, pp.15-24. Literature search yields: 00712248 E. I. Monthly No: EI7804023850 E. I. Yearly No: EI78014612 Title: Cray-1 Computer System. Author: Russell, Richard M. Corporate Source: Cray Res Inc, Minneapolis, Minn Source: Communications of the ACM v 21 n 1 Jan 1978 p 63--72 Publication Year: 1978 CODEN: CACMA2 ISSN: 0001-0782 Language: ENGLISH Journal Announcement: 7804 Abstract: The CRAY-1 is described, the evolution of its architecture is discussed, and an account is given of some of the problems that were overcome during its manufacture. The CRAY-1 is the only computer to have been built to date that satisfies ERDA's Class VI requirement (a computer capable of processing from 20 to 60 million floating point operations per second). The CRAY-1's Fortran compiler (CFT) is designed to give the scientific user immediate access to the benefits of the CRAY-1's vector processing architecture. An optimizing compiler, CFT, ``vectorizes'' innermost DO loops. Compatible with the ANSI 1966 Fortran Standard and with many commonly supported Fortran extensions, CFT does not require any source program modifications or the use of additional nonstandard Fortran statements to achieve vectorization. 6 refs. Descriptors: *COMPUTER ARCHITECTURE; COMPUTER SYSTEMS, DIGITAL Classification Codes: 722 (Computer Hardware); 723 (Computer Software) 72 (COMPUTERS \& DATA PROCESSING)",
  classcodes =   "C5220 (Computer architecture); C5420 (Mainframes and minicomputers); C6150J (Operating systems)",
  classification = "722; 723",
  corpsource =   "Cray Res. Inc., Minneapolis, MN, USA",
  journalabr =   "Commun ACM",
  keywords =     "architecture; CFT; computer architecture; computer systems; computer systems, digital; CRAY-1 computer system; existing classic architecture; ginsberg biblio: bhibbard enm; grecommended91; implementation; j\-lb; maeder biblio: parallel hardware and devices; operating systems (computers); processing; vector",
  treatment =    "P Practical",
}

@Article{Case:1978:AIS,
  author =       "Richard P. Case and Andris Padegs",
  title =        "Architecture of the {IBM System}\slash 370",
  journal =      j-CACM,
  volume =       "21",
  number =       "1",
  pages =        "73--96",
  month =        jan,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Misc/storage.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C5220 (Computer architecture); C5420 (Mainframes and minicomputers); C6150J (Operating systems)",
  corpsource =   "IBM Corp., White Plains, NY, USA",
  keywords =     "Architectures; computer architecture; data manipulation; debugging; design considerations; error handling; input/output operations; instructions; memory hierarchy; monitoring; multiprocessing; operating systems (computers); program control; timing facilities; virtual storage",
  treatment =    "P Practical",
}

@Article{Mamrak:1978:CSF,
  author =       "S. A. Mamrak and R. G. {Montanelli, Jr.}",
  title =        "Computer science faculties: the current status of minorities and women",
  journal =      j-CACM,
  volume =       "21",
  number =       "2",
  pages =        "115--119",
  month =        feb,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C0220 (Computing education and training)",
  corpsource =   "Ohio State Univ., Columbus, OH, USA",
  keywords =     "academic computer science; computer science education; discrimination; minorities; women",
  treatment =    "G General Review",
}

@Article{Rivest:1978:MOD,
  author =       "R. L. Rivest and A. Shamir and L. Adelman",
  title =        "A Method for Obtaining Digital Signatures and Public-Key Cryptosystems",
  journal =      j-CACM,
  volume =       "21",
  number =       "2",
  pages =        "120--126",
  month =        feb,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "94A05",
  MRnumber =     "83m:94003",
  mrreviewer =   "J. L. Selfridge",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Theory/ProbAlgs.bib and ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib and ftp://ftp.ira.uka.de/pub/bibliography/Ai/nonmono.bib",
  note =         "The basics of trap-door functions and the famous RSA public key cryptosystem are presented in this paper.",
  abstract =     "An encryption method is presented with the novel property that publicly revealing an encryption key does not thereby reveal the corresponding decryption key. This has two important consequences: (1) Couriers or other secure means are not needed to transmit keys, since a message can be enciphered using an encryption key publicly revealed by the intended recipient. (2) A message can be ``signed'' using a privately held decryption key. Anyone can verify this signature using the corresponding publicly revealed encryption key. Signatures cannot be forged, and a signer cannot later deny the validity of his signature.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  classification = "723",
  corpsource =   "Dept. of Math., MIT, Cambridge, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer programming; cryptography; cryptosystems; data handling; data processing --- Security of Data; decryption key; digital signatures; encryption key; number theory; operating protection; RSA; security; security of data",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Auslander:1978:SRR,
  author =       "M. A. Auslander and H. R. Strong",
  title =        "Systematic Recursion Removal",
  journal =      j-CACM,
  volume =       "21",
  number =       "2",
  pages =        "127--134",
  month =        feb,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/semantics.bib",
  abstract =     "The recursion removal algorithm presented by Strong and Walker is amplified and applied to a relatively complex PL/I program. The aim is to demonstrate systematic recursion-removal techniques on something more complex than Knuth's ``sturdy toddler'' and to obtain measurements of the cost of procedure linkage in PL/I and the savings achievable via procedure integration in the presence of recursion. First, the paper describes the recursion-removal process and the example on which it will be illustrated. Recursion removal is then applied to the two major parts of this example and the final result of the process is displayed. Our performance comparison results are presented and our conclusions are briefly discussed.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory); C6140D (High level languages)",
  classification = "723",
  corpsource =   "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer programming; linkage; optimization; PL/1; procedure; procedure integration; procedure linkage; programming theory; recursion elimination; recursion removal; recursion removal algorithm",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Kou:1978:CEC,
  author =       "L. T. Kou and L. J. Stockmeyer and C. K. Wong",
  title =        "Covering Edges by Cliques with Regard to Keyword Conflicts and Intersection Graphs",
  journal =      j-CACM,
  volume =       "21",
  number =       "2",
  pages =        "135--139",
  month =        feb,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A20 (05C35)",
  MRnumber =     "57 4620",
  mrreviewer =   "A. T. Amin",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "E. Kellerman has presented a method for determining keyword conflicts and described a heuristic algorithm which solves a certain combinatorial optimization problem in connection with this method. This optimization problem is shown to be equivalent to the problem of covering the edges of a graph by complete subgraphs with the objective of minimizing the number of complete subgraphs. A relationship between this edge-clique-cover problem and the graph coloring problem is established which allows algorithms for either one of these problems to be constructed from algorithms for the other.",
  acknowledgement = ack-nhfb,
  classcodes =   "C1160 (Combinatorial mathematics); C1180 (Optimisation techniques); C4240 (Programming and algorithm theory)",
  classification = "723; 921",
  corpsource =   "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "clique cover problem; cliques; combinatorial optimization problem; computational complexity; computer programming; edge; graph colouring; intersection graphs; keyword conflicts; optimisation; optimization",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Held:1978:BTR,
  author =       "Gerald Held and Michael Stonebraker",
  title =        "{B}-Trees Re-Examined",
  journal =      j-CACM,
  volume =       "21",
  number =       "2",
  pages =        "139--143",
  month =        feb,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib and ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib",
  note =         "Also published in/as: UCB, Elec. Res. Lab, No.ERL-M528, July 1975.",
  abstract =     "The B-tree and its variants have, with increasing frequency, been proposed as a basic storage structure for multiuser database applications. Three potential problems which must be dealt with in such a structure that do not arise in more traditional static directory structures are indicated. One problem is a possible performance penalty.",
  acknowledgement = ack-nhfb,
  annote =       "Static versus dynamic indexes.",
  classcodes =   "C1160 (Combinatorial mathematics); C6120 (File organisation)",
  classification = "723",
  corpsource =   "Tandem Computers Inc., Capertino, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "data base systems; Ingres ISAM CACM",
  keywords =     "(mathematics); B-tree; data structures; database; database management systems; directory structures; storage structure; trees",
  treatment =    "G General Review; T Theoretical or Mathematical",
}

@Article{Stewart:1978:CNT,
  author =       "William J. Stewart",
  title =        "A Comparison of Numerical Techniques in {Markov} Modeling",
  journal =      j-CACM,
  volume =       "21",
  number =       "2",
  pages =        "144--152",
  month =        feb,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1978.bib",
  abstract =     "Presentation of several numerical methods which may be used to obtain the stationary probability vectors of Markovian models. An example of a nearly decomposable system is considered, and the results obtained by the different methods examined. A post mortem reveals why standard techniques often fail to yield the correct results. Finally, a means of estimating the error inherent in the decomposition of certain models is presented.",
  acknowledgement = ack-nhfb,
  classcodes =   "C1140Z (Other topics in statistics); C1220 (Simulation, modelling and identification); C4110 (Error analysis in numerical methods)",
  classification = "912",
  corpsource =   "Univ. de Rennes, Rennes, France",
  country =      "USA",
  descriptors =  "Markov chain; linear equation;",
  enum =         "7926",
  journalabr =   "Commun ACM",
  keywords =     "decomposable system; error analysis; management science; Markov processes; Markovian; methods; modelling; models; numerical; numerical methods; operations research; stationary probability vectors",
  language =     "English",
  references =   "0",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Herman:1978:RMI,
  author =       "Gabor T. Herman and Arnold Lent and Peter H. Lutz",
  title =        "Relaxation Methods for Image Reconstruction",
  journal =      j-CACM,
  volume =       "21",
  number =       "2",
  pages =        "152--158",
  month =        feb,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A45 (92A05)",
  MRnumber =     "58 19419",
  mrreviewer =   "J. J. Buckley",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "It is shown that, for a consistent system of linear inequalities, any sequence of relaxation parameters lying strictly between 0 and 2 generates a sequence of vectors which converges to a solution. Under the same assumptions, for a system of linear equations, the relaxation method converges to the minimum norm solution. Previously proposed techniques are shown to be special cases of our procedure with different choices of relaxation parameters. The practical consequences for image reconstruction of the choice of the relaxation parameters are discussed. This work is applicable to biomedical engineering and mathematical programming.",
  acknowledgement = ack-nhfb,
  classcodes =   "C1180 (Optimisation techniques); C1260 (Information theory); C4140 (Linear algebra)",
  classification = "461; 723; 921",
  corpsource =   "State Univ. of New York, Buffalo, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "biomedical engineering; convergence of numerical methods; greyness integrals; image processing; image reconstruction; linear inequalities; mathematical programming; method; picture processing; relaxation",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Manna:1978:SSB,
  author =       "Zohar Manna and Richard Waldinger",
  title =        "Is `Sometime' Sometimes Better Than `Always'? (Intermittent Assertions in Proving Program Correctness)",
  journal =      j-CACM,
  volume =       "21",
  number =       "2",
  pages =        "159--172",
  month =        feb,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A05",
  MRnumber =     "58 3630",
  mrreviewer =   "Franco Sirovich",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/semantics.bib",
  abstract =     "This paper explores a technique for proving the correctness and termination of programs simultaneously. \par This approach, the intermittent-assertion method, involves documenting the program with assertions that must be true at some time when control passes through the corresponding point, but that need not be true every time. The method, introduced by Burstall, promises to provide a valuable complement to the more conventional methods. The intermittent-assertion method is presented with a number of examples of correctness and termination proofs. Some of these proofs are markedly simpler than their conventional counterparts. \par On the other hand, it is shown that a proof of correctness or termination by any of the conventional techniques can be rephrased directly as a proof using intermittent assertions. Finally, it is shown how the intermittent-assertion method can be applied to prove the validity of program transformations and the correctness of continuously operating programs.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory)",
  classification = "723",
  corpsource =   "Stanford Univ., Stanford, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer programming languages; continuously operating programs.; correctness of programs; intermittent assertions; program transformation; program verification; termination of programs",
  keywords =     "assertions; continuously operating programs; intermittent-assertion method; program; program correctness; programming theory; termination proofs; transformations",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Schachter:1978:SNM,
  author =       "Bruce J. Schachter and Azriel Rosenfeld",
  title =        "Some New Methods of Detecting Step Edges in Digital Pictures",
  journal =      j-CACM,
  volume =       "21",
  number =       "2",
  pages =        "172--176",
  month =        feb,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Description of two operators that respond to step edges, but not to ramps. The first is similar to the digital Laplacian, but uses the max, rather than the sum, of the x and y second differences. The second uses the difference between the mean and median gray levels in a neighborhood. The outputs obtained from these operators applied to a set of test pictures are compared with each other and with the standard digital Laplacian and gradient. A third operator, which uses the distance between the center and centroid of a neighborhood as an edge value, is also briefly considered; it turns out to be equivalent to one of the standard digital approximations to the gradient.",
  acknowledgement = ack-nhfb,
  classcodes =   "B6140C (Optical information, image and video signal processing); C1250 (Pattern recognition); C1260 (Information theory); C6130B (Graphics techniques)",
  classification = "723",
  corpsource =   "Univ. of Maryland, College Park, MD, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer graphics; digital; digital pictures; edge detection; gray levels; image processing; Laplacian; pattern recognition; picture processing; step edges",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Rabin:1978:CCC,
  author =       "Michael O. Rabin",
  title =        "Corrigendum: {``Complexity of computations''}",
  journal =      j-CACM,
  volume =       "21",
  number =       "3",
  month =        mar,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "231.68A20",
  MRnumber =     "57 8156",
  bibdate =      "Tue Dec 26 13:35:07 1995",
  note =         "See \cite{Rabin:1977:CC}.",
  acknowledgement = ack-nhfb,
}

@Article{Lucas:1978:UII,
  author =       "Henry C. {Lucas, Jr.}",
  title =        "Use of an Interactive Information Storage and Retrieval System in Medical Research",
  journal =      j-CACM,
  volume =       "21",
  number =       "3",
  pages =        "197--205",
  month =        mar,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Results of a study of the use of an interactive computerized storage and retrieval system. A monitor built into the computer system provided usage data for the study. Additional data on user reactions were gathered from a questionnaire. The results show the important role played by frequently chosen laboratory reference leaders in influencing the use of this system. The implications of the study for the design of similar systems are discussed.",
  acknowledgement = ack-nhfb,
  classcodes =   "C7220 (Generation, dissemination, and use of information); C7250 (Information storage and retrieval); C7330 (Biology and medical computing)",
  classification = "723; 901",
  corpsource =   "New York Univ., New York, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "computing; information retrieval system; information retrieval systems; information storage; information use; interactive; laboratory reference leaders; medical; medical research; monitor; use; user reactions",
  treatment =    "A Application; P Practical",
}

@Article{Dutton:1978:MUC,
  author =       "William H. Dutton and Kenneth L. Kraemer",
  title =        "Management Utilization of Computers in {American} Local Governments",
  journal =      j-CACM,
  volume =       "21",
  number =       "3",
  pages =        "206--218",
  month =        mar,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Traditional concepts of management information systems (MIS) bear little relation to the information systems currently in use by top management in most US local governments. What exists is management-oriented computing, involving the use of relatively unsophisticated applications. Despite the unsophisticated nature of these systems, management use of computing is surprisingly common, but also varied in its extent among local governments. Management computing is most prevalent in those governments with professional management practices where top management is supportive of computing and tends to control computing decisions and where department users have less control over design and implementation activities. Finally, management computing clearly has impacts for top managers, mostly involving improvements in decision information.",
  acknowledgement = ack-nhfb,
  classcodes =   "C0230 (Economic, social and political aspects of computing); C7130 (Public administration)",
  classification = "723; 901; 912; 922",
  corpsource =   "Public Policy Res. Organization, Univ. of California, Irvine, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "concepts; decision information; decision theory and analysis; government data processing; information retrieval systems; local governments; management information systems; management practices; management science; management use of computing; professional; social aspects of automation; top management; US",
  treatment =    "G General Review; P Practical",
}

@Article{Anderson:1978:VOC,
  author =       "R. E. Anderson",
  title =        "Value orientation of computer science students",
  journal =      j-CACM,
  volume =       "21",
  number =       "3",
  pages =        "219--225",
  month =        mar,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C0220 (Computing education and training); C0230 (Economic, social and political aspects of computing)",
  corpsource =   "Univ. of Minnesota, Minneapolis, MN, USA",
  keywords =     "computer science education; computer science students; social aspects of automation; social science; students; value structures",
  treatment =    "G General Review",
}

@Article{Kosaraju:1978:IDO,
  author =       "S. Rao Kosaraju",
  title =        "Insertions and Deletions in One-Sided Height-Balanced Trees",
  journal =      j-CACM,
  volume =       "21",
  number =       "3",
  pages =        "226--227",
  month =        mar,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A10",
  MRnumber =     "57 18210",
  mrreviewer =   "Fabrizio Luccio",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "D. S. Hischberg has established that insertions into one-sided height-balanced trees can be done in O(log**2N) steps. It is proved that deletions can also be performed in O(log**2N) steps, which answers the open problem posed by D. S. Hirschberg.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory); C6110 (Systems analysis and programming)",
  classification = "723",
  corpsource =   "Johns Hopkins Univ., Baltimore, MD, USA",
  journalabr =   "Commun ACM",
  keywords =     "AVL trees; balanced trees; binary search; computer programming; dynamic balancing",
  keywords =     "deletions; insertions; one sided height balanced trees; programming theory; trees (mathematics)",
  treatment =    "T Theoretical or Mathematical",
}

@Article{DeMillo:1978:PAP,
  author =       "Richard A. DeMillo and Stanley C. Eisenstat and Richard J. Lipton",
  title =        "Preserving Average Proximity in Arrays",
  journal =      j-CACM,
  volume =       "21",
  number =       "3",
  pages =        "228--231",
  month =        mar,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A50",
  MRnumber =     "57 8217",
  mrreviewer =   "Dorothy Bollman",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Programmers and data structure designers are often forced to choose between alternative structures. \par In storing these structures, preserving logical adjacencies or ``proximity'' is usually an important consideration. \par The combinatorial problem of storing arrays as various kinds of list structures is examined. Embeddings of graphs are used to model the loss of proximity involved in such storage schemes, and an elementary proof that arrays cannot be stored as linear lists with bounded loss of proximity is presented. Average loss of proximity is then considered, and it is shown that arrays cannot be stored as linear lists with only bounded loss of average proximity, but can be so stored in binary trees. The former result implies, for instance, that row major order is an asymptotically optimal storage strategy for arrays.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723",
  corpsource =   "Georgia Inst. of Technol., Atlanta, GA, USA",
  journalabr =   "Commun ACM",
  keywords =     "arrays; average proximity; computer programming; data processing; data structure; data structures; graph embedding; linear lists; list structures; logical adjacencies; preserving; proximity; trees",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Franklin:1978:AVP,
  author =       "M. A. Franklin and G. Scott Graham and R. K. Gupta",
  title =        "Anomalies with Variable Partition Paging Algorithms",
  journal =      j-CACM,
  volume =       "21",
  number =       "3",
  pages =        "232--236",
  month =        mar,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A50",
  MRnumber =     "57 14659",
  mrreviewer =   "Johnson M. Hart",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Five types of anomalous behavior which may occur in paged virtual memory operating systems are defined. One type of anomaly, for example, concerns the fact that, with certain reference strings and paging algorithms, an increase in mean memory allocation may result in an increase in fault rate. Two paging algorithms, the page fault frequency and working set algorithms, are examined in terms of their anomaly potential, and reference string examples of various anomalies are presented. Two paging algorithm properties, the inclusion property and the generalized inclusion property, are discussed and the anomaly implications of these properties presented.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C6150J (Operating systems)",
  classification = "723",
  corpsource =   "Washington Univ., St. Louis, MO, USA",
  journalabr =   "Commun ACM",
  keywords =     "anomalous behaviour; computer operating systems; computer programming --- Subroutines; operating systems (computers); page fault frequency; variable partition paging algorithms; virtual memory operating systems; virtual storage; working set algorithms",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Tanenbaum:1978:ISP,
  author =       "Andrew S. Tanenbaum",
  title =        "Implications of Structured Programming for Machine Architecture",
  journal =      j-CACM,
  volume =       "21",
  number =       "3",
  pages =        "237--246",
  month =        mar,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/risc.bib",
  abstract =     "Based on an empirical study of more than 10,000 lines of program text written in a GOTO-less language, a machine architecture specifically designed for structured programs is proposed. Since assignment, CALL, RETURN, and IF statements together account for 93 percent of all executable statements, special care is given to ensure that these statements can be implemented efficiently. A highly compact instruction encoding scheme is presented, which can reduce program size by a factor of 3. Unlike a Huffman code, which utilizes variable length fields, this method uses only fixed length (1-byte) op code and address fields. The most frequent instructions consist of a single 1-byte field. As a consequence, instruction decoding time is minimized, and the machine is efficient with respect to both space and time.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5220 (Computer architecture); C6110 (Systems analysis and programming)",
  classification = "723",
  corpsource =   "Vrije Univ., Amsterdam, Netherlands",
  journalabr =   "Commun ACM",
  keywords =     "computer architecture; computer operating systems; computer organization; instruction set design; machine architecture; MIPS RISC reduced restricted instruction set computer architecture pipelining microcoding; program characteristics; structured programming",
  treatment =    "P Practical",
}

@Article{Payne:1978:OEN,
  author =       "W. H. Payne and K. L. McMillen",
  title =        "Orderly Enumeration of Nonsingular Binary Matrices Applied to Text Encryption",
  journal =      j-CACM,
  volume =       "21",
  number =       "4",
  pages =        "259--263",
  month =        apr,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68C05",
  MRnumber =     "80h:68031",
  mrreviewer =   "P. E. O'Neil",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Nonsingular binary matrices of order N, i.e., nonsingular over the field left brace 0,1 right brace, and an initial segment of the natural numbers are placed in one-to-one correspondence. Each natural number corresponds to two intermediate vectors. These vectors are mapped into a nonsingular binary matrix. Examples of complete enumeration of all 2 multiplied by 2 and 3 multiplied by 3 nonsingular binary matrices were produced by mapping the intermediate vectors to the matrices. The mapping has application to the Vernam encipherment method using pseudorandom number sequences. A bit string formed from bytes of text of a data encryption key can be used as a representation of a natural number. This natural number is transformed to a nonsingular binary matrix. Key leverage is obtained by using the matrix as a ``seed'' in a shift register sequence pseudorandom number generator.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4140 (Linear algebra); C6130 (Data handling techniques)",
  classification = "723",
  corpsource =   "Washington State Univ., Pullman, WA, USA",
  journalabr =   "Commun ACM",
  keywords =     "binary sequences; bit string; computer programming; data encryption key; encoding; enumeration; mapped; matrix algebra; natural number; nonsingular binary matrices; pseudorandom number; sequences; text editing; text encryption; Vernam encipherment method",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Heckel:1978:TID,
  author =       "Paul Heckel",
  title =        "A Technique for Isolating Differences Between Files",
  journal =      j-CACM,
  volume =       "21",
  number =       "4",
  pages =        "264--268",
  month =        apr,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/scm.bib",
  abstract =     "A simple algorithm is described for isolating the differences between two files. One application is the comparing of two versions of a source program or other file in order to display all differences. The algorithm isolates differences in a way that corresponds closely to our intuitive notion of difference, is easy to implement, and is computationally efficient, with time linear in the file length. For most applications the algorithm isolates differences similar to those isolated by the longest common subsequence. Another application of this algorithm merges files containing independently generated changes into a single file. The algorithm can also be used to generate efficient encodings of a file in the form of the differences between itself and a given ``datum'' file, permitting reconstruction of the original file from the difference and datum files.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723",
  corpsource =   "Interactive Systems Consultants, Palo Alto, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer programming; delta storage; encodings; file organisation; files; independently generated changes; isolating differences; longest common; merges; source program; subsequence; text editing",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Lew:1978:OCE,
  author =       "Art Lew",
  title =        "Optimal Conversion of Extended-Entry Decision Tables with General Cost Criteria",
  journal =      j-CACM,
  volume =       "21",
  number =       "4",
  pages =        "269--279",
  month =        apr,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68C05 (49C20)",
  MRnumber =     "80a:68032",
  mrreviewer =   "C. L. Liu",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A general dynamic programming algorithm for converting limited extended, or mixed entry decision tables to optimal decision trees is presented which can take into account rule frequencies or probabilities, minimum time and\slash or space cost criteria, common action sets, compressed rules and ELSE rules, sequencing constraints on condition tests, excludable combinations of conditions, certain ambiguities, and interrupted rule masking.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming)",
  classification = "723",
  corpsource =   "Univ. of Hawaii, Honolulu, HI, USA",
  journalabr =   "Commun ACM",
  keywords =     "common action sets; compressed; computer programming; condition tests; conversion; decision tables; ELSE rules; entry decision tables; extended entry decision tables; frequencies; general cost criteria; interrupted rule masking; minimum time; mixed; optimal decision trees; rule; rules; sequencing constraints",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Baker:1978:LPR,
  author =       "Henry G. {Baker, Jr.}",
  title =        "List Processing in Real Time on a Serial Computer",
  journal =      j-CACM,
  volume =       "21",
  number =       "4",
  pages =        "280--294",
  month =        apr,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/semantics.bib",
  note =         "Originally appeared as MIT Artificial Intelligence Laboratory Working Paper No. 39, February 1977",
  abstract =     "A real-time list processing system is one in which the time required by the elementary list operations (e.g. CONS CAR, CDR, RPLACA, RPLACD, EQ, and ATOM in LISP) is bounded by a (small) constant. Classical implementations of list processing systems lack this property because allocating a list cell from the heap may cause a garbage collection, which process requires time proportional to the heap size to finish. A real-time list processing system is presented which continuously reclaims garbage, including directed cycles, while linearizing and compacting the accessible cells into contiguous locations to avoid fragmenting the free storage pool.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C6130 (Data handling techniques)",
  classification = "723",
  corpsource =   "MIT, Cambridge, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "collection; computer programming; data processing; garbage; list processing; list processing system; real time; serial computer; storage management",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Merkle:1978:SCI,
  author =       "Ralph C. Merkle",
  title =        "Secure Communications Over Insecure Channels",
  journal =      j-CACM,
  volume =       "21",
  number =       "4",
  pages =        "294--299",
  month =        apr,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "According to traditional conceptions of cryptographic security, it is necessary to transmit a key, by secret means, before encrypted messages can be sent securely. This paper shows that it is possible to select a key over open communications channels in such a fashion that communications security can be maintained. A method is described which forces any enemy to expend an amount of work which increases as the square of the work required of the two communicants to select the key. The method provides a logically new kind of protection against the passive eaves dropper. It suggests that further research on this topic will be highly rewarding, both in a theoretical and a practical sense.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5600 (Data communication equipment and techniques); C6130 (Data handling techniques)",
  classification = "723",
  corpsource =   "Dept. of Electrical Engng. and Computer Sci., Univ. of California, Berkeley, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "communications channels; communications security; computer network security; cryptographic security; cryptography; cryptology; data communication systems; data processing; insecure channels; key distribution; open; passive eavesdropper; passive eavesdropping; protection; public key cryptosystem; Security; security of data; wiretap",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Szymanski:1978:ACM,
  author =       "Thomas G. Szymanski",
  title =        "Assembling Code for machines with Span-Dependent Instructions",
  journal =      j-CACM,
  volume =       "21",
  number =       "4",
  pages =        "300--308",
  month =        apr,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68B05 (68C05)",
  MRnumber =     "82g:68015",
  mrreviewer =   "R. K. Shyamasundar",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Compiler/Compiler.Lins.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory); C6150C (Compilers, interpreters and other processors)",
  corpsource =   "Princeton Univ., Princeton, NJ, USA",
  keywords =     "code assembling; computational complexity; instructions; lengths of programs; program assemblers; programming; span dependent; theory",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Vuillemin:1978:DSM,
  author =       "Jean Vuillemin",
  title =        "A Data Structure for Manipulating Priority Queues",
  journal =      j-CACM,
  volume =       "21",
  number =       "4",
  pages =        "309--315",
  month =        apr,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A10",
  MRnumber =     "57 18215",
  mrreviewer =   "Bernard H. Rosman",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A data structure is described which can be used for representing a collection of priority queues. The primitive operations are insertion, deletion, union, update, and search for an item of earliest priority.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723",
  corpsource =   "Univ. de Paris-Sud, Orsay, France",
  journalabr =   "Commun ACM",
  keywords =     "computer programming; data structure; data structures; deletion; earliest priority; insertion; manipulating priority queues; operations; primitive; search; union; update",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Even:1978:EEC,
  author =       "S. Even and M. Rodeh",
  title =        "Economical Encoding of Commas Between Strings",
  journal =      j-CACM,
  volume =       "21",
  number =       "4",
  pages =        "315--317",
  month =        apr,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A10",
  MRnumber =     "58 3648",
  mrreviewer =   "John Cherniavsky",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  corpsource =   "Israel Inst. of Technol., Haifa, Israel",
  keywords =     "commas; data handling; delimiters; encoding; extra cost; strings",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Cheng:1978:GBV,
  author =       "R. C. H. Cheng",
  title =        "Generating beta variates with nonintegral shape parameters",
  journal =      j-CACM,
  volume =       "21",
  number =       "4",
  pages =        "317--322",
  month =        apr,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65C10",
  MRnumber =     "58 13609",
  mrreviewer =   "George Marsaglia",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C7310 (Mathematics computing)",
  corpsource =   "Univ. of Wales Inst. of Sci. and Technol., Cardiff, UK",
  country =      "USA",
  descriptors =  "RVG;",
  enum =         "7128",
  keywords =     "beta variates; computer timings; generating; method; nonintegral shape parameters; random number generation; random numbers; rejection; simplicity; speed; statistics",
  language =     "English",
  location =     "SEL: Wi",
  references =   "0",
  revision =     "16/01/94",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Clark:1978:FAC,
  author =       "Douglas W. Clark",
  title =        "A Fast Algorithm for Copying List Structures",
  journal =      j-CACM,
  volume =       "21",
  number =       "5",
  pages =        "351--357",
  month =        may,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/garbage.collection.bib",
  abstract =     "An algorithm is presented for copying an arbitrarily linked list structure into a block of contiguous storage locations without destroying the original list. Apart from a fixed number of program variables, no auxiliary storage, such as a stack, is used. The algorithm needs no mark bits and operates in linear time. It is shown to be significantly faster than Fisher's algorithm, the fastest previous linear-time algorithm for the same problem. Its speed comes mainly from its efficient list-traversal technique, which folds the processing stack into the structure being built, and from its classification of list cells into nine types, which enables processing operations to be optimized for each type.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  classification = "723",
  corpsource =   "Xerox Palo Alto Res. Center, Palo Alto, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "arbitrarily linked; classification; computer programming; contiguous storage locations; copying; fast algorithm; linear time; list processing; list structure; list structures; list traversal technique",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Jones:1978:LEE,
  author =       "Anita K. Jones and Barbara H. Liskov",
  title =        "A Language Extension for Expressing Constraints on Data Access",
  journal =      j-CACM,
  volume =       "21",
  number =       "5",
  pages =        "358--367",
  month =        may,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Theory/obscure.bib",
  abstract =     "Controlled sharing of information is needed and desirable for many applications and is supported in operating systems by access control mechanisms. This work shows how to extend programming languages to provide controlled sharing. The extension permits expression of access constraints on shared data. Access constraints can apply both to simple objects, and to objects that are components of larger objects, such as bank account records in a bank's data base. The approach can be used to extend any strongly-typed language, but is particularly suitable for extending languages that support the notion of abstract data types.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C6140D (High level languages)",
  classification = "723",
  corpsource =   "Carnegie-Mellon Univ., Pittsburg, PA, USA",
  journalabr =   "Commun ACM",
  keywords =     "abstract data types; access control; computer programming languages; constraints; data access; data structures; language extension; mechanisms; programming languages",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Geller:1978:TDA,
  author =       "Matthew Geller",
  title =        "Test Data as an Aid in Proving Program Correctness",
  journal =      j-CACM,
  volume =       "21",
  number =       "5",
  pages =        "368--375",
  month =        may,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A05",
  MRnumber =     "57 14575",
  mrreviewer =   "Luigia Aiello",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Proofs of program correctness tend to be long and tedious, whereas testing, though useful in detecting errors, usually does not guarantee correctness. A technique is introduced whereby test data can be used in proving program correctness. In addition to simplifying the process of proving correctness, this method simplifies the process of providing accurate specification for a program. The applicability of this technique to procedures and recursive programs is demonstrated.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory); C6150G (Diagnostic, testing, debugging and evaluating systems)",
  classification = "723",
  corpsource =   "Univ. of Michigan, Ann Arbor, MI, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer programming; procedures; program testing; programming theory; proving program correctness; recursive programs; specification; test data",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Low:1978:ADS,
  author =       "James R. Low",
  title =        "Automatic Data Structure Selection: an Example and Overview",
  journal =      j-CACM,
  volume =       "21",
  number =       "5",
  pages =        "376--385",
  month =        may,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Theory/obscure.bib",
  abstract =     "In the past, programming systems have provided only a single general purpose implementation for an abstract type. Thus the programs produced using abstract types were often inefficient in space or time. A system for automatically choosing efficient implementations for abstract types from a library of implementations for abstract types from a library of implementations is discussed. This process is discussed in detail for an example program. General issues in data structure selection are also reviewed.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming); C6120 (File organisation); C6150C (Compilers, interpreters and other processors)",
  classification = "723",
  corpsource =   "Univ. of Rochester, Rochester, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "abstract data types; automatic programming; automatically; computer programming; data processing --- Data Structures; data structure selection; data structures; lists; program compilers; programs; sets",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Karr:1978:IUP,
  author =       "Michael Karr and David B. {Loveman III}",
  title =        "Incorporation of Units into Programming Languages",
  journal =      j-CACM,
  volume =       "21",
  number =       "5",
  pages =        "385--391",
  month =        may,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/database.bib",
  abstract =     "The issues of how a programming language might aid in keeping track of physical units (feet, sec, etc. ) are discussed. A method is given for the introduction of relationships among units (a watt is volts *amps, a yard is three feet) and subsequent automatic conversion based upon these relationships. Various proposals for syntax are considered.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming); C6140D (High level languages); C6150C (Compilers, interpreters and other processors)",
  classification = "723",
  corpsource =   "Massachusetts Computer Associates Inc., Wakesfield, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "(measurement); automatic conversion; computer programming languages; physical units; program compilers; programming language; programming languages; relationships among; syntax; units",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Hanson:1978:SPM,
  author =       "David R. Hanson and Ralph E. Griswold",
  title =        "The {SL5} procedure mechanism",
  journal =      j-CACM,
  volume =       "21",
  number =       "5",
  pages =        "392--400",
  month =        may,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Description of an integrated procedure mechanism that permits procedures to be used as recursive functions or as coroutines. This integration is accomplished by treating procedures and their activation records (called environments) as data objects and by decomposing procedure invocation into three separate components at the source-language level. In addition, argument binding is under the control of the programmer, permitting the definition of various methods of argument transmission in the source language itself. The resulting procedure mechanism, which is part of the SL5 programming language, is well suited to goal-oriented problems and to other problems that are more readily programmed by using coroutines. Several examples are given.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140D (High level languages); C6150C (Compilers, interpreters and other processors)",
  classification = "723",
  corpsource =   "Yale Univ., New Haven, CT, USA",
  journalabr =   "Commun ACM",
  keywords =     "activation records; argument binding; argument transmission; computer programming languages; coroutines; procedure invocation; procedure mechanism; program interpreters; programming languages; recursive functions; SL5",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Hayes-Roth:1978:IMT,
  author =       "Frederick Hayes-Roth and John McDermott",
  title =        "An Interference Matching Technique for Inducing Abstractions",
  journal =      j-CACM,
  volume =       "21",
  number =       "5",
  pages =        "401--411",
  month =        may,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Ai/colt.bib",
  abstract =     "A method for inducing knowledge by abstraction from a sequence of training examples is described. \par The proposed method, interference matching, induces abstractions by finding relational properties common to two or more exemplars. Three tasks solved by a program that uses an interference-matching algorithm are presented. Several problems concerning the description of the training examples and the adequacy of interference matching are discussed, and directions for future research are considered.",
  acknowledgement = ack-nhfb,
  classcodes =   "C1230 (Artificial intelligence); C6140D (High level languages)",
  classification = "723",
  corpsource =   "Rand Corp., Santa Monica, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "abstraction; abstractions; artificial intelligence; complexity; computer metatheory --- Programming Theory; computer programming; generalization; graph matching; inducing knowledge; induction; informal retrieval; interference; interference matching; knowledge acquisition; knowledge representation; language learning; learning; partial matching; predicate discovery.; programming languages; relational properties; Rule induction; SPROUTER; training examples",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Fleisher:1978:NSO,
  author =       "J. M. Fleisher and R. R. Meyer",
  title =        "New Sufficient Optimality Conditions for Integer Programming and Their Application",
  journal =      j-CACM,
  volume =       "21",
  number =       "5",
  pages =        "411--418",
  month =        may,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "90C10",
  MRnumber =     "58 15137",
  mrreviewer =   "F. Giannessi",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Report on a new class of sufficient optimality conditions for pure and mixed integer programming problems. Some of the sets of sufficient conditions presented can be thought of as generalizations of optimality conditions based on primal-dual complementarity in linear programming. These sufficient conditions are particularly useful for the construction of difficult integer programming problems with known optimal solutions. These problems may then be used to test and\slash or ``benchmark'' integer programming codes.",
  acknowledgement = ack-nhfb,
  classcodes =   "C1180 (Optimisation techniques); C1290 (Applications of systems theory)",
  classification = "723; 921",
  corpsource =   "Univ. of Wisconsin, Madison, WI, USA",
  journalabr =   "Commun ACM",
  keywords =     "integer programming; mathematical programming; sufficient optimality conditions",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Tadikamalla:1978:CGG,
  author =       "Pandu R. Tadikamalla",
  title =        "Computer Generation of Gamma Random Variables",
  journal =      j-CACM,
  volume =       "21",
  number =       "5",
  pages =        "419--422",
  month =        may,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "65C10",
  MRnumber =     "58 13614",
  mrreviewer =   "George Marsaglia",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1978.bib",
  abstract =     "A new method for generating random variables from the gamma distribution with nonintegral shape parameter alpha is proposed. This method is similar to two other methods recently given by N. D. Wallace and G. S. Fishman. It is compared with Fishman's and J. H. Ahrens and U. Dieter's methods. The core storage requirements and programming effort for this method are similar to those of Fishman's method. The proposed method is the same as Fishman's method for 1 less than equivalent to alpha less than 2 and is faster than Fishman's method for 3 less than equivalent to alpha less than equivalent to 19. Also, the proposed method is much simpler than Ahrens and Dieter's method and is faster for alpha less than equivalent to 8.",
  acknowledgement = ack-nhfb,
  classcodes =   "C1140 (Probability and statistics); C7310 (Mathematics computing)",
  classification = "723; 922",
  corpsource =   "Eastern Kentucky Univ., Richmond, KY, USA",
  country =      "USA",
  date =         "13/05/93",
  descriptors =  "RVG;",
  enum =         "7943",
  journalabr =   "Commun ACM",
  keywords =     "computer programming; mathematical statistics --- Random Number Generation",
  keywords =     "core; gamma distribution; gamma random variables; generating; programming effort; statistics; storage requirements",
  language =     "English",
  references =   "0",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Sites:1978:OSS,
  author =       "Richard L. Sites",
  title =        "Optimal Shift Strategy for a Block-Transfer {CCD} Memory",
  journal =      j-CACM,
  volume =       "21",
  number =       "5",
  pages =        "423--425",
  month =        may,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "It is shown that the optimal shift strategy for an electronic paging drum with variable but bounded rotation speed is to shift as quickly as possible over most of a cycle, then to shift as slowly as possible over the rest, where the fraction of a cycle to be covered slowly is a function of the square root of the ratio between the maximum and minimum rotation speeds. For a ratio of 100:1, 10\slash 11 of a full cycle should be covered quickly and 1/11 should be covered slowly. As device manufacturers increase this ratio, the average latency for a block transfer will slowly decrease. Increasing the raw shift speed will of course directly reduce both the latency time and the block transfer time.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "722",
  corpsource =   "Univ. of California, San Diego, La Jolla, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "best shift strategy; block transfer CCD memory; charge-coupled device circuits; computer operating systems; critical boundary; hurry up and wait; optimal; paging drum; serial shift registers; storage allocation; strategy",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Zweben:1978:OMD,
  author =       "S. H. Zweben and M. A. McDonald",
  title =        "An Optimal Method for Deletion in One-Sided Height-Balanced Trees",
  journal =      j-CACM,
  volume =       "21",
  number =       "6",
  pages =        "441--445",
  month =        jun,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68E10 (68B05 68C25)",
  MRnumber =     "80k:68054",
  mrreviewer =   "A. T. Amin",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A one-sided height-balanced tree is a binary tree in which every mode's right subtree has a height which is equal to or exactly one greater than the height of its left subtree. It has an advantage over the more general AVL tree in that only one bit of balancing information is required (two bits are required for the AVL tree). It is shown that deletion of an arbitrary node of such a tree can be accomplished in O(log n) operations, where n is the number of nodes in the tree. Moreover the method is optimal in the sense that its complexity cannot be reduced in order of magnitude. This result, coupled with earlier results by D. S. Hirschberg, indicates that, of the three basic problems of insertion, deletion, and retrieval, only insertion is adversely affected by this modification of an AVL tree.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory); C6120 (File organisation)",
  classification = "723",
  corpsource =   "Ohio State Univ., Columbus, OH, USA",
  journalabr =   "Commun ACM",
  keywords =     "arbitrary node; binary tree; computer programming; data structures; deletion; one; optimal method; programming theory; sided height balanced trees; trees (mathematics)",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Driscoll:1978:STA,
  author =       "James R. Driscoll and Y. Edmund Lien",
  title =        "A Selective Traversal Algorithm for Binary Search Trees",
  journal =      j-CACM,
  volume =       "21",
  number =       "6",
  pages =        "445--447",
  month =        jun,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The problem of selecting data items from a binary search tree according to a list of range conditions is considered. The process of visiting a minimal number of nodes to retrieve data satisfying the range conditions is called selective traversal. Presented in this paper is an algorithm for selective traversal which uses a tag field for each node in the tree. The algorithm is particularly useful and efficient when examination of data is more time consuming than examination of a tag field.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory); C6120 (File organisation)",
  classification = "723",
  corpsource =   "Florida Technol. Univ., Orlando, FL, USA",
  journalabr =   "Commun ACM",
  keywords =     "binary search tree; binary search trees; computer programming; Data retrieval; data structures; programming theory; range conditions; retrieve; selective traversal; selective traversal algorithm; tag field; tree traversal; trees (mathematics)",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Cohen:1978:ADP,
  author =       "Jacques Cohen and Martin S. Roth",
  title =        "Analyses of Deterministic Parsing Algorithms",
  journal =      j-CACM,
  volume =       "21",
  number =       "6",
  pages =        "448--458",
  month =        jun,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A20",
  MRnumber =     "58 13920",
  mrreviewer =   "David B. Benson",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "An approach is presented for determining the minimum, maximum, and average times to parse sentences acceptable by a deterministic parser. These quantities are presented in the form of symbolic formulas, called time-formulas. The variables in these formulas represent not only the length of the input string but also the time to perform elementary operations such as pushing, popping, subscripting, iterating, etc. By binding to the variables actual numerical values corresponding to a given compiler-machine configuration, one can determine the execution time for that configuration. Time-formulas are derived by examining the grammar rules and the program representing the algorithm one wishes to analyze. The approach is described by using a specific grammar that defines simple arithmetic expressions.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic); C4240 (Programming and algorithm theory)",
  classification = "723",
  corpsource =   "Brandeis Univ., Waltham, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "algorithm theory; average times; benchmarks; bottom up SLR(1) parser; computer programming languages; deterministic parsing algorithms; estimates; grammars; maximum time; minimum time; PDP 10; recursive descent LL(1) parser; relative efficiencies; top down",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Mickunas:1978:AER,
  author =       "M. Dennis Mickunas and John A. Modry",
  title =        "Automatic Error Recovery for {LR} Parsers",
  journal =      j-CACM,
  volume =       "21",
  number =       "6",
  pages =        "459--465",
  month =        jun,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A scheme is given for detecting and recovering from syntax errors in programs. The scheme, which is based on LR parsing, is driven by information which is directly and automatically obtainable from the information that is already present in an LR parser. The approach, which is patterned after that of Levy and Graham and Rhodes, appears to provide error recovery which is both simple and powerful.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150G (Diagnostic, testing, debugging and evaluating systems)",
  classification = "723",
  corpsource =   "Univ. of Illinois, Urbana-Champaign, IL, USA",
  journalabr =   "Commun ACM",
  keywords =     "automatically; compilers; computer programming languages; detecting; error correction; error recovery; fault tolerant computing; LR parsers; program; syntax errors; system recovery",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Lientz:1978:CAS,
  author =       "B. P. Lientz and E. B. Swanson and G. E. Tompkins",
  title =        "Characteristics of Application Software Maintenance",
  journal =      j-CACM,
  volume =       "21",
  number =       "6",
  pages =        "466--471",
  month =        jun,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Maintenance and enhancement of application software consume a major portion of the total life cycle cost of a system. Rough estimates of the total systems and programming resources consumed range as high as 75-80 percent in each category. However, the area has been given little attention in the literature. To analyze the problems in this area a questionnaire was developed and pretested. It was then submitted to 120 organizations. Respondents totaled 69. Responses were analyzed with the SPSS statistical package. The results of the analysis are examined in detail.",
  acknowledgement = ack-nhfb,
  classcodes =   "C0310 (EDP management); C6110 (Systems analysis and programming)",
  classification = "723",
  corpsource =   "Univ. of California, Los Angeles, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "application software maintenance; characteristics; computer programming; DP management; enhancement; extension; management; programming; resources; systems; user demands",
  treatment =    "G General Review",
}

@Article{Chrysler:1978:SBD,
  author =       "Earl Chrysler",
  title =        "Some Basic Determinants of Computer Programming Productivity",
  journal =      j-CACM,
  volume =       "21",
  number =       "6",
  pages =        "472--483",
  month =        jun,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Examination of the relationship between processing characteristics of programs and experience characteristics of programmers and program development time. The ultimate objective was to develop a technique for predicting the amount of time necessary to create a computer program. The fifteen program characteristics hypothesized as being associated with an increase in programming time required are objectively measurable from preprogramming specifications. The five programmer characteristics are experience-related and are also measurable before a programming task is begun. Nine program characteristics emerged as major influences on program development time, each associated with increased program development time. All five programmer characteristics are found to be related to reduced program development time.",
  acknowledgement = ack-nhfb,
  classcodes =   "C0310 (EDP management); C6110 (Systems analysis and programming)",
  classification = "723",
  corpsource =   "Univ. of Wisconsin, Parkside, WI, USA",
  journalabr =   "Commun ACM",
  keywords =     "characteristics; computer programming; computer programming productivity; determinants; DP management; forecasting; predicting; program development time; programmers; programming",
  treatment =    "P Practical",
}

@Article{Kling:1978:AWC,
  author =       "Rob Kling",
  title =        "Automated Welfare Client-Tracking and Service Integration: the Political Economy of Computing",
  journal =      j-CACM,
  volume =       "21",
  number =       "6",
  pages =        "484--493",
  month =        jun,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The impact of an automated client-tracking system on the clients, caseworkers, administrators, and operations of the welfare agencies that use it are reported. The major impact of this system was to enhance the administrative attractiveness of the using agencies in the eyes of funders rather than to increase their internal administrative efficiency. This impact is a joint product of both the technical features of the computer-based system and of the organizational demands placed upon different agencies, administrators, and caseworkers. It illustrates the way ``successful'' automated information systems fit the political economies of the groups that use them.",
  acknowledgement = ack-nhfb,
  classcodes =   "C0230 (Economic, social and political aspects of computing); C7130 (Public administration)",
  classification = "723",
  corpsource =   "Univ. of California, Irvine, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "administrative attractiveness; client; computing; data processing; government data processing; impact; political economies; service integration; social aspects of automation; social impact; tracking; welfare agencies",
  treatment =    "G General Review",
}

@Article{Gelenbe:1978:PRR,
  author =       "E. Gelenbe and D. Derochette",
  title =        "Performance of Rollback Recovery Systems Under Intermittent Failures",
  journal =      j-CACM,
  volume =       "21",
  number =       "6",
  pages =        "493--499",
  month =        jun,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68H05",
  MRnumber =     "80a:68113",
  mrreviewer =   "Menachem Dishon",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A mathematical model of a transaction-oriented system under intermittent failures is proposed. The system is assumed to operate with a checkpointing and rollback\slash recovery method to ensure reliable information processing. The model is used to derive the principal performance measures, including availability, response time, and the system saturation point.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150J (Operating systems)",
  classification = "723",
  corpsource =   "Univ. Paris-Sud, Orsay, France",
  journalabr =   "Commun ACM",
  keywords =     "availability; checkpointing; computer operating systems; data base systems; intermittent failures; mathematical model; performance measures; response time; rollback recovery systems; system recovery; system saturation point",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Teorey:1978:GEI,
  author =       "Toby J. Teorey",
  title =        "General Equations for Idealized {CPU-I/O} Overlap Configurations",
  journal =      j-CACM,
  volume =       "21",
  number =       "6",
  pages =        "500--507",
  month =        jun,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A05",
  MRnumber =     "58 3643",
  mrreviewer =   "A. D. Booth",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "General equations are derived for estimating the maximum possible utilization of main storage partitions, CPU and I/O devices under different conditions in an idealized CPU-I/O overlap model of multiprogrammed computer systems. The equations are directly applicable to any configuration consisting of sets of identical CPU's, I/O processors, main storage partitions and user tasks. Examples are provided to illustrate the use of the equations to compute effective processing time per record and expected timesharing response time under both balanced and unbalanced resource utilization conditions.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150J (Operating systems)",
  classification = "723",
  corpsource =   "Univ. of Michigan, Ann Arbor, MI, USA",
  journalabr =   "Commun ACM",
  keywords =     "balanced; computer systems programming; CPU; devices; expected timesharing response time; I/O; input-output programs; main storage partitions; multiprogrammed computer systems; multiprogramming; overlap configurations; per record; processing time; storage allocation; time-sharing systems; unbalanced",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Waltz:1978:ELQ,
  author =       "David L. Waltz",
  title =        "An {English} Language Query Answering System for a Large Relational Data Base",
  journal =      j-CACM,
  volume =       "21",
  number =       "7",
  pages =        "526--539",
  month =        jul,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "By typing requests in English, casual users will be able to obtain explicit answers from a large relational database of aircraft flight and maintenance data using a system called PLANES. The design and implementation of this system is described and illustrated with detailed examples of the operation of system components and examples of overall system operation. Also included are discussions of important issues in programming natural language systems for limited domains, and the relationship of this system to others.",
  acknowledgement = ack-nhfb,
  annote =       "the PLANES system.",
  classcodes =   "C6120 (File organisation); C7250 (Information storage and retrieval); C7460 (Aerospace engineering computing)",
  classification = "723",
  corpsource =   "Univ. of Illinois, Urbana-Champaign, IL, USA",
  journalabr =   "Commun ACM",
  keywords =     "aerospace computing; aircraft; data base systems; database management systems; English language; flight; information retrieval; large; maintenance; PLANES; question answering system; relational database",
  treatment =    "A Application; T Theoretical or Mathematical",
  xxtitle =      "An {English} language question answering system for a large relational database",
}

@Article{Fredman:1978:CCM,
  author =       "Michael L. Fredman and Bruce Weide",
  title =        "On the complexity of computing the measure of {$\bigcup[a_i,b_i]$}",
  journal =      j-CACM,
  volume =       "21",
  number =       "7",
  pages =        "540--544",
  month =        jul,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A20",
  MRnumber =     "58 13924",
  mrreviewer =   "Jan van Leeuwen",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/siggraph/78.bib",
  abstract =     "The decision tree complexity of computing the measure of the union of $n$ (possibly overlapping) intervals is shown to be $\Omega(n \log n)$, even if comparisons between linear functions of the interval endpoints are allowed. The existence of an $\Omega (n \log n)$ lower bound to determine whether any two of $n$ real numbers are within $\epsilon$ of each other is also demonstrated. These problems provide an excellent opportunity for discussing the effects of the computational model on the ease of analysis and on the results produced.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory)",
  classification = "723",
  corpsource =   "Univ. of California, San Diego, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "algorithm theory; computational complexity; computational model; computer metatheory; computer programming; computing; decision tree complexity; intervals; measure; union",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Chin:1978:ADN,
  author =       "Francis Y. Chin",
  title =        "An ${O}(n)$ Algorithm for Determining a Near-Optimal Computation Order of Matrix Chain Products",
  journal =      j-CACM,
  volume =       "21",
  number =       "7",
  pages =        "544--549",
  month =        jul,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68C25 (65F05)",
  MRnumber =     "80a:68037",
  mrreviewer =   "Ondrej S{\'y}kora",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Discussion of the computation of matrix chain products of the form M//1 multiplied by M//2 multiplied by\ldots{} multiplied by M//n where M//i's are matrices. The order in which the matrices are computed affects the number of operations. A sufficient condition about the association of the matrices in the optimal order is presented. An O(n) algorithm to find an order of computation which takes less than 25 percent longer than the optimal time T(opt) is also presented. In most cases, the algorithm yields the optimal order or an order which takes only a few percent longer than T(opt) (less than 1 percent on the average).",
  acknowledgement = ack-nhfb,
  classcodes =   "C4140 (Linear algebra)",
  classification = "723",
  corpsource =   "Univ. of Alberta, Edmonton, Alta., Canada",
  journalabr =   "Commun ACM",
  keywords =     "algorithm; computation order; computer programming; matrix algebra; matrix chain products; optimal order",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Perl:1978:ISL,
  author =       "Yehoshua Perl and Alon Itai and Haim Avni",
  title =        "Interpolation Search --- {A} Log Log {N} Search",
  journal =      j-CACM,
  volume =       "21",
  number =       "7",
  pages =        "550--553",
  month =        jul,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A50",
  MRnumber =     "58 8582",
  mrreviewer =   "Amitava Bagchi",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Interpolation search is a method of retrieving a desired record by key in an ordered file by using the value of the key and the statistical distribution of the keys. It is shown that on the average log log N file accesses are required to retrieve a key, assuming that the N keys are uniformly distributed. The number of extra accesses is also estimated and shown to be very low. The same holds if the cumulative distribution function of the keys is known. Computational experiments confirm these results.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723",
  corpsource =   "Bar-Ilan Univ., Ramat-Gan, Israel",
  journalabr =   "Commun ACM",
  keywords =     "Average number of accesses; binary search; computer programming; database; file organisation; interpolation search; key; log; logN file accesses; ordered file; retrieval; retrieve; searching; statistical distribution of the keys; uniform distribution",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Halatsis:1978:PHT,
  author =       "Constantine Halatsis and George Philokyprou",
  title =        "Pseudochaining in Hash Tables",
  journal =      j-CACM,
  volume =       "21",
  number =       "7",
  pages =        "554--557",
  month =        jul,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A50",
  MRnumber =     "58 3784",
  mrreviewer =   "Eberhard Ludde",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Presentation of pseudochaining as a new collision-resolution method. Pseudochaining is half way between open addressing and chaining. It owes its name to the fact that link fields are present in each cell of the hash table which permits ``chaining'' of the first overflow items in the table. The efficiency of the method is derived and a tradeoff analysis is given.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723",
  corpsource =   "NRC 'Demokritos', Athens, Greece",
  journalabr =   "Commun ACM",
  keywords =     "collision resolution method; computer programming; efficiency; file organisation; hash tables; pseudochaining; tradeoff analysis",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Lamport:1978:TCO,
  author =       "Leslie Lamport",
  title =        "Time, Clocks, and the Ordering of Events in a Distributed System",
  journal =      j-CACM,
  volume =       "21",
  number =       "7",
  pages =        "558--565",
  month =        jul,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Parallel/par.misc.bib",
  abstract =     "The concept of one event happening before another in a distributed system is examined, and is shown to define a partial ordering of the events. A distributed algorithm is given for synchronizing a system of logical clocks which can be used to totally order the events. The use of the total ordering is illustrated with a method for solving synchronization problems. The algorithm is then specialized for synchronizing physical clocks, and a bound is derived on how far out of synchrony the clocks can become.",
  acknowledgement = ack-nhfb,
  annote =       "Classic paper on logical clocks. A classic paper on synchronization. Reproduced in ``Distributed Computing: Concepts and Implementations'' edited by McEntire, O'Reilly and Larson, IEEE, 1984. The concept of one event happening before another in a distributed system is examined, and is shown to define a partial ordering of the events. A distributed algorithm is given for synchronising a system of logical clocks which can be used to totally order the events. The use of the total ordering is illustrated with a method for solving synchronisation problems. The algorithm is then specialised for synchronising physical clocks, and a bound is derived on how far out of synchrony the clocks can become.",
  classcodes =   "C6150J (Operating systems)",
  classification = "723",
  journalabr =   "Commun ACM",
  keywords =     "5.29 distributed processing computer networks multiprocessing programs ordering of events distributed system synchronising total ordering clocks computer networks multiprocessing bsatya enm; clock synchronization; clocks; computer networks; computer operating systems; distributed computer systems; distributed processing; distributed system; distributed systems; dmp; grecommended91 CR categories: 4.32; jw; multiprocess systems; multiprocessing; ordering; ordering of events; programs; synchronising; total",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Baker:1978:SBL,
  author =       "Henry Givens {Baker, Jr.}",
  title =        "Shallow Binding in {Lisp} 1.5",
  journal =      j-CACM,
  volume =       "21",
  number =       "7",
  pages =        "565--569",
  month =        jul,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Ai/lisp.bib",
  abstract =     "Shallow binding is a scheme which allows the value of a variable to be accessed in a bounded amount of computation. An elegant model for shallow binding in Lisp 1.5 is presented in which context-switching is an environment tree transformation called rerooting. Rerooting is completely general and reversible, and is optional in the sense that a Lisp 1.5 interpreter will operate correctly whether or not rerooting is invoked on every context change. Since rerooting leaves assoc left bracket v, a right bracket invariant, for all variables v and all environments a, the programmer can have access to a rerooting primitive, shallow left bracket right bracket, which gives him dynamic control over whether accesses are shallow or deep, and which affects only the speed of execution of a program, not its semantics.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140D (High level languages)",
  classification = "723",
  corpsource =   "MIT, Cambridge, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer programming languages; context switching; environment; LISP; LISP 1.5; rerooting; shallow binding; tree transformation",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Samet:1978:PCH,
  author =       "Hanan Samet",
  title =        "Proving the Correctness of Heuristically Optimized Code",
  journal =      j-CACM,
  volume =       "21",
  number =       "7",
  pages =        "570--582",
  month =        jul,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A system for proving that programs written in a high level language are correctly translated to a low level language is described. A primary use of the system is as a postoptimization step in code generation. The low level language programs need not be generated by a compiler and in fact could be hand coded. Examples of the usefulness of such a system are given. Some interesting results are the ability to handle programs that implement recursion by bypassing the start of the program, and the detection and pinpointing of a wide class of errors in the low level language programs. The examples demonstrate that optimization of the genre of this paper can result in a substantially faster operation and the saving of memory in terms of program and stack sizes.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory); C6150C (Compilers, interpreters and other processors); C6150G (Diagnostic, testing, debugging and evaluating systems)",
  classification = "723",
  corpsource =   "Univ. of Maryland, College Park, MO, USA",
  journalabr =   "Commun ACM",
  keywords =     "code generation; compiler; computer programming languages; correctness proving; heuristically optimised code; high level language; low level language; postoptimisation; program compilers; program testing",
  treatment =    "T Theoretical or Mathematical",
  xxtitle =      "Proving the correctness of heuristically optimised code",
}

@Article{Shostak:1978:ARA,
  author =       "Robert E. Shostak",
  title =        "An Algorithm for Reasoning About Equality",
  journal =      j-CACM,
  volume =       "21",
  number =       "7",
  pages =        "583--585",
  month =        jul,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "02-04 02B10",
  MRnumber =     "58 4976",
  mrreviewer =   "A. Pliuskeviciene",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A simple technique for reasoning about equalities that is fast and complete for ground formulas with function symbols and equality is presented. A proof of correctness is given as well.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory); C6150G (Diagnostic, testing, debugging and evaluating systems)",
  classification = "723",
  corpsource =   "Stanford Res. Inst., Menlo Park, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "algorithm; computer programming; correctness; equality; program testing; reasoning; theorem proving",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Chattergy:1978:AAC,
  author =       "Rahul Chattergy and Udo W. Pooch",
  title =        "Analysis of the Availability of Computer Systems Using Computer-Aided Algebra",
  journal =      j-CACM,
  volume =       "21",
  number =       "7",
  pages =        "586--591",
  month =        jul,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "60K20 (68A15)",
  MRnumber =     "58 3091",
  mrreviewer =   "Ralph L. Disney",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Analytical results, related to the availability of a computer system constructed of unreliable processors, are presented in this paper. These results are obtained by using various computer-aided algebraic manipulation techniques. A major purpose of this paper is to demonstrate that the difficulties of obtaining analytical solutions to Markov processes can be considerably reduced by the application of symbol manipulation programs. Since many physical systems can be modeled by Markov and semi-Markov processes, the potential range of application of these techniques is much wider than the problem of availability analyzed.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4290 (Other computer theory); C5420 (Mainframes and minicomputers)",
  classification = "722; 723",
  corpsource =   "Univ. of Hawaii, Honolulu, HI, USA",
  journalabr =   "Commun ACM",
  keywords =     "algebraic manipulation; availability; computer systems; computer systems, digital; manipulation; Markov processes; real-time systems; reliability; symbol; unreliable processors",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Snyder:1978:BRE,
  author =       "Lawrence Snyder",
  title =        "{B-Trees} Re-examined",
  journal =      j-CACM,
  volume =       "21",
  number =       "7",
  pages =        "594--594",
  month =        jul,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Sat Jan 18 15:40:20 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
}

@Article{Backus:1978:CPB,
  author =       "John Backus",
  title =        "Can Programming Be Liberated From the {von Neumann} Style? {A} Functional Style and its Algebra of Programs",
  journal =      j-CACM,
  volume =       "21",
  number =       "8",
  pages =        "613--641",
  month =        aug,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Parallel/par.misc.bib and ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1978.bib",
  note =         "Reproduced in ``Selected Reprints on Dataflow and Reduction Architectures'' ed. S. S. Thakkar, IEEE, 1987, pp. 215-243.",
  abstract =     "Conventional programming languages are growing ever more enormous, but not stronger. Inherent defects at the most basic level cause them to be both fat and weak: their primitive word-at-a-time style of programming inherited from their common ancestor, the von Neumann computer; their division of programming into a world of expressions and a world of statements; their inability to effectively use powerful combining forms for building new programs from existing ones; and their lack of useful mathematical properties for reasoning about programs. An alternative functional style of programming is founded on the use of combining forms for creating programs. Functional programs deal with structured data, are often nonrepetitive and nonrecursive, are hierarchically constructed, do not name their arguments, and do not require the complex machinery of procedure declarations to become generally applicable. Combining forms can use high level programs to build still higher level ones in a style not possible in conventional languages.",
  acknowledgement = ack-nhfb,
  annote =       "Conventional programming languages are growing ever more enormous, but not stronger. Inherent defects at the most basic level cause them to be both fat and weak: their primitive word-at-a-time style of programming inherited from their common ancestor - the von Neumann computer, their close coupling of semantics to state transitions, their division of programming into a world of expressions and a world of statements, their inability to effectively \ldots{}",
  classcodes =   "C6140 (Programming languages)",
  classification = "723",
  corpsource =   "IMB Res. Lab., San Jose, CA, USA",
  descriptors =  "Programming language; reliability; future outlook; von Neumann computer; applicative computing system;",
  journalabr =   "Commun ACM",
  keywords =     "4.29; 5.20; 5.24; 5.26; algebra of programs; applicative computing systems; combining forms; computer metatheory; conventional languages; CR categories: 4.20; functional style; grecommended91; Key words and phrases: functional programming; metacomposition; models of computing systems; program correctness; program termination; program transformation; programming languages; Rhighnam; structured data; theory ak; Turing award lecture; von Neuman style; von Neumann computers; von Neumann languages",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Kling:1978:VCS,
  author =       "R. Kling",
  title =        "Value conflicts and social choice in electronic funds transfer system developments",
  journal =      j-CACM,
  volume =       "21",
  number =       "8",
  pages =        "642--657",
  month =        aug,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7120 (Financial computing)",
  corpsource =   "Univ. of California, Irvine, CA, USA",
  keywords =     "EFT; EFTS; electronic funds transfer; privacy of transactions; reliability; social choice; system",
  treatment =    "E Economic; G General Review",
}

@Article{Hirschberg:1978:FPS,
  author =       "D. S. Hirschberg",
  title =        "Fast Parallel Sorting Algorithms",
  journal =      j-CACM,
  volume =       "21",
  number =       "8",
  pages =        "657--661",
  month =        aug,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68C25",
  MRnumber =     "80c:68028",
  mrreviewer =   "J. Misra",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/protein.pattern.bib",
  abstract =     "A parallel bucket-sort algorithm is presented that requires time O(log n) and the use of n processors. The algorithm makes use of a technique that requires more space than the product of processors and time. A realistic model is used in which no memory contention is permitted. A procedure is also presented to sort n numbers in time O(k log n) using n**1** plus **1**/**k processors, for k an arbitrary integer. The model of computation for this procedure permits simultaneous fetches from the same memory location.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques); C6150J (Operating systems)",
  classification = "723",
  comment =      "``A parallel bucket--sort algorithm is presented that requires time $O(\log n)$ and the use of $n$ processors. The algorithm makes use of a technique that requires more space than the product of processors and time. A realistic model is used in which no memory contention is permitted. A procedure is also presented to sort $n$ numbers in time $O(k \log n)$ using $n^{1+1/k}$ processors, for $k$ an arbitrary integer. The model of computation for this procedure permits simultaneous fetches from the same memory location.''",
  corpsource =   "Rice Univ., Houston, TX, USA",
  journalabr =   "Commun ACM",
  keywords =     "bucket sort algorithm; computer programming --- Subroutines; computer systems programming; parallel processing; parallel sorting algorithms; sorting",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Morris:1978:TSE,
  author =       "F. Lockwood Morris",
  title =        "A Time- and Space-Efficient Garbage Compaction Algorithm",
  journal =      j-CACM,
  volume =       "21",
  number =       "8",
  pages =        "662--665",
  month =        aug,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/reynolds.bib",
  abstract =     "Given an area of storage containing scattered, marked nodes of differing sizes, one may wish to rearrange them into a compact mass at one end of the area while revising all pointers to marked nodes to show their new locations. An algorithm is described which accomplishes this task in linear time relative to the size of the storage area, and in a space of the order of one bit for each pointer. The algorithm operates by reversibly encoding the situation (that a collection of locations point to a single location) by a linear list, emanating from the pointed-to location, passing through the pointing locations, and terminating with the pointed-to location's transplanted contents.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723",
  corpsource =   "Syracuse Univ., Syracuse, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer operating systems --- Storage Allocation; computer programming; encoding; garbage compaction algorithm; pointers; pointing locations; reversibly; storage; storage management",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Hoare:1978:CSP,
  author =       "C. A. R. Hoare",
  title =        "Communicating Sequential Processes",
  journal =      j-CACM,
  volume =       "21",
  number =       "8",
  pages =        "666--677",
  month =        aug,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Parallel/par.misc.bib",
  note =         "See corrigendum \cite{Hoare:1978:CCS}.",
  abstract =     "This paper suggests that input and output are basic primitives of programming and that parallel composition of communicating sequential processes is a fundamental program structuring method. When combined with a development of Dijkstra's guarded command, these concepts are surprisingly versatile. \par Their use is illustrated by sample solutions of a variety of familiar programming exercises.",
  acknowledgement = ack-nhfb,
  annote =       "This paper is now expanded into an excellent book detailed by Hoare and published by Prentice-Hall. This paper is reproduced in Kuhn and Padua's (1981, IEEE) survey ``Tutorial on Parallel Processing.'' Reproduced in ``Distributed Computing: Concepts and Implementations'' edited by McEntire, O'Reilly and Larson, IEEE, 1984. Somewhat dated.",
  classcodes =   "C6110 (Systems analysis and programming)",
  classification = "723",
  corpsource =   "Queen's Univ., Belfast, UK",
  journalabr =   "Commun ACM",
  keywords =     "4.22; 4.32 maeder biblio: synchronisation and concurrency in processes; ak; bhibbard grecommended91; classes; computer programming; concurrency; conditional critical regions; coroutines; CR categories: 4.20; CSP; data representations; Dijkstra's guarded command; guarded commands; hcc; input; iterative arrays; k-concurrency; k-csp; k-guarded-commands; monitors; multiple entries; multiple exits; nondeterminacy; output; parallel composition; parallel programming; primitives; procedures; program; program structures; programming; Programming; programming languages; programming primitives; recursion; sequential processes; structured programming; structuring method",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Brice:1978:FCR,
  author =       "Richard S. Brice and J. C. Browne",
  title =        "Feedback Coupled Resource Allocation Policies in the Multiprogramming-Multiprocessor Computer System",
  journal =      j-CACM,
  volume =       "21",
  number =       "8",
  pages =        "678--686",
  month =        aug,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Model studies of some integrated, feedback-driven scheduling systems for multiprogrammed-multiprocessor computer systems are presented. The basic control variables used are the data-flow rates for the processes executing on the CPU. The model systems feature simulated continuous-flow and preempt-resume scheduling of input-output activity. Attention is given to the amount of memory resource required for effective processing of the I/O activity (buffer space assignment). The model studies used both distribution-driven and trace-driven techniques. Even relatively simple dynamic schedulers are shown to improve system performance (as measured by user CPU time) over that given by optimal or near-optimal static schedulers imbedded in identical system structures and workload environments. The improvement is greatest under a heavy I/O demand workload.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150J (Operating systems)",
  classification = "722; 723",
  corpsource =   "George Washington Univ., Washington, DC, USA",
  journalabr =   "Commun ACM",
  keywords =     "buffer space assignment; computer systems programming; computer systems, digital; dynamic schedulers; feedback scheduling; I/O activity; multiprogramming; scheduling; scheduling systems",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Scheuermann:1978:SAP,
  author =       "Peter Scheuermann and C. Robert Carlson",
  title =        "Self-Assessment Procedure {V}: a self-assessment procedure dealing with database systems",
  journal =      j-CACM,
  volume =       "21",
  number =       "8",
  pages =        "687--693",
  month =        aug,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Sat Jan 18 15:40:45 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
}

@Article{Harris:1978:AUS,
  author =       "R. A. Harris and J. D. Zund",
  title =        "An algorithm using symbolic techniques for the {Bel-Petrov} classification of gravitational fields",
  journal =      j-CACM,
  volume =       "21",
  number =       "9",
  pages =        "715--717",
  month =        sep,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "A0270 (Computational techniques); A0420C (Fundamental problems and general formalism in general relativity); A0430 (Gravitational waves and radiation: theory); C6130 (Data handling techniques); C7320 (Physics and chemistry computing)",
  corpsource =   "HRB-Singer Inc., State College, PA, USA",
  keywords =     "Bel; classification scheme; FORMAC; general relativity; gravitation; gravitational fields; gravitational waves; Petrov types; physics computing; symbol manipulation",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Schwetman:1978:HSM,
  author =       "H. D. Schwetman",
  title =        "Hybrid Simulation Models of Computer Systems",
  journal =      j-CACM,
  volume =       "21",
  number =       "9",
  pages =        "718--723",
  month =        sep,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/simulan.bib",
  abstract =     "A description is given of the structure and operation of a hybrid simulation model in which both discrete-event simulation and analytic techniques are combined to produce efficient yet accurate system models. In an example based on a simple hypothetical computer system, discrete-event simulation is used to model the arrival and activation of jobs, and a central-server queueing network models the use of system processors. The accuracy and efficiency of the hybrid technique are demonstrated by comparing the result and computational costs of the hybrid model of the example with those of an equivalent simulation-only model.",
  acknowledgement = ack-nhfb,
  classcodes =   "C7430 (Computer engineering)",
  classification = "722; 723",
  corpsource =   "Purdue Univ., Lafayette, IN, USA",
  journalabr =   "Commun ACM",
  keywords =     "activation of jobs; analytic techniques; arrival; central server queueing; computer selection and evaluation; computer simulation; computer systems; computer systems, digital; digital simulation; discrete event; hypothetical computer; network; simulation; simulation model; system",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Barth:1978:PID,
  author =       "Jeffrey M. Barth",
  title =        "A Practical Interprocedural Data Flow Analysis Algorithm",
  journal =      j-CACM,
  volume =       "21",
  number =       "9",
  pages =        "724--736",
  month =        sep,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A new interprocedural data flow analysis algorithm is presented and analyzed. The algorithm associates with each procedure in a program information about which variables may be modified, which may be used, and which are possibly preserved by a call on the procedure, and all of its subcalls. The algorithm is sufficiently powerful to be used on recursive programs and to deal with the sharing of variables which arises through reference parameters. The algorithm is unique in that it can compute all of this information in a single pass, not requiring a prepass to compute calling relationships or sharing patterns. The algorithm is asymptotically optimal in time complexity. It has been implemented and is practical even on programs which are quite large.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory)",
  classification = "723",
  corpsource =   "Stanford Univ., Stanford, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "asymptotically; computer programming; interprocedural data flow analysis algorithm; optimal in time complexity; program; programming theory; recursive programs; reference parameters",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Popek:1978:MVD,
  author =       "Gerald J. Popek and David A. Farber",
  title =        "Model for Verification of Data Security in Operating Systems",
  journal =      j-CACM,
  volume =       "21",
  number =       "9",
  pages =        "737--749",
  month =        sep,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Program verification applied to kernel architectures forms a promising method for providing uncircumventably secure, shared computer systems. A precise definition of data security is developed in terms of a general model for operating systems. This model is suitable as a basis for verifying many of those properties of an operating system which are necessary to assure reliable enforcement of security. The application of this approach to the UCLA secure operating system is also discussed.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150J (Operating systems)",
  classification = "722; 723",
  corpsource =   "Univ. of California, Los Angeles, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer operating systems; computer systems, digital --- Time Sharing; data processing; data security; kernel architectures; model; operating systems; operating systems (computers); security of data; verification",
  treatment =    "P Practical",
}

@Article{Denning:1978:GWS,
  author =       "Peter J. Denning and Donald R. Slutz",
  title =        "Generalized Working Sets for Segment Reference Strings",
  journal =      j-CACM,
  volume =       "21",
  number =       "9",
  pages =        "750--759",
  month =        sep,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The working-set concept is extended for programs that reference segments of different sizes. The generalized working-set policy (GWS) keeps as its resident set those segments whose retention costs do not exceed their retrieval costs. The GWS is a model for the entire class of demand-fetching memory policies that satisfy a resident-set inclusion property. A generalized optimal policy (GOPT) is also defined; at its operating points it minimizes aggregated retention and swapping costs. Special cases of the cost structure allow GWS and GOPT to simulate any known stack algorithm, the working set, and VMIN. Efficient procedures for computing demand curves showing swapping load as a function of memory usage are developed for GWS and GOPT policies. Empirical data from an actual system are included.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723",
  corpsource =   "Purdue Univ., Lafayette, IN, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer operating systems; demand fetching memory policies; generalised optimal policy; generalised working set policy; operating systems (computers); property; resident set inclusion; retention costs; retrieval costs; segment reference strings; storage; storage management; swapping costs; virtual",
  treatment =    "T Theoretical or Mathematical",
  xxtitle =      "Generalized working sets of segment reference strings",
}

@Article{Myers:1978:CEP,
  author =       "Glenford J. Myers",
  title =        "Controlled Experiment in Program Testing and Code Walkthroughs\slash Inspections",
  journal =      j-CACM,
  volume =       "21",
  number =       "9",
  pages =        "760--768",
  month =        sep,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "An experiment in program testing is described that employs 59 highly experienced data processing professionals using seven methods to test a small PL/I program. The results show that the popular code walkthrough\slash inspection method was as effective as other computer-based methods in finding errors and that the most effective methods (in terms of errors found and cost) employed pairs of subjects who tested the program independently and then pooled their findings. The study also shows that there is a tremendous amount of variability among subjects and that the ability to detect certain types of errors varies from method to method.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming); C6150G (Diagnostic, testing, debugging and evaluating systems)",
  classification = "723",
  corpsource =   "IBM Systems Res. Inst., Palo Alto, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "code; computer programming; controlled experiment; effective; errors; experienced data processing; of subjects; pairs; professionals; program debugging; program testing; small PL/I program; variability; walkthroughs/inspections",
  treatment =    "P Practical; X Experimental",
}

@Article{Ottmann:1978:RBT,
  author =       "Th. Ottmann and H. W. Six and D. Wood",
  title =        "Right Brother Trees",
  journal =      j-CACM,
  volume =       "21",
  number =       "9",
  pages =        "769--776",
  month =        sep,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A10",
  MRnumber =     "58 13898",
  mrreviewer =   "Stephen Soule",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C1160 (Combinatorial mathematics); C6120 (File organisation)",
  corpsource =   "Univ. of Karlsruhe, Karlsruhe, West Germany",
  keywords =     "balanced trees; data structures; deletion algorithms; file organisation; insertion algorithm; one sided height; right brother trees; trees (mathematics)",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Ulrich:1978:EMD,
  author =       "Ernst G. Ulrich",
  title =        "Event Manipulation for Discrete Simulations Requiring Large Numbers of Events",
  journal =      j-CACM,
  volume =       "21",
  number =       "9",
  pages =        "777--785",
  month =        sep,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD.bib",
  abstract =     "An event-manipulation system is presented consisting of two parts. The first part addresses the familiar problem of event scheduling efficiency when the number of scheduled events grows large. The second part deals with the less apparent problem of providing efficiency and flexibility as scheduled events are accessed to be executed. Additional features and problems dealt with include the proper handling of simultaneous events; that certain events must be created, scheduled, and executed at the same points in simulated time; that infinite loops caused by the concatenation of such ``zero-time'' events are possible and must be diagnosed; that maintaining various event counts is practical and economical; and that a capability for handling ``time-displaceable'' events is desirable and possible.",
  acknowledgement = ack-nhfb,
  classcodes =   "C1290 (Applications of systems theory)",
  classification = "723; 912",
  corpsource =   "Digital Equipment Corp., Maynard, MA, USA",
  country =      "USA",
  descriptors =  "Simulation; event set;",
  enum =         "7988",
  journalabr =   "Commun ACM",
  keywords =     "computer programming --- Subroutines; digital simulation; discrete simulations; event; event scheduling efficiency; large numbers of events; manipulation system; operations research; scheduling; scheduling algorithms; simultaneous events; time flow mechanisms",
  language =     "English",
  location =     "SEL: Wi",
  references =   "0",
  revision =     "16/01/94",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Maly:1978:NVM,
  author =       "K. Maly",
  title =        "A note on virtual memory indexes",
  journal =      j-CACM,
  volume =       "21",
  number =       "9",
  pages =        "786--787",
  month =        sep,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  corpsource =   "Univ. of Minnesota, Minneapolis, MN, USA",
  keywords =     "construction; linked; maintenance; representation; retrieval cost; virtual memory indexes; virtual storage; within a page",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Ward:1978:RTP,
  author =       "Stephen A. Ward",
  title =        "Real Time Plotting of Approximate Contour Maps",
  journal =      j-CACM,
  volume =       "21",
  number =       "9",
  pages =        "788--790",
  month =        sep,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/siggraph/78.bib",
  abstract =     "For output to a character-oriented device, it is generally preferable to plot a contour map in raster-scan order (rather than to follow individual contour lines). A technique is described for the production of crude contour maps on a serial character-oriented device. The method described runs in real time in the sense that the computation required per output character is constant. While the contours produced exhibit local inaccuracies, they retain the properties of not crossing and of forming closed curves (except where they intersect the boundaries of the map).",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130B (Graphics techniques); C7340 (Geophysics computing)",
  classification = "405; 723",
  corpsource =   "MIT, Cambridge, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "approximate contour maps; cartography; computer graphics; contour maps; contour output; geophysics computing; maps and mapping; oriented device; plotting; real time; serial character",
  treatment =    "A Application; P Practical",
}

@Article{Tenenbaum:1978:SDS,
  author =       "A. Tenenbaum",
  title =        "Simulations of dynamic sequential search algorithms",
  journal =      j-CACM,
  volume =       "21",
  number =       "9",
  pages =        "790--791",
  month =        sep,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  corpsource =   "Brooklyn Coll., New York, NY, USA",
  keywords =     "dynamic reordering; dynamic sequential search algorithms; list; list processing; processing; simulation",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Brainerd:1978:F,
  author =       "Walt Brainerd",
  title =        "{Fortran 77}",
  journal =      j-CACM,
  volume =       "21",
  number =       "10",
  pages =        "806--820",
  month =        oct,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "A compiler for Fortran 77 may be larger than one for the 1966 standard Fortran, but not much larger than most current compilers. The compilation should be almost as efficient as before and the code produced should be almost as efficient, except possible for some of the new features such as the character data type and some of the new types of input\slash output. In several cases, such as DO loops (due to deletion of extended range) and IF blocks, it should be possible to generate even more efficient code than before. Furthermore the modest but powerful language extensions should serve to reduce greatly the costs of developing, maintaining, and transporting Fortran software.",
  acknowledgement = ack-nhfb,
  annote =       "I-O and OPEN statements.",
  classcodes =   "C6140D (High level languages)",
  classification = "723",
  corpsource =   "Burroughs Corp., Encino, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer programming languages; FORTRAN; FORTRAN 77; standard FORTRAN; standards",
  treatment =    "G General Review; N New Development",
}

@Article{Towsley:1978:MPP,
  author =       "D. Towsley and K. M. Chandy and J. C. Browne",
  title =        "Models for Parallel Processing Within Programs: Application to {CPU:I/O} and {I/O:I/O} Overlap",
  journal =      j-CACM,
  volume =       "21",
  number =       "10",
  pages =        "821--831",
  month =        oct,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib and ftp://ftp.ira.uka.de/pub/bibliography/Parallel/Parallel.io.bib",
  abstract =     "Approximate queueing models for internal parallel processing by individual programs in a multiprogrammed system are developed. The solution technique is developed by network decomposition. The models are formulated in terms of CPU:I/O and I/O:I/O overlap and applied to the analysis of these problems. The percentage performance improvement from CPU:I/O overlap is found to be greatest for systems which are in approximate CPU:I/O utilization balance and for low degrees of multiprogramming. The percentage improvement from I/O:I/O overlap is found to be greatest for systems in which the I/O system is more utilized than the CPU.",
  acknowledgement = ack-nhfb,
  annote =       "Queueing models for parallel processing by improvement from CPU:I/O overlap if found to be greatest for systems which are in CPU:I/O balance and for low degrees of multiprogramming. Improvement from I/O:I/O overlap is found to be greatest for systems in which the I/O system is more utilized than the CPU.",
  classcodes =   "C1140C (Queueing theory); C6150J (Operating systems)",
  classification = "722; 723",
  comment =      "Models CPU:I/O and I/O:I/O overlap within a program. ``Overlapping is helpful only when it allows a device to be utilized which would not be utilized without overlapping.'' In general the overlapping seems to help.",
  corpsource =   "Univ. of Texas, Austin, TX, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer systems programming; computer systems, digital --- Multiprocessing; internal parallel; network decomposition; parallel I/O; parallel processing; pario bib; processing; queueing models; queueing theory",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Shneiderman:1978:JSF,
  author =       "Ben Shneiderman",
  title =        "Jump Searching: {A} Fast Sequential Search Technique",
  journal =      j-CACM,
  volume =       "21",
  number =       "10",
  pages =        "831--834",
  month =        oct,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "When sequential file structures must be used and binary searching is not feasible, jump searching becomes an appealing alternative. An exploration is made of variants of the classic jump searching scheme where the optimum jump size is the square root of the number of records. Multiple level and variable size jump strategies are explored, appropriate applications are discussed and performance is evaluated.",
  acknowledgement = ack-nhfb,
  annote =       "Explores variants of the classic jump searching scheme where the optimum jump size is the square root of the number of records.",
  classcodes =   "C6120 (File organisation)",
  classification = "723",
  corpsource =   "Univ. of Maryland, College Park, MD, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer systems programming; data structures; database structures; file management; file organisation; index searching; jump searching; Jump searching; jump strategies; search strategies; sequential file structures; sequential files; sequential search technique",
  treatment =    "G General Review",
}

@Article{Chang:1978:OHM,
  author =       "Shi-Kuo Chang and Yin-Wah Wong",
  title =        "Optimal Histogram Matching by Monotone Gray Level Transformation",
  journal =      j-CACM,
  volume =       "21",
  number =       "10",
  pages =        "835--840",
  month =        oct,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Investigation of the problem of optimal histogram matching using monotone gray level transformation, which always assigns all picture points of a given gray level i to another gray level T(i) such that if i greater than equivalent to j, then T(i) greater than equivalent to T(j). The objective is to find a transformed digital picture of a given picture such that the sum of absolute errors between the gray level histogram of the transformed picture and that of a reference picture is minimized. This is equivalent to placing k1 linearly ordered objects of different sizes one by one into k2 linearly ordered boxes of assorted sizes, such that the accumulated error of space underpacked or overpacked in the boxes is minimized; the placement function is monotonic, which ensures a polynomial time solution to this problem. A tree search algorithm for optimal histogram matching is presented which has time complexity O(k1 multiplied by k2). If the monotone property is dropped, then the problem becomes NP-complete, even if it is restricted to k2 equals 2.",
  acknowledgement = ack-nhfb,
  classcodes =   "C1260 (Information theory)",
  classification = "723; 741",
  corpsource =   "Univ. of Illinois at Chicago Circle, Chicago, IL, USA",
  journalabr =   "Commun ACM",
  keywords =     "algorithm; complete computer programs; computer systems programming; computerised picture processing; histogram matching; image processing; optimal histogram matching; tree search",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Morris:1978:CLN,
  author =       "Robert Morris",
  title =        "Counting Large Numbers of Events in Small Registers",
  journal =      j-CACM,
  volume =       "21",
  number =       "10",
  pages =        "840--842",
  month =        oct,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/bin-packing.bib",
  abstract =     "It is possible to use a small counter to keep approximate counts of large numbers. The resulting expected error can be rather precisely controlled. An example is given in which 8-bit counters (bytes) are used to keep track of as many as 130,000 events with a relative error which is substantially independent of the number n of events. This relative error can be expected to be 24 percent or less 95 percent of the time. The techniques could be used to advantage in multichannel counting hardware or software used for the monitoring of experiments or processes.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  classification = "723",
  corpsource =   "Bell Labs., Murray Hill, NJ, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer systems programming; counting; data handling; multichannel counting hardware",
  treatment =    "G General Review",
}

@Article{McMaster:1978:AAD,
  author =       "Colin L. McMaster",
  title =        "An Analysis of Algorithms for the {Dutch National Flag Problem}",
  journal =      j-CACM,
  volume =       "21",
  number =       "10",
  pages =        "842--846",
  month =        oct,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "See corrigendum \cite{McMaster:1979:CAA}.",
  abstract =     "Solutions to the Dutch National Flag Problem have been given by Dijkstra [1] and Meyer [3]. \par Dijkstra starts with a simple program and arrives at an improved program by refinement. Both of the algorithms given by Dijkstra are shown to have an expected number of swaps which is $2/3N + O(1)$ and that these values differ at most by $1/3$ of a swap and asymptotically by $1/4$ of a swap. The algorithm of Meyer is shown to have expected swap complexity$ 5/9N$.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming)",
  corpsource =   "Univ. of California, Berkeley, CA, USA",
  keywords =     "Algorithmic analysis; algorithmic analysis; complete computer programs; Dutch National Flag Problem; program refinement; programming; refinement; structured programming",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Sedgewick:1978:IQP,
  author =       "Robert Sedgewick",
  title =        "Implementing {Quicksort} Programs",
  journal =      j-CACM,
  volume =       "21",
  number =       "10",
  pages =        "847--857",
  month =        oct,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib",
  note =         "See corrigendum \cite{Sedgewick:1979:CIQ}.",
  abstract =     "This paper is a practical study of how to implement the Quicksort sorting algorithm and its best variants on real computers, including how to apply various code optimization techniques. A detailed implementation combining the most effective improvements to Quicksort is given, along with a discussion of how to implement it in assembly language. Analytic results describing the performance of the programs are summarized. A variety of special situations are considered from a practical standpoint to illustrate Quicksort's wide applicability as an internal sorting method which requires negligible extra storage.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  classification = "723",
  corpsource =   "Brown Univ., Providence, RI, USA",
  journalabr =   "Commun ACM",
  keywords =     "analysis of algorithms; code optimisation techniques; code optimization; computer systems programming; internal; Quicksort; Quicksort programs; sorting; sorting algorithm; sorting method",
  treatment =    "G General Review",
}

@Article{Lyon:1978:PST,
  author =       "Gordon Lyon",
  title =        "Packed Scatter Tables",
  journal =      j-CACM,
  volume =       "21",
  number =       "10",
  pages =        "857--865",
  month =        oct,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Scatter tables for open addressing benefit from recursive entry displacements, cutoffs for unsuccessful searches, and auxiliary cost functions. Compared with conventional methods, the new techniques provide substantially improved tables that resemble exact-solution optimal packings. The displacements are depth-limited approximations to an enumerative (exhaustive) optimization, although packing costs remain linear --- O(n) --- with table size n. The techniques are primarily suited for important fixed (but possibly quite large) tables for which reference frequencies may be known: op-code tables, spelling dictionaries, access arrays. Introduction of frequency weights further improves retrievals, but the enhancement may degrade cutoffs.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  classification = "723",
  corpsource =   "Nat. Bur. of Stand., Washington, DC, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer systems programming; costs; data handling; open addressing; optimal packings; packed scatter tables; packing; recursion; reference frequencies; scatter tables",
  treatment =    "G General Review",
}

@Article{Easton:1978:CSV,
  author =       "Malcolm C. Easton and Ronald Fagin",
  title =        "Cold-Start Vs. Warm-Start Miss Ratios",
  journal =      j-CACM,
  volume =       "21",
  number =       "10",
  pages =        "866--872",
  month =        oct,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/storage.bib",
  abstract =     "In a two-level computer storage hierarchy, miss ratio measurements are often made from a ``cold start'', that is, made with the first-level store initially empty. For large capacities the effect on the measured miss ratio of the misses incurred while filling the first-level store can be significant, even for long reference strings. Use of ``warm-start'' rather than ``cold-start'' miss ratios cast doubt on the widespread belief that the observed ``S-shape'' of lifetime (reciprocal of miss ratio) versus capacity curve indicates a property of behavior of programs that maintain a constant number of pages in main storage. It is shown how to obtain, under simple assumptions, the cache miss ratio for multiprogramming from cold-start miss ratio values and how to obtain approximate cold-start miss ratios from warm-start miss ratios.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150J (Operating systems)",
  classification = "723",
  corpsource =   "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer operating systems; computer systems programming --- Multiprogramming; memory hierarchy; Performance Evaluation: Analytic",
  keywords =     "cache miss ratio; cold start; hierarchy; lifetime; lifetime function; miss ratios; multiprogramming; operating systems (computers); storage; warm start",
  treatment =    "G General Review",
}

@Article{Franta:1978:CHT,
  author =       "W. R. Franta and Kurt Maly",
  title =        "A comparison of heaps and the {TL} structure for the simulation event set",
  journal =      j-CACM,
  volume =       "21",
  number =       "10",
  pages =        "873--875",
  month =        oct,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1978.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C1290 (Applications of systems theory); C6130 (Data handling techniques)",
  corpsource =   "Univ. of Minnesota, Minneapolis, MN, USA",
  country =      "USA",
  descriptors =  "Simulation;",
  enum =         "1005",
  keywords =     "data handling; event set; heaps; operations research; Simulation; simulation event set; TL structure",
  language =     "English",
  references =   "0",
  treatment =    "G General Review",
}

@Article{Lyons:1978:SDE,
  author =       "Norman R. Lyons",
  title =        "Systems Design Education: a Gaming Approach",
  journal =      j-CACM,
  volume =       "21",
  number =       "11",
  pages =        "889--895",
  month =        nov,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "One of the problems facing managers of computer installations is the problem of configuring the computer system to meet the demands made by the mix of jobs that the computer center must service. A management game is presented that allows the player to configure a computer system to meet a hypothetical job mix. The job mix is under the control of a game administrator and can be varied to simulate a variety of real-world situations (I/O bound jobs, compute bound jobs, etc. ). The player of the game receives a set of detailed reports on the cost of his choices and a simulated run of the center operating under his choices.",
  acknowledgement = ack-nhfb,
  classcodes =   "C0220 (Computing education and training); C0310 (EDP management)",
  classification = "722; 723; 912",
  corpsource =   "Texas Tech. Univ., Lubbock, TX, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer installation; computer installation management; computer installations; computer science education; computer systems, digital; configuring the computer system; cost; DP; management; management game; mix; of jobs",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Wendorf:1978:SEM,
  author =       "J. W. Wendorf",
  title =        "A Simply Extended and Modified Batch Environment Graphical System (Sembegs)",
  journal =      j-CACM,
  volume =       "21",
  number =       "11",
  pages =        "897--904",
  month =        nov,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/imager/imager.78.bib",
  abstract =     "SEMBEGS is a complete batch environment graphical system containing components for handling graphical data files, for displaying the contents files on a variety of graphical hardware, and for performing graphical batch input operations. SEMBERG is easy to extend and modify to meet the growing needs of a large batch environment, and is even extendable to a fully interactive system. The paper presents the conceptual view of graphics leading to the design of SEMBEGS and outlines the major components of the system. The design of SEMBEGS is founded upon the basic assumption that the true aim of computer graphics is to describe graphical entities, rather than, as commonly held, to provide graphical input and output functional capabilities. SEMBEGS is built around a Basic Graphical Data Management System (BAGDAMS) which provides a common means of communicating the descriptions of graphical entities between the various components of SEMBEGS. BAGDAMS provides facilities for storing, retrieving, and manipulating the descriptions of graphical entities provided by, and received by application programs, graphics packages, and graphical devices.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130B (Graphics techniques); C6150E (General utility programs)",
  classification = "723",
  corpsource =   "Univ. of Waterloo, Waterloo, Ont., Canada",
  journalabr =   "Commun ACM",
  keywords =     "BAGDAMS; Basic Graphical Data; batch; batch environment; batch processing (computers); computer graphics; displaying; extend; files; fully interactive system; graphical batch input operations; graphical data; graphical system; Management System; modify; SEMBEGS",
  treatment =    "P Practical",
}

@Article{Kumar:1978:PEH,
  author =       "B. Kumar and E. S. Davidson",
  title =        "Performance Evaluation of Highly Concurrent Computers by Deterministic Simulation",
  journal =      j-CACM,
  volume =       "21",
  number =       "11",
  pages =        "904--913",
  month =        nov,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Simulation is presented as a practical technique for performance evaluation of alternative configurations of highly concurrent computers. A technique is described for constructing a detailed deterministic simulation model of a system. In the model a control stream replaces the instruction and data streams of the real system. Simulation of the system model yields the timing resource usage statistics needed for performance evaluation, without the necessity of emulating the system. As a case study, the implementation of a simulation of a model of the CPU-memory subsystem of the IBM 360\slash 191 is described. The results of evaluating some alternative system designs are discussed. The experiments reveal that, for the case study, the major bottlenecks in the system are the memory unit and the fixed point unit. Further, it appears that many of the sophisticated pipelining and buffering techniques implemented in the architecture of the IBM 360\slash 91 are of little value when high-speed (cache) memory is used, as in the IBM 360\slash 195.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5220 (Computer architecture); C6150G (Diagnostic, testing, debugging and evaluating systems); C7430 (Computer engineering)",
  classification = "722; 723",
  corpsource =   "Univ. of Illinois, Urbana, IL, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer selection and evaluation; computer systems, digital; CPU memory subsystem; deterministic simulation; highly concurrent computers; IBM 360/91; multiprocessing systems; performance evaluation; virtual machines",
  treatment =    "P Practical",
}

@Article{Horn:1978:USI,
  author =       "Berthold K. P. Horn and Brett L. Bachman",
  title =        "Using Synthetic Images to Register Real Images with Surface Models",
  journal =      j-CACM,
  volume =       "21",
  number =       "11",
  pages =        "914--924",
  month =        nov,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A number of image analysis tasks can benefit from registration of the image with a model of the surface being imaged. Automatic navigation using visible light or radar images requires exact alignment of such images with digital terrain models. In addition, automatic classification of terrain, using satellite imagery, requires such alignment to deal correctly with the effects of varying sun angle and surface slope. Even inspection techniques for certain industrial parts may be improved by this means. The required alignment is achieved by matching the real image with a synthetic image obtained from a surface model and known positions of the light sources. The synthetic image intensity is calculated using the reflectance map, a convenient way of describing surface reflection as a function of surface gradient. The technique is illustrated using LANDSAT images and digital terrain models.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130B (Graphics techniques)",
  classification = "723",
  corpsource =   "MIT, Cambridge, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "automatic classification of terrain; computer graphics; computerised picture processing; image processing; industrial parts; inspection techniques; real images; registration; satellite imagery; surface models; synthetic images",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Tadikamalla:1978:CGGb,
  author =       "P. R. Tadikamalla",
  title =        "Computer Generation of Gamma Random Variables --- {II}",
  journal =      j-CACM,
  volume =       "21",
  number =       "11",
  pages =        "925--928",
  month =        nov,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1978.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C1140Z (Other topics in statistics); C7310 (Mathematics computing)",
  corpsource =   "Univ. of Pittsburgh, Pittsburgh, PA, USA",
  country =      "USA",
  descriptors =  "RVG;",
  enum =         "7944",
  keywords =     "computational; computer generation; core; gamma random variables; nonintegral shape parameter; programming effort; random processes; statistics; storage requirements; times",
  language =     "English",
  references =   "0",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Ripley:1978:SRP,
  author =       "G. David Ripley",
  title =        "Simple Recovery-Only Procedure for Simple Precedence Parsers",
  journal =      j-CACM,
  volume =       "21",
  number =       "11",
  pages =        "928--930",
  month =        nov,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A simple method is described enabling simple precedence parsers to recover from syntax errors. No attempt to repair errors is made, yet parsing and most semantic processing can continue. The result is a good ``first approximation'' to syntax error handling with negligible increase in parsing time, space, and complexity of both the parser and its table generator.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic); C6150C (Compilers, interpreters and other processors); C6150G (Diagnostic, testing, debugging and evaluating systems)",
  classification = "723",
  corpsource =   "RCA Labs., Princeton, NJ, USA",
  journalabr =   "Commun ACM",
  keywords =     "compilers; computer programming languages; debugging; grammars; processing; program compilers; program debugging; recovery; semantic; simple precedence parsers; syntax errors; system; table generator",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Friedman:1978:NCE,
  author =       "D. P. Friedman and D. S. Wise",
  title =        "A Note on Conditional Expressions",
  journal =      j-CACM,
  volume =       "21",
  number =       "11",
  pages =        "931--933",
  month =        nov,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Misc/Functional.bib",
  abstract =     "Evaluation of a conditional expression may succeed even when the ``deciding predicate'' diverges and the alternatives are records (or nodes) whose fields have different content.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory); C6140D (High level languages)",
  corpsource =   "Indiana Univ., Bloomington, IN, USA",
  keywords =     "ambiguous function; conditional expression; conditional forms; functional; if-then-else; infinite structures; LISP; Lisp; LISP; Parallel evaluation; parallel evaluation; programming theory; suspending cons",
  treatment =    "T Theoretical or Mathematical",
}

@Article{BrinchHansen:1978:DPC,
  author =       "Per {Brinch Hansen}",
  title =        "Distributed Processes: {A} Concurrent Programming Concept",
  journal =      j-CACM,
  volume =       "21",
  number =       "11",
  pages =        "934--941",
  month =        nov,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/os.bib and ftp://ftp.ira.uka.de/pub/bibliography/Parallel/par.synch.bib and ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib",
  abstract =     "A language concept for concurrent processes without common variables is introduced. These processes communicate and synchronize by means of procedure calls and guarded regions. This concept is proposed for real-time applications controlled by microcomputer networks with distributed storage. The paper gives several examples of distributed processes and shows that they include procedures, coroutines, classes, monitors, processes, semaphores, buffers, path expressions, and input-output as special cases.",
  acknowledgement = ack-nhfb,
  annote =       "Dated, but it's one of those papers that will always be referenced. This is an early paper which proposes having a Boolean guard at the start of a procedure. The procedure is not allowed to execute until the guard becomes true. This paper is also a reference for the Shortest Job Next (SJN) scheduler.",
  classcodes =   "C4240 (Programming and algorithm theory); C6140D (High level languages)",
  classification = "723",
  corpsource =   "Univ. of Southern California, Los Angeles, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "buffers; classes; communication; computer programming languages; concurrency; concurrent programming; coroutines; distributed; distributed processes; expressions; guarded command; guarded regions; input/output; k-boolean-guards; k-shortest-job-next; language concept; microcomputer networks; monitors; operating synchronization; parallel processing; path; path expressions; procedure calls; procedures; processes; programming theory; semaphores; storage",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Luccio:1978:PT,
  author =       "Fabrizio Luccio and Linda Pagli",
  title =        "Power Trees",
  journal =      j-CACM,
  volume =       "21",
  number =       "11",
  pages =        "941--947",
  month =        nov,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68B10 (68C25)",
  MRnumber =     "80a:68018",
  mrreviewer =   "Stephen Soule",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The new class of PK trees is presented, where height balance is maintained for the nodes lying on particular paths. The number of nodes of a Pk tree asymptotically grows as a power of the height, in the worst case. A procedure for node insertion is given, and the class of trees considered is restricted to IPk trees, which are buildable by such a procedure. The average behavior of such trees, studied by an extensive set of simulation runs, is close to that of AVL trees. In particular, the family of IPO trees whose main advantage is the reduced number of restructurings required after node insertion, is analyzed.",
  acknowledgement = ack-nhfb,
  classcodes =   "C1160 (Combinatorial mathematics); C4240 (Programming and algorithm theory); C6120 (File organisation)",
  classification = "723; 921",
  corpsource =   "Univ. of Pisa, Pisa, Italy",
  journalabr =   "Commun ACM",
  keywords =     "AVL trees; binary search trees; computer metatheory; computer programming; file organisation; height balance; IP0 trees; IPk trees; mathematical techniques --- Trees; node insertion; Pk trees; power trees; trees (mathematics)",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Sheil:1978:MST,
  author =       "B. A. Sheil",
  title =        "Median Split Trees: {A} Fast Lookup Technique for Frequently Occurring Keys",
  journal =      j-CACM,
  volume =       "21",
  number =       "11",
  pages =        "947--958",
  month =        nov,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68H05",
  MRnumber =     "80a:68116",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  note =         "Early work on minimal perfect hash functions.",
  abstract =     "Split trees are a new technique for searching sets of keys with highly skewed frequency distributions. A split tree is a binary search tree each node of which contains two key values --- a node value which is a maximally frequent key in that subtree, and a split value which partitions the remaining keys (with respect to their lexical ordering) between the left and right subtrees. A median split tree (MST) uses the lexical median of a node's descendents as its split value to force the search tree to be perfectly balanced, achieving both a space efficient representation of the tree and high search speed. Unlike frequency ordered binary search trees, the cost of a successful search of an MST is log n bounded and very stable around minimal values. Further, an MST can be built for a given key ordering and set of frequencies in time n log n, as opposed to n**2 for an optimum binary search tree. A discussion of the application of MST's to dictionary lookup for English is presented, and the performance obtained is contrasted with that of other techniques.",
  acknowledgement = ack-nhfb,
  classcodes =   "C1160 (Combinatorial mathematics); C4240 (Programming and algorithm theory); C6120 (File organisation)",
  classification = "723; 921",
  corpsource =   "Harvard Univ., Cambridge, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer programming; fast lookup technique; file organisation; frequently occurring keys; lexical median; mathematical techniques --- Trees; median split tree; searching; trees (mathematics)",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Hoare:1978:CCS,
  author =       "C. A. R. Hoare",
  title =        "Corrigendum: {``Communicating Sequential Processes''}",
  journal =      j-CACM,
  volume =       "21",
  number =       "11",
  pages =        "958--958",
  month =        nov,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Sat Jan 18 15:39:32 1997",
  note =         "See \cite{Hoare:1978:CSP}.",
}

@Article{Freuder:1978:SCE,
  author =       "Eugene C. Freuder",
  title =        "Synthesizing Constraint Expressions",
  journal =      j-CACM,
  volume =       "21",
  number =       "11",
  pages =        "958--966",
  month =        nov,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68E99",
  MRnumber =     "80a:68074",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Ai/lisp.bib",
  note =         "Also published as MIT AI MEMO 370, Cambridge, MA, USA, 1976",
  abstract =     "A constraint network representation is presented for a combinatorial search problem: finding values for a set of variables subject to a set of constraints. A theory of consistency levels in such networks is formulated, which is related to problems of backtrack tree search efficiency. An algorithm is developed that can achieve any level of consistency desired, in order to preprocess the problem for subsequent backtrack search, or to function as an alternative to backtrack search by explicitly determining all solutions.",
  acknowledgement = ack-nhfb,
  classcodes =   "C1160 (Combinatorial mathematics); C4240 (Programming and algorithm theory)",
  classification = "723",
  corpsource =   "Univ. of New Hampshire, Durham, NH, USA",
  journalabr =   "Commun ACM",
  keywords =     "combinatorial search; computer programming; constraint network representation; graph colouring; LISP; problem; programming theory; theory of consistency levels",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Dijkstra:1978:FGC,
  author =       "Edsger W. Dijkstra and Leslie Lamport and A. J. Martin and C. S. Scholten and E. F. M. Steffens",
  title =        "On-the-Fly Garbage Collection: An Exercise in Cooperation",
  journal =      j-CACM,
  volume =       "21",
  number =       "11",
  pages =        "966--975",
  month =        nov,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/Functional.bib and ftp://ftp.ira.uka.de/pub/bibliography/Object/Nierstrasz.bib and ftp://ftp.ira.uka.de/pub/bibliography/Compiler/garbage.collection.bib and ftp://ftp.ira.uka.de/pub/bibliography/Compiler/Heaps.bib",
  note =         "Also E. W. Dijkstra Note EWD496, June 1975.",
  abstract =     "As an example of cooperation between sequential processes with very little mutual interference despite frequent manipulations of a large shared data space, a technique is developed which allows nearly all of the activity needed for garbage detection and collection to be performed by an additional processor operating concurrently with the processor devoted to the computation proper. Exclusion and synchronization constraints have been kept as weak as could be achieved; the severe complexities engendered by doing so are illustrated.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C6150J (Operating systems)",
  classification = "723",
  comment =      "much overlooked algorithm, presented as more of a concurrency exercise than a garbage collector",
  corpsource =   "Burroughs Corp., Al Nuenen, Netherlands",
  journalabr =   "Commun ACM",
  keywords =     "computer operating systems; functional garbage collection multiprocessing cooperating sequential processes minimised mutual exclusion correctness concurrency memory",
  keywords =     "cooperation; garbage detection; multiprogramming; on the fly; sequential processes; storage management",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Gries:1978:CEP,
  author =       "David Gries",
  title =        "Corrigendum: {``An exercise in proving parallel programs correct''}",
  journal =      j-CACM,
  volume =       "21",
  number =       "12",
  month =        dec,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "1048.68B10",
  MRnumber =     "80b:68022",
  bibdate =      "Tue Dec 26 13:35:07 1995",
  note =         "See \cite{Gries:1977:EPP}.",
  acknowledgement = ack-nhfb,
}

@Article{Needham:1978:UEA,
  author =       "Roger M. Needham and Michael D. Schroeder",
  title =        "Using Encryption for Authentication in Large Networks of Computers",
  journal =      j-CACM,
  volume =       "21",
  number =       "12",
  pages =        "993--999",
  month =        dec,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  abstract =     "Use of encryption to achieve authenticated communication in computer networks is discussed. Example protocols are presented for the establishment of authenticated connections, for the management of authenticated mail, and for signature verification and document integrity guarantee. Both conventional and public-key encryption algorithms are considered as the basis for protocols.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5620 (Computer networks and techniques); C6130 (Data handling techniques)",
  classification = "723",
  corpsource =   "Xerox Palo Alto Res. Center, Palo Alto, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "authenticated communication; computer networks; data processing --- Security of Data; document integrity; encryption; guarantee; protocols; public key encryption algorithms; security of data; signature verification",
  treatment =    "P Practical",
}

@Article{Gries:1978:LSA,
  author =       "David Gries and Jayadev Misra",
  title =        "A Linear Sieve Algorithm for Finding Prime Numbers",
  journal =      j-CACM,
  volume =       "21",
  number =       "12",
  pages =        "999--1003",
  month =        dec,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "10A25 (68C25)",
  MRnumber =     "80d:10010",
  mrreviewer =   "D. H. Lehmer",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A new algorithm is presented for finding all primes between 2 and n. The algorithm executes in time proportional to n (assuming that multiplication of integers not larger than n can be performed in unit time). The method has the same arithmetic complexity as the algorithm presented by N. G. Mairson; however, this version is perhaps simpler and more elegant. It is also easily extended to find the prime factorization of all integers between 2 and n in time proportional to n.",
  acknowledgement = ack-nhfb,
  classcodes =   "C1160 (Combinatorial mathematics); C5230 (Digital arithmetic methods)",
  classification = "723",
  corpsource =   "Cornell Univ., Ithaca, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer programming; linear sieve algorithm; number theory; prime factorization; prime numbers",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Peterson:1978:SOT,
  author =       "James L. Peterson and James R. Bitner and John H. Howard",
  title =        "The Selection of Optimal Tab Settings",
  journal =      j-CACM,
  volume =       "21",
  number =       "12",
  pages =        "1004--1007",
  month =        dec,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/siggraph/78.bib",
  abstract =     "A new generation of computer terminals allows tab settings to be selected and set by the computer. This feature can be used to reduce the number of characters that are needed to represent a document for transmission and printing. An algorithm is given for selecting the optimal set of tab stops for minimizing the number of characters transmitted. An implementation of the algorithm has reduced the number of characters transmitted by from 7 to 30 percent, but requires a prepass through the document to compute a matrix used in determining the optimal set of tab stops. The use of fixed tab stops, as a heuristic alternative, can achieve about 80 percent of optimal with no prepass.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130D (Document processing techniques); C6130 (Data handling techniques)",
  classification = "723",
  corpsource =   "Univ. of Texas, Austin, TX, USA",
  journalabr =   "Commun ACM",
  keywords =     "algorithm; computer programming; computer terminals; document; number; of characters; optimal tab settings; printing; selection; transmission; word processing",
  treatment =    "P Practical",
}

@Article{Wetherbe:1978:SPM,
  author =       "James C. Wetherbe and V. Thomas Dock",
  title =        "Strategic Planning Methodology for the Computing Effort in Higher Education: an Empirical Evaluation",
  journal =      j-CACM,
  volume =       "21",
  number =       "12",
  pages =        "1008--1015",
  month =        dec,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "The findings of a study designed to address the pressing problems associated with the strategic planning of the computing effort in higher education are presented here. A planning methodology was developed and tested through implementation at a university. Two years after the methodology was implemented, the effectiveness of the planning methodology was assessed in terms of the improvement of the delivery of computing services to the major institutional roles of instruction, research, and administration. Two control institutions were employed to contrast the improvements at the test institution. The results of the research indicate the planning methodology significantly enhanced the delivery of computing services.",
  acknowledgement = ack-nhfb,
  classcodes =   "C0310 (EDP management); C7110 (Educational administration)",
  classification = "723; 901",
  corpsource =   "Univ. of Houston, Houston, TX, USA",
  journalabr =   "Commun ACM",
  keywords =     "administration; computing effort; DP management; education; educational computing; higher; instruction; research; strategic planning methodology; university",
  treatment =    "P Practical",
}

@Article{Ibramsha:1978:DLE,
  author =       "M. Ibramsha and V. Rajaraman",
  title =        "Detection of Logical Errors in Decision Table Programs",
  journal =      j-CACM,
  volume =       "21",
  number =       "12",
  pages =        "1016--1025",
  month =        dec,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "An algorithm to detect logical errors in a limited-entry decision table and in loop-free programs with embedded decision tables is developed. All the conditions in the decision tables are assumed to be inequalities or equalities relating linear expressions. It is also assumed that actions in a decision table are linear in variables which occur in the condition stub of the decision table (or tables) to which control is transferred from the table. The algorithm is based on determining whether a set of linear inequalities has or does not have a solution. The algorithm is implemented in Fortran IV.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150G (Diagnostic, testing, debugging and evaluating systems)",
  classification = "723",
  corpsource =   "Indian Inst. of Technol., Kanpur, India",
  journalabr =   "Commun ACM",
  keywords =     "computer programming; decision table programs; decision tables; error diagnosis; logical errors; program diagnostics",
  treatment =    "P Practical",
}

@Article{Martelli:1978:ODT,
  author =       "Alberto Martelli and Ugo Montanari",
  title =        "Optimizing Decision Trees Through Heuristically Guided Search",
  journal =      j-CACM,
  volume =       "21",
  number =       "12",
  pages =        "1025--1039",
  month =        dec,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A50",
  MRnumber =     "58 19444",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Optimal decision table conversion has been tackled in the literature using two approaches, dynamic programming and branch-and-bound. The former technique is quite effective, but its time and space requirements are independent of how ``easy'' the given table is. Furthermore, it cannot be used to produce good, quasioptimal solutions The branch-and-bound technique uses a good heuristic to direct the search, but is cluttered up by an enormous search space, since the number of solutions increases with the number of test variables according to a double exponential. In this paper authors suggest a heuristically guided top-down search algorithm which, like dynamic programming, recognizes identical subproblems but which can be used to find both optimal and quasioptimal solutions. A heuristic search method is introduced that combines the positive aspects of the above two techniques. Compressed tables with a large number of variables can be handled without deriving expanded tables first.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory)",
  classification = "921",
  corpsource =   "Consiglio Nazionale delle Ricerche, Pisa, Italy",
  journalabr =   "Commun ACM",
  keywords =     "decision table conversion; decision tables; heuristically guided search; mathematical programming, dynamic; optimal; programming theory",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Dalal:1978:RPF,
  author =       "Yogen K. Dalal and Robert M. Metcalfe",
  title =        "Reverse Path Forwarding of Broadcast Packets",
  journal =      j-CACM,
  volume =       "21",
  number =       "12",
  pages =        "1040--1048",
  month =        dec,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A broadcast packet is for delivery to all nodes of a network. Algorithms for accomplishing this delivery through a store-and-forward packet switching computer network include (1) transmission of separately addressed packets, (2) multidestination addressing, (3) hot potato forwarding, (4) spanning tree forwarding, and (5) source based forwarding. To this list of algorithms is added (6) reverse path forwarding, a broadcast routing method which exploits routing procedures and data structures already available for packet switching. Reverse path forwarding is a practical algorithm for broadcast routing in store-and-forward packet switching computer networks. The algorithm is described as being practical because it is not optimal according to metrics developed for its analysis in this paper, and also because it can be implemented in existing networks with less complexity than that required for the known alternatives.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5620 (Computer networks and techniques)",
  classification = "723",
  corpsource =   "Xerox Corp., Palo Alto, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "broadcast packets; broadcast routing; computer networks; packet switching; reverse path forwarding",
  treatment =    "P Practical",
}

@Article{Guttag:1978:ADT,
  author =       "John V. Guttag and Ellis Horowitz and David R. Musser",
  title =        "Abstract Data Types and Software Validation",
  journal =      j-CACM,
  volume =       "21",
  number =       "12",
  pages =        "1048--1064",
  month =        dec,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68B15",
  MRnumber =     "80b:68030",
  mrreviewer =   "J. Paredaens",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/Functional.bib",
  abstract =     "A data abstraction can be naturally specified using algebraic axioms. The virtue of these axioms is that they permit a representation-independent formal specification of a data type. An example is given which shows how to employ algebraic axioms at successive levels of implementation. First, it is shown how the use of algebraic axiomatizations can simplify the process of proving the correctness of an implementation of an abstract data type. Second, semi-automatic tools are described which can be used both to automate such proofs of correctness and to derive an immediate implementation from the axioms. This implementation allows for limited testing of programs at design time, before a conventional implementation is accomplished.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C6150G (Diagnostic, testing, debugging and evaluating systems)",
  classification = "723",
  corpsource =   "Univ. of Southern California, Los Angeles, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "abstract data type; algebraic axiomatizations; algebraic axioms; computer programming languages; correctness; data abstraction; data structures; functional; program testing; software validation; testing of programs",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Spitzen:1978:EHD,
  author =       "Jay M. Spitzen and Karl N. Levitt and Lawrence Robinson",
  title =        "An Example of Hierarchical Design and Proof",
  journal =      j-CACM,
  volume =       "21",
  number =       "12",
  pages =        "1064--1075",
  month =        dec,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/semantics.bib",
  abstract =     "Hierarchical programming is being increasingly recognized as helpful in the construction of large programs. Users of hierarchical techniques claim or predict substantial increases in productivity and in the reliability of the programs produced. In this paper we describe a formal method for hierarchical program specification, implementation, and proof. We apply this method to a significant list processing problem and also discuss a number of extensions to current programming languages that ease hierarchical program design and proof.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory); C6110 (Systems analysis and programming)",
  classification = "723",
  corpsource =   "SRI Internat., Menlo Park, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer programming; computer programming languages; data abstraction; hierarchical design; hierarchical program; hierarchical structures; implementation; large programs; list processing; productivity; Program verification; programming languages; proof; reliability; software modules; specification; structured programming",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Bentley:1978:MDC,
  author =       "J. L. Bentley",
  title =        "Multidimensional Divide-and-Conquer",
  journal =      j-CACM,
  volume =       "23",
  number =       "4",
  pages =        "214--228",
  month =        may,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Parallel/Multi.bib",
}

@Article{Boyse:1979:IDA,
  author =       "John W. Boyse",
  title =        "Interference Detection Among Solids and Surfaces",
  journal =      j-CACM,
  volume =       "22",
  number =       "1",
  pages =        "3--9",
  month =        jan,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/imager/imager.79.bib",
  abstract =     "In many industrial environments it is necessary to determine whether there is interference among components. There are many potential interference problems in products made up of assemblies of components and in product manufacturing and testing. Typically, drawings are used in an attempt to detect such unwanted interferences, but the two-dimensional, static drafting medium does not always show interferences among three-dimensional, moving parts. A computer representation for solids and surfaces and algorithms which carry out interference checking among objects so represented are presented. Objects are represented as polyhedra or as piecewise planar surfaces. Two types of interference checking are discussed: detection of intersections among objects in fixed positions and detection of collisions among objects moving along specified trajectories.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130B (Graphics techniques); C7440 (Civil and mechanical engineering computing)",
  classification = "723",
  corpsource =   "Computer Sci. Dept., General Motors Res. Labs., Warren, MI, USA",
  journalabr =   "Commun ACM",
  keywords =     "CAD; collision detection graphics; components; computer graphics; data processing --- Manufacturing Applications; detection; drawings; industrial environments; interference; interference checking; intersection; manufacturing and testing; mechanical engineering computing; Methodologies; Modeling geometric design/modeling and Algorithmic Aspects intersection determination and solids interface detection; piecewise planar surfaces; polyhedra; potential interference problems; product; solids; surfaces; Techniques",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Colton:1979:IUC,
  author =       "Kent W. Colton",
  title =        "The impact and use of computer technology by the police",
  journal =      j-CACM,
  volume =       "22",
  number =       "1",
  pages =        "10--20",
  month =        jan,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Over the past decade there has been a significant growth in the use of computer technology by U. S. police departments. This growth, however, has been at a slower rate than predicted in the early 1970's. Further, when computer applications extend beyond ``routine'' uses to ``nonroutine'' efforts, such as resource allocation or computer-aided-dispatch systems where the machine begins to become a tool for decision making, strategic planning and person\slash machine interaction, the results of the technology to date have been mixed. Case studies and surveys are discussed which provide insights on the implementation and impact of police computer technology and the relationship of this technology to law enforcement and society.",
  acknowledgement = ack-nhfb,
  classcodes =   "C7130 (Public administration)",
  classification = "723",
  corpsource =   "Public Systems Evaluation, MIT, Cambridge, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "command and control systems; computer aided dispatch; computer technology; computers; data processing --- Governmental Applications; decision; making; person/machine interaction; police; police command and control; police data processing; resource allocation; strategic planning",
  treatment =    "G General Review",
}

@Article{Bongiovanni:1979:PDB,
  author =       "Gian Carlo Bongiovanni and Fabrizio Luccio",
  title =        "Permutation of Data Blocks in a Bubble Memory",
  journal =      j-CACM,
  volume =       "22",
  number =       "1",
  pages =        "21--25",
  month =        jan,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68B15",
  MRnumber =     "80b:68026",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A common internal organization of bubble memories consists of a set of (minor) loops, connected through another (major) loop. The problem of obtaining any given permutation of the minor loop contents in minimum time is studied in this paper. A lower bound to the number of steps required by a permutation algorithm is derived, and the class of optimum algorithms is identified.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5320E (Storage on stationary magnetic media); C6120 (File organisation)",
  classification = "721; 723",
  corpsource =   "Univ. of Pisa, Pisa, Italy",
  journalabr =   "Commun ACM",
  keywords =     "algorithms; bubble memory; computer programming --- Subroutines; data block shift; data blocks; data storage, magnetic; digital storage; file organisation; magnetic film stores; memory loops; optimum; permutation algorithm",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Sauer:1979:IDD,
  author =       "Charles H. Sauer and K. Mani Chandy",
  title =        "The Impact of Distributions and Disciplines on Multiple Processor Systems",
  journal =      j-CACM,
  volume =       "22",
  number =       "1",
  pages =        "25--34",
  month =        jan,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1979.bib",
  abstract =     "Simple queueing models are used to study the performance tradeoffs of multiple processor systems. Issues considered include the impact of CPU service disciplines and distributions, level of multiprogramming, multitasking, and job priorities.",
  acknowledgement = ack-nhfb,
  annote =       "(VBI-000696)",
  classcodes =   "C5420 (Mainframes and minicomputers); C6150J (Operating systems)",
  classification = "722; 723",
  corpsource =   "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA",
  country =      "USA",
  descriptors =  "Multiprocessor; queueing discipline;",
  enum =         "11092",
  journalabr =   "Commun ACM",
  keywords =     "computer systems programming --- Multiprogramming; computer systems, digital; CPU service; job; multiple processor systems; multiprocessing systems; multiprogramming; multitasking; performance; priorities; queueing models; queueing theory; tradeoffs",
  language =     "English",
  references =   "0",
  treatment =    "G General Review; T Theoretical or Mathematical",
}

@Article{Banatre:1979:ECT,
  author =       "J. P. Ban{\^a}tre and J. P. Routeau and L. Trilling",
  title =        "An event-driven compiling technique",
  journal =      j-CACM,
  volume =       "22",
  number =       "1",
  pages =        "34--42",
  month =        jan,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Due to the linear structure of source text, difficulties may arise in a one-pass compilation process. These difficulties occur when an entity cannot be processed because of a forward reference to information only obtainable from subsequent entities. Classic solutions ask for data structures appropriate for each case. A technique is presented which uses instead control structures, namely events and processes. The work of the compiler-writer becomes easier both conceptually and in practice because he can forget these problems at the outset and he avoids special processing for each problem. This technique has been applied to the construction of an Algol 68 compiler. Three examples from that implementation are described and discussed here.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C6150C (Compilers, interpreters and other processors)",
  classification = "723",
  corpsource =   "Univ. de Rennes, Rennes, France",
  journalabr =   "Commun ACM",
  keywords =     "ALGOL 68 compiler; compilation; computer operating systems --- Program Compilers; computer programming languages; control structures; data; data structures; forward reference to information; one pass; program compilers; semantic analysis; source text; structures",
  treatment =    "G General Review; P Practical",
}

@Article{Arsac:1979:SSS,
  author =       "Jacques J. Arsac",
  title =        "Syntactic Source to Source Transforms and Program Manipulation",
  journal =      j-CACM,
  volume =       "22",
  number =       "1",
  pages =        "43--54",
  month =        jan,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Syntactic transforms are the source to source program transformations which preserve the history of computation, and thus do not modify the execution time. Combined with a small number of primitive semantic transforms, they provide a powerful tool for program manipulation. A complete catalogue of syntactic transforms, and its use for solution of a system of program equations, is given. Examples of derivation of more complex source to source transformations are also presented. Two case studies illustrate the way in which syntactic and semantic source to source transformations may be used for development of clear, simple, and reasonably efficient programs.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory); C6110 (Systems analysis and programming)",
  classification = "723",
  corpsource =   "Inst. de Programmation, Univ. Pierre et Marie Curie, Paris, France",
  journalabr =   "Commun ACM",
  keywords =     "computer programming; program manipulation; program transformations; programming theory; semantic transforms; source to source; source transforms; structured programming; syntactic; transforms",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Taulbee:1979:PEP,
  author =       "O. E. Taulbee and S. D. Conte",
  title =        "Production and employment of {Ph.D.s} in computer science --- 1977 and 1978",
  journal =      j-CACM,
  volume =       "22",
  number =       "2",
  pages =        "75--76",
  month =        feb,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C0220 (Computing education and training)",
  corpsource =   "Univ. of Pittsburgh, Pittsburgh, PA, USA",
  keywords =     "1977; 1978; computer science; computer science education; employment; Ph.Ds",
  treatment =    "G General Review",
}

@Article{Fairley:1979:ECD,
  author =       "R. E. Fairley",
  title =        "Employment characteristics of doctoral level computer scientists",
  journal =      j-CACM,
  volume =       "22",
  number =       "2",
  pages =        "77--78",
  month =        feb,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C0230 (Economic, social and political aspects of computing)",
  corpsource =   "Colorado State Univ., Fort Collins, CO, USA",
  keywords =     "academic; business; computer scientists; doctoral; employment; industry; opportunities; Ph.D.; professional aspects; work activities",
  treatment =    "G General Review",
}

@Article{Gull:1979:RDS,
  author =       "W. E. Gull and M. A. Jenkins",
  title =        "Recursive data structures in {APL.}",
  journal =      j-CACM,
  volume =       "22",
  number =       "2",
  pages =        "79--96",
  month =        feb,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68B15 (68E10 68H05)",
  MRnumber =     "80b:68028",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A mathematical study of three approaches for defining nested array in APL is presented. Theorems exhibiting the relationships between the definitional systems are given and illustrated through graph representations. One of the approaches is used to define an APL array to be a recursive data structure equivalent to a tree structure in which all data is stored at the leaves as homogeneous arrays of numbers and characters. An extension of APL is proposed that includes new primitive functions to manipulate the nesting level of arrays and new operators to assist in the construction of data-driven algorithms.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C6140D (High level languages)",
  classification = "723",
  corpsource =   "Univ. Zurich, Zurich, Switzerland",
  journalabr =   "Commun ACM",
  keywords =     "APL; computer programming languages; data structures; functions; nested arrays; primitive; procedure oriented languages; recursive data structure",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Morel:1979:GOS,
  author =       "{\'E}. Morel and C. Renvoise",
  title =        "Global Optimization by Suppression of Partial Redundancies",
  journal =      j-CACM,
  volume =       "22",
  number =       "2",
  pages =        "96--103",
  month =        feb,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68B05",
  MRnumber =     "80b:68016",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/opt.compiler.bib",
  note =         "Data Flow Analysis",
  abstract =     "The elimination of redundant computations and the moving of invariant computations out of loops are often done separately, with invariants moved outward loop by loop. It is proposed to do both at once and to move each expression directly to the entrance of the outermost loop in which it is invariant. This is done by solving a more general problem, i.e. the elimination of computations performed twice on a given execution path. Such computations are termed partially redundant. Moreover, the algorithm does not require any graphical information or restrictions on the shape of the program graph. Testing this algorithm has shown that its execution cost is nearly linear with the size of the program, and that it leads to a smaller optimizer that requires less execution time.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory); C6150C (Compilers, interpreters and other processors)",
  classification = "723",
  corpsource =   "Compagnie Internat. pour l'Informatique, Honeywell Bull, Louveciennes, France",
  journalabr =   "Commun ACM",
  keywords =     "computer programming; execution cost; execution time; optimizer; partial redundancies; program; program compilers; programming theory; redundant computations",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Anderson:1979:CPH,
  author =       "M. R. Anderson and M. G. Anderson",
  title =        "Comments on Perfect Hashing Functions: {A} Single Probe Retrieving Method for Static Sets",
  journal =      j-CACM,
  volume =       "22",
  number =       "2",
  pages =        "104--105",
  month =        feb,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  note =         "Corrects errors in \cite{Sprugnoli:1977:PHF}. See corrigendum \cite{Anderson:1979:CCP}.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  corpsource =   "Dept. of Computer and Communication Sci., Univ. of Michigan, Ann Arbor, MI, USA",
  keywords =     "algorithm; data handling; perfect hashing functions; single probe retrieving method; static sets",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Cheriton:1979:TPR,
  author =       "David R. Cheriton and Michael A. Malcolm and Lawrence S. Melen and Gary R. Sager",
  title =        "{Thoth}, a Portable Real-Time Operating System",
  journal =      j-CACM,
  volume =       "22",
  number =       "2",
  pages =        "105--115",
  month =        feb,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib",
  abstract =     "Thoth is a real-time operating system which is designed to be portable over a large set of machines. It is currently running on two minicomputers with quite different architectures. Both the system and application programs which use it are written in a high-level language. Because the system is implemented by the same software on different hardware, it has the same interface to user programs. Hence, application programs which use Thoth are highly portable. Thoth encourages structuring programs as networks of communicating processes by providing efficient interprocess communication primitives.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150J (Operating systems)",
  classification = "723",
  corpsource =   "Dept. of Computer Sci., Univ. of Waterloo, Waterloo, Ont., Canada",
  journalabr =   "Commun ACM",
  keywords =     "CACM synchronization communication real time; computer operating systems; minicomputers; online; online operation; operating system; portable; real time; software portability; Thoth",
  treatment =    "P Practical",
}

@Article{Reed:1979:SES,
  author =       "David P. Reed and Rajendra K. Kanodia",
  title =        "Synchronization with Eventcounts and Sequencers",
  journal =      j-CACM,
  volume =       "22",
  number =       "2",
  pages =        "115--123",
  month =        feb,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib; ftp://ftp.ira.uka.de/pub/bibliography/Parallel/par.synch.bib",
  abstract =     "Synchronization of concurrent processes requires controlling the relative ordering of events in the processes. A new synchronization mechanism is proposed, using abstract objects called eventcounts and sequencers, that allows processes to control the ordering of events directly, rather than using mutual exclusion to protect manipulation of shared variables that control ordering of events. Direct control of ordering seems to simplify correctness arguments and also simplifies implementation in distributed systems. The mechanism is defined formally, and then several examples of its uses are given. The relationship of the mechanism to protection mechanisms in the system is explained; in particular, eventcounts are shown to be applicable to situations where confinement of information matters. An implementation of eventcounts and sequencers in a system with shared memory is described.",
  acknowledgement = ack-nhfb,
  annote =       "Dated, but needs to be referenced every now and again.",
  classcodes =   "C6150J (Operating systems)",
  classification = "723",
  corpsource =   "Lab. for Computer Sci., MIT, Cambridge, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer systems programming; concurrent processes; distributed systems; eventcounts; operating systems (computers); protection; sequences; shared memory; synchronization",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Mendelson:1979:OSA,
  author =       "Haim Mendelson and Joseph S. Pliskin and Uri Yechiali",
  title =        "Optimal Storage Allocation for Serial Files",
  journal =      j-CACM,
  volume =       "22",
  number =       "2",
  pages =        "124--130",
  month =        feb,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68B15",
  MRnumber =     "80b:68032",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A computer system uses several serial files. The files reside on a direct-access storage device in which storage space is limited. Records are added to the files either by jobs in batch processing mode, or by on-line transactions. Each transaction (or job) generates a demand vector which designates the space required in each file for record addition. Whenever one file runs out of space, the system must be reorganized. This paper considers several criteria for best allocating storage space to the files.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723",
  corpsource =   "Dept. of Statistics, Tel Aviv Univ., Tel Aviv, Israel",
  journalabr =   "Commun ACM",
  keywords =     "computer operating systems; optimal; serial files; storage allocation",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Austing:1979:CRU,
  author =       "Richard H. Austing and Bruce H. Barnes and Della T. Bonnette and Gerald L. Engel and Gordon Stokes",
  title =        "Curriculum '78: Recommendations for the Undergraduate Program in Computer Science --- {A} Report of the {ACM} Curriculum Committee on Computer Science",
  journal =      j-CACM,
  volume =       "22",
  number =       "3",
  pages =        "147--166",
  month =        mar,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  acknowledgement = ack-nhfb,
  annote =       "A report of the ACM Curriculum Committee on Computer Science. CS 5: Introduction to File Processing (3-0-3) Prerequisite: CS 2. The objectives of this course are: (a) to introduce concepts and techniques of structuring data on bulk storage devices; (2) to provide experience in the use of bulk storage devices; and (3) to provide the foundation for applications of data structures and file processing techniques.",
  classcodes =   "C0220 (Computing education and training)",
  corpsource =   "Univ. of Maryland, College Park, MD, USA",
  keywords =     "computer science; computer science education; courses; curriculum; education; educational courses; elementary level; intermediate level; undergraduate program",
  treatment =    "G General Review; P Practical",
}

@Article{Edgar:1979:FMN,
  author =       "Albert D. Edgar and Samuel C. Lee",
  title =        "{FOCUS} microcomputer number system",
  journal =      j-CACM,
  volume =       "22",
  number =       "3",
  pages =        "166--177",
  month =        mar,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "FOCUS is a number system and supporting computational algorithms especially useful for microcomputer control and other signal processing applications. FOCUS has the wide-ranging character of floating-point numbers with a uniformity of state distributions that give FOCUS better than a twofold accuracy advantage over an equal word length floating-point system. FOCUS computations are typically five times faster than single precision fixed-point or integer arithmetic for a mixture of operations, comparable in speed with hardware arithmetic for many applications. Algorithms for 8-bit and 16-bit implementations of FOCUS are included.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5230 (Digital arithmetic methods); C5250 (Microcomputer techniques)",
  classification = "723",
  corpsource =   "Univ. of Oklahoma, Norman, OK, USA",
  journalabr =   "Commun ACM",
  keywords =     "algorithms; arithmetic; computational; computers, microprocessor; digital arithmetic; floating point numbers; FOCUS; microcomputer; microcomputer control; microcomputers; number system; signal processing",
  treatment =    "P Practical",
}

@Article{Slagle:1979:ESA,
  author =       "James Slagle",
  title =        "Experiments with Some Algorithms that Find Central Solutions for Pattern Classification",
  journal =      j-CACM,
  volume =       "22",
  number =       "3",
  pages =        "178--183",
  month =        mar,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "In two-class pattern recognition, it is a standard technique to have an algorithm finding hyperplanes which separates the two classes in a linearly separable training set. The traditional methods find a hyperplane which separates all points in one class from all points in the other, but such a hyperplane is not necessarily centered in the empty space between the two classes. Since a central hyperplane does not favor one class or the other, it should have a lower error rate in classifying new points and is therefore better than a noncentral hyperplane. Six algorithms for finding central hyperplanes are tested on three data sets. Although frequently used in practice, the modified relaxation algorithm is very poor. Three algorithms which are defined in the paper are found to be quite good.",
  acknowledgement = ack-nhfb,
  classcodes =   "B6140C (Optical information, image and video signal processing); C1250 (Pattern recognition)",
  classification = "723",
  corpsource =   "Naval Res. Lab., Washington, DC, USA",
  journalabr =   "Commun ACM",
  keywords =     "algorithms; central solutions; pattern classification; pattern recognition; pattern recognition systems",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Deliyanni:1979:LSN,
  author =       "Amaryllis Deliyanni and Robert A. Kowalski",
  title =        "Logic and Semantic Networks",
  journal =      j-CACM,
  volume =       "22",
  number =       "3",
  pages =        "184--192",
  month =        mar,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Ai/nonmono.bib",
  abstract =     "An extended form of semantic network is defined, which can be regarded as a syntactic variant of the clausal form of logic. By virtue of its relationship with logic,the extended semantic network is provided with a precise semantics, inference rules, and a procedural interpretation. On the other hand, by regarding semantic networks as an abstract data structure for the representation of clauses, we provide a theorem-prover with a potentially useful indexing scheme and path-following strategy for guiding the search for a proof.",
  acknowledgement = ack-nhfb,
  classcodes =   "C1230 (Artificial intelligence); C4210 (Formal logic)",
  classification = "723",
  corpsource =   "Univ. of Athens, Athens, Greece",
  journalabr =   "Commun ACM",
  keywords =     "abstract data; computer metatheory; formal logic; inference rules; logic; semantic networks; structure; theorem prover; theorem proving",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Motzkin:1979:UNM,
  author =       "Dalia Motzkin",
  title =        "Use of Normal Multiplication Tables for Information Storage and Retrieval",
  journal =      j-CACM,
  volume =       "22",
  number =       "3",
  pages =        "193--207",
  month =        mar,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A method is described for the organization and retrieval of attribute based information systems, using the normal multiplication table as a directory for the information system. Algorithms for the organization and retrieval of information are described. This method is particularly suitable for queries requesting a group of information items, all of which possess a particular set of attributes (and possibly some other attributes as well). Several examples are given; the results with respect to the number of disk accesses and disk space are compared to other common approaches. Algorithms evaluating the appropriateness of the above approach to a given information system are described. For a certain class of information systems, the normal multiplication table method yields far more rapid retrieval with a more economical space requirement than conventional systems. Moreover this method incorporates an improved modification of the inverted file technique.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723; 901",
  corpsource =   "Univ. of Haifa, Haifa, Israel",
  journalabr =   "Commun ACM",
  keywords =     "attribute based information systems; directory; disk accesses; disk space; file organisation; information retrieval; information retrieval systems; information storage; inverted file; normal multiplication tables; retrieval; storage allocation",
  treatment =    "T Theoretical or Mathematical",
}

@Article{McMaster:1979:CAA,
  author =       "C. L. McMaster",
  title =        "Corrigendum: {``An Analysis of Algorithms for the Dutch National Flag Problem''}",
  journal =      j-CACM,
  volume =       "22",
  number =       "3",
  pages =        "207--207",
  month =        mar,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Sat Jan 18 15:42:53 1997",
  note =         "See \cite{McMaster:1978:AAD}.",
}

@Article{Lesk:1979:DTP,
  author =       "Arthur M. Lesk",
  title =        "Detection of Three-Dimensional Patterns of Atoms in Chemical Structures",
  journal =      j-CACM,
  volume =       "22",
  number =       "4",
  pages =        "219--224",
  month =        apr,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "An algorithm for detecting occurrences of a three-dimensional pattern of objects within a larger structure is presented. The search technique presented used the geometric structure of the pattern to define characteristics demanded of candidates for matching. This is useful in cases where the properties of each atom, considered individually, do not adequately limit the number of sets of possible matchings. Several applications of this technique in the field of chemistry are: (1) in pharmacology: Searching for a common constellation of atoms in molecules possessing similar biological activities; (2) in X-ray crystallography: fitting a structure or a structural fragment to a set of peaks in the electron-density distribution of a Fourier map; (3) in chemical documentation: retrieving from a file the structures containing specified substructures.",
  acknowledgement = ack-nhfb,
  classcodes =   "C7320 (Physics and chemistry computing)",
  classification = "462; 482; 501; 723; 804; 901",
  corpsource =   "Fairleigh Dickinson Univ., Teaneck, NJ, USA",
  journalabr =   "Commun ACM",
  keywords =     "atoms; chemical documentation; chemical structures; chemistry computing; crystallography; crystallography --- X-Ray Analysis; drug products; information science --- Information Retrieval; pattern recognition; pattern recognition systems; pharmacology; search; three dimensional; X-ray",
  treatment =    "A Application",
}

@Article{Cale:1979:PPP,
  author =       "E. G. Cale and L. L. Gremillion and J. L. McKenney",
  title =        "Price\slash Performance Patterns of {U.S.} Computer Systems",
  journal =      j-CACM,
  volume =       "22",
  number =       "4",
  pages =        "225--233",
  month =        apr,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Econometric models of the U. S. computer market have been developed to study the relationships between system price and hardware performance. Single measures of price-performance such as ``Grosch's Law'' are shown to be so oversimplified as to be meaningless. Multiple-regression models predicting system cost as a function of several hardware characteristics do, however, reveal a market dichotomy. On one hand there exists a stable, price predictable market for larger, general purpose computer systems. The other market is the developing one for small business computer systems, a market which is relatively unstable with low price predictability.",
  acknowledgement = ack-nhfb,
  classcodes =   "C0230 (Economic, social and political aspects of computing)",
  classification = "722",
  corpsource =   "Harvard Univ., Boston, MA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer market; digital computers; hardware performance; price predictability; price/performance; system price; US",
  keywords =     "computer systems, digital",
  treatment =    "E Economic",
}

@Article{Bucci:1979:MDD,
  author =       "Giacomo Bucci and Donald N. Streeter",
  title =        "Methodology for the Design of Distributed Information Systems",
  journal =      j-CACM,
  volume =       "22",
  number =       "4",
  pages =        "233--245",
  month =        apr,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A macro model of a distributed information system is presented. The model describes the major costs of using an information system from the perspective of the end-user. The model is intended to provide guidance to the system designer by making evident the effect of various design and operating parameters on overall cost per transaction. The technique is illustrated by application to the design of an interactive transaction processing system.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming)",
  classification = "722",
  corpsource =   "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer systems, digital; costs; design; distributed information systems; distributed processing; macro; methodology; model; systems analysis",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Hanson:1979:MPU,
  author =       "Richard J. Hanson and John A. Wisniewski",
  title =        "A Mathematical Programming Updating Method Using Modified {Givens} Transformations and Applied to {LP} Problems",
  journal =      j-CACM,
  volume =       "22",
  number =       "4",
  pages =        "245--251",
  month =        apr,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "90C05 (65F35)",
  MRnumber =     "80c:90096",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "An efficient and numerically stable method is presented for the problem of updating an orthogonal decomposition of a matrix of column (or row) vectors. The fundamental idea is to add a column (or row) analogous to adding an additional row of data in linear least squares problem. A column (or row) is dropped by a formal scaling with the imaginary unit, followed by least squares addition of the column (or row). The elimination process for the procedure is successive application of the Givens transformation in modified (more efficient) form. These ideas are illustrated with an implementation of the revised simplex method. The algorithm is a general purpose one that does not account for any particular structure or sparsity in the equations. Some suggested computational tests for determining signs of various controlling parameters in the revised simplex algorithm are mentioned. A simple means of constructing test cases and some sample computing times are presented.",
  acknowledgement = ack-nhfb,
  classcodes =   "C1180 (Optimisation techniques)",
  classification = "723",
  corpsource =   "Sandia Labs., Albuquerque, NM, USA",
  journalabr =   "Commun ACM",
  keywords =     "linear programming; mathematical programming; mathematical programming, linear; modified Givens; revised simplex; transformations; updating",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Brelaz:1979:NMC,
  author =       "Daniel Br{\'e}laz",
  title =        "New Methods to Color the Vertices of a Graph",
  journal =      j-CACM,
  volume =       "22",
  number =       "4",
  pages =        "251--256",
  month =        apr,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "90B35",
  MRnumber =     "80c:90080",
  mrreviewer =   "G. Berman",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Theory/clique.color.bib",
  abstract =     "Efficient new heuristic methods to color the vertices of a graph are described which rely upon the comparison of the degrees and structure of a graph. A method is developed which is exact for bipartite graphs and is an important part of heuristic procedures to find maximal cliques in general graphs. Finally an exact method is given which performs better than the Randall-Brown algorithm and is able to color larger graphs, and the new heuristic methods, the classical methods, and the exact method are compared.",
  acknowledgement = ack-nhfb,
  annote =       "Successive augmentation approach to graph coloring. DSATUR chooses the vertex adjacent to the largest number of distinctly colored vertices. Paper also discusses an implicit enumeration scheme for finding an optimal coloring using some of the principles of DSATUR to guide the search.",
  classcodes =   "C1160 (Combinatorial mathematics)",
  classification = "912; 921",
  corpsource =   "Ecole Polytech. Federale de Lausanne, Lausanne, Switzerland",
  journalabr =   "Commun ACM",
  keywords =     "bipartite graphs; cliques; colouring; graph; graph colouring; heuristic; mathematical techniques --- Graph Theory; maximal; operations research; vertices",
  treatment =    "T Theoretical or Mathematical",
}

@Article{DeMillo:1979:SPP,
  author =       "Richard A. {De Millo} and Richard J. Lipton and Alan J. Perlis",
  title =        "Social Processes and Proofs of Theorems and Programs",
  journal =      j-CACM,
  volume =       "22",
  number =       "5",
  pages =        "271--280",
  month =        may,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/softeng.bib",
  abstract =     "It is argued that formal verifications of programs, no matter how obtained, will not play the same key role in the development of computer science and software engineering as proofs do in mathematics. Furthermore the absence of continuity, the inevitability of change, and the complexity of specification of significantly many real programs make the formal verification process difficult to justify and manage. It is felt that ease of formal verification should not dominate program language design.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory)",
  classification = "723",
  corpsource =   "Georgia Inst. of Technol., Atlanta, GA, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer programming; formal verification; philosophical aspects; program language design; programming theory; specification",
  treatment =    "G General Review; T Theoretical or Mathematical",
}

@Article{Chang:1979:IAD,
  author =       "Ernest Chang and Rosemary Roberts",
  title =        "An Improved Algorithm for Decentralized Extrema-Finding in Circular Configurations of Processors",
  journal =      j-CACM,
  volume =       "22",
  number =       "5",
  pages =        "281--283",
  month =        may,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Theory/ProbAlgs.bib",
  note =         "They present a deterministic distributed algorithm for finding the largest of a set of $n$ uniquely numbered processes in a ring. The algorithm uses $O(n \log n)$ messages on the average and $O(n^2)$ messages in the worst case, and does not assume that $n$ is known a priori.",
  abstract =     "An improvement is presented of LeLann's algorithm for finding the largest (or smallest) of a set of uniquely numbered processes arranged in a circle, in which no central controller exists and the number of processes is not known a priori. This decentralized algorithm uses a technique of selective message extinction in order to achieve an average number of message passes of order (n log n) rather than O(n**2).",
  acknowledgement = ack-nhfb,
  classcodes =   "C4290 (Other computer theory); C6150J (Operating systems)",
  classification = "723",
  corpsource =   "Univ. of Toronto, Ont., Canada",
  journalabr =   "Commun ACM",
  keywords =     "algorithm; circular configurations; computer operating systems; computer programming --- Subroutines; decentralized; distributed processing; distributed systems; extrema; operating systems; operating systems (computers); processes",
  treatment =    "T Theoretical or Mathematical",
  xxtitle =      "An improved algorithm for decentralized extrema-finding in circular configurations of processes",
}

@Article{Sterling:1979:CDC,
  author =       "T. D. Sterling",
  title =        "Consumer Difficulties with Computerized Transactions: an Empirical Investigation",
  journal =      j-CACM,
  volume =       "22",
  number =       "5",
  pages =        "283--289",
  month =        may,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "Results show that with the present state of the art, approximately 40 percent of individuals (or households) having average contacts with different types of accounts experience one or more errors per year. Eighty percent relate to billing. Attempts to correct errors often turned out to be difficult and not always successful. There appears to be some conflict between computer-using organizations and their public. Also the role of poor management packages including poor software is indicated. While most management systems may be adequate, results of the survey raise concerns about the timeliness and the number of designs of very large linked program packages (as EFT for instance).",
  acknowledgement = ack-nhfb,
  classcodes =   "C0230 (Economic, social and political aspects of computing); C7100 (Business and administration); C7120 (Financial computing)",
  classification = "723",
  corpsource =   "Simon Fraser Univ., Burnaby, BC, Canada",
  journalabr =   "Commun ACM",
  keywords =     "administrative data processing; billing; computerized transactions; consumers; data processing, business; economic and sociological; effects; errors; management; packages",
  treatment =    "P Practical",
}

@Article{Reynolds:1979:RAA,
  author =       "John C. Reynolds",
  title =        "Reasoning About Arrays",
  journal =      j-CACM,
  volume =       "22",
  number =       "5",
  pages =        "290--299",
  month =        may,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68B10 (68E05)",
  MRnumber =     "80f:68018",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/reynolds.bib",
  abstract =     "A variety of concepts, laws, and notations are presented which facilitate reasoning about arrays. The basic concepts include intervals and their partitions, functional restriction, images, pointwise extension of relations, ordering, single-point variation of functions, various equivalence relations for array values, and concatenation. The effectiveness of these ideas is illustrated by informal descriptions of algorithms for binary search and merging, and by a short formal proof.",
  acknowledgement = ack-nhfb,
  checked =      "4 September 1990",
  classcodes =   "C4240 (Programming and algorithm theory)",
  classification = "723",
  corpsource =   "Syracuse Univ., Syracuse, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "arrays; binary; computer programming; concatenation; concepts; equivalence relations; extension of relations; functional restriction; functions; imaging; intervals; laws; merging; notations; ordering; partitions; pointwise; programming theory; programs; reasoning; search; single point variation of",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Manthey:1979:MDM,
  author =       "Michael J. Manthey",
  title =        "Model for and Discussion of Multi-Interpreter Systems",
  journal =      j-CACM,
  volume =       "22",
  number =       "5",
  pages =        "299--309",
  month =        may,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A multi-interpreter system is a system in which programs execute by virtue of being interpreted by other programs, which themselves may either be interpreted (i.e. nested interpreters) or run directly on the host machine. The model reveals the anatomy of interpreters and how these differ from procedures, and exhibits links to protection domains and multiprocessor architectures.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150C (Compilers, interpreters and other processors)",
  classification = "722; 723",
  corpsource =   "State Univ. of New York, Buffalo, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer systems, digital; multi interpreter systems; multiprocessor; program interpreters; programs",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Lemos:1979:ISW,
  author =       "R. S. Lemos",
  title =        "An implementation of structured walk-throughs in teaching {COBAL} programming",
  journal =      j-CACM,
  volume =       "22",
  number =       "6",
  pages =        "335--340",
  month =        jun,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C0220 (Computing education and training); C6110 (Systems analysis and programming)",
  corpsource =   "California State Univ., Los Angeles, CA, USA",
  keywords =     "COBAL programming; computer science education; multiple covariance; programming; structured walk-throughs; teaching",
  treatment =    "G General Review",
}

@Article{Busenberg:1979:APP,
  author =       "S. N. Busenberg and W. C. Tam",
  title =        "An academic program providing realistic training in software engineering",
  journal =      j-CACM,
  volume =       "22",
  number =       "6",
  pages =        "341--345",
  month =        jun,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming)",
  corpsource =   "Harvey Mudd Coll., Claremont, CA, USA",
  keywords =     "Clinic program; communication skills; computer science education; methodology; realistic training; software design; software engineering; software project management; team work",
  treatment =    "G General Review",
}

@Article{Alter:1979:MAF,
  author =       "Steven Alter",
  title =        "Model for Automating File and Program Design in Business Application Systems",
  journal =      j-CACM,
  volume =       "22",
  number =       "6",
  pages =        "345--353",
  month =        jun,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A model is discussed for finding an efficient implementation of a business application system whose logical specifications have been determined in advance. The model views file and program design as a problem of systematically coordinating the configurations of datasets and computations. It uses a straightforward search technique to determine aggregations of computations, aggregations of datasets, device, organization, and key order for each dataset, key order for each computation, and access method for each dataset-computation pair. Although computational results are presented for a sample problem involving 54 computations and 49 datasets, the main point of the paper is that the underlying model works computationally and is simple enough to be adapted to many file design situations.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  classification = "723",
  corpsource =   "Steven Alter and Associates Inc., San Francisco, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "automating file; business application; computations; computer programming; datasets; design; file; file organisation; program design; search technique; software engineering; systems",
  treatment =    "P Practical",
}

@Article{Feldman:1979:HLP,
  author =       "Jerome A. Feldman",
  title =        "High Level Programming for Distributed Computing",
  journal =      j-CACM,
  volume =       "22",
  number =       "6",
  pages =        "353--368",
  month =        jun,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Object/Nierstrasz.bib",
  abstract =     "An approach to distributed computing at the level of general purpose programming languages is described. Based on primitive notions of module, message, and transaction key, the methodology is shown to be independent of particular languages and machines. It appears to be useful for programming a wide range of tasks. This is part of an ambitious program of development in advanced programming languages, and relations with other aspects of the project are also discussed.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming)",
  classification = "723",
  corpsource =   "Univ. of Rochester, Rochester, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer programming languages; distributed computing; distributed processing; high level programming; message; misc modules messages; module; multiprogramming; transaction key",
  treatment =    "G General Review",
}

@Article{Sedgewick:1979:CIQ,
  author =       "Robert Sedgewick",
  title =        "Corrigendum: {``Implementing {Quicksort} Programs''}",
  journal =      j-CACM,
  volume =       "22",
  number =       "6",
  pages =        "368--368",
  month =        jun,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Sat Jan 18 15:43:13 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Theory/Seiferas/1979.bib",
  note =         "See \cite{Sedgewick:1978:IQP}.",
}

@Article{Shapira:1979:COP,
  author =       "R. Shapira and H. Freeman",
  title =        "The Cyclic Order Property of Vertices as an Aid in Scene Analysis",
  journal =      j-CACM,
  volume =       "22",
  number =       "6",
  pages =        "368--375",
  month =        jun,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/imager/imager.79.bib",
  abstract =     "A cyclic-order property is defined for bodies bounded by smooth-curved faces. The property is shown to be useful for analyzing pictures of such bodies, particularly when the line data extracted from the pictures are imperfect. This property augments previously known grammatical rules that determine the existence of three-dimensional bodies corresponding to given two-dimensional line-structure data.",
  acknowledgement = ack-nhfb,
  classcodes =   "B6140C (Optical information, image and video signal processing); C1250 (Pattern recognition); C1260 (Information theory)",
  classification = "723",
  corpsource =   "Rensselaer Polytech. Inst., Troy, NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "AI; algorithmic aspects; algorithms; computer graphics; cyclic order; grammatical; image processing; line data; pattern; pattern recognition; picture processing; pictures; recognition; reconstruction; reconstruction of objects and three-dimensional graphics; rules; scene analysis; see Section 6; vertices",
}

@Article{Winograd:1979:BPL,
  author =       "T. Winograd",
  title =        "Beyond Programming Languages",
  journal =      j-CACM,
  volume =       "22",
  number =       "7",
  pages =        "391--401",
  month =        jul,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  abstract =     "As computer technology matures, our growing ability to create large systems is leading to basic changes in the nature of programming. Current programming language concepts will not be adequate for building and maintaining systems of the complexity called for by the tasks we attempt. Just as high level languages enabled the programmer to escape from the intricacies of a machine's order code, higher level programming systems can provide the means to understand and manipulate complex systems and components. In order to develop such systems, we need to shift our attention away from the detailed specification of algorithms, towards the description of the properties of the packages and objects with which we build. This paper analyzes some of the shortcomings of programming languages as they now exist, and lays out some possible directions for future research.",
  acknowledgement = ack-nhfb,
  classcodes =   "C0200 (General computer topics); C6110 (Systems analysis and programming); C6140D (High level languages)",
  corpsource =   "Stanford Univ., Stanford, CA, USA",
  keywords =     "future; higher level programming systems; Programming; programming languages; programming systems; research; shortcomings; systems development; technological forecasting",
  treatment =    "G General Review",
}

@Article{Preparata:1979:ORT,
  author =       "F. P. Preparata",
  title =        "An Optimal Real-Time Algorithm for Planar Convex Hulls",
  journal =      j-CACM,
  volume =       "22",
  number =       "7",
  pages =        "402--405",
  month =        jul,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68C05 (68C25)",
  MRnumber =     "80e:68075",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/imager/imager.79.bib",
  abstract =     "An algorithm is described for the construction in real-time of the convex hull of a set of n points in the plane. Using an appropriate data structure, the algorithm constructs the convex hull by successive updates, each taking time O(log n), thereby achieving a total processing time O(n log n).",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130B (Graphics techniques)",
  classification = "723",
  corpsource =   "Univ. of Illinois, Urbana, IL, USA",
  journalabr =   "Commun ACM",
  keywords =     "algorithmic aspects; computer programming; convex hull and mathematical aspects",
  keywords =     "algorithm; computer graphics; data structure; optimal; planar convex hulls; real time",
  treatment =    "P Practical",
}

@Article{Fischer:1979:SRT,
  author =       "Patrick C. Fischer and Robert L. Probert",
  title =        "Storage Reorganization Techniques for Matrix Computation in a Paging Environment",
  journal =      j-CACM,
  volume =       "22",
  number =       "7",
  pages =        "405--415",
  month =        jul,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68B20 (65F30)",
  MRnumber =     "80e:68055",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "In order to multiply matrices while minimizing the number of page fetches required, it is often more efficient to reorganize the data into submatrix form and to use block multiplication rather than to use the best known algorithms which leave the matrices stored in row-(or column-)oriented form. An efficient method for accomplishing this reorganization is given. This also makes possible the derivation of an asymptotically better bound for multiplication of matrices given in row-oriented form by adapting the technique of Strassen to the reorganized data. The reorganization\slash block multiplication scheme is shown to be advantageous for matrices and pages of realistic size; the Strassen adaptation is not. The former scheme is also shown to be advantageous even if the transpose of one of the matrices is available at no additional cost.",
  acknowledgement = ack-nhfb,
  classcodes =   "C4140 (Linear algebra); C6120 (File organisation); C6130 (Data handling techniques)",
  classification = "723",
  corpsource =   "Pennsylvania State Univ., University Park, PA, USA",
  journalabr =   "Commun ACM",
  keywords =     "block; computer operating systems; matrix algebra; matrix computation; multiplication; paging; reorganization; virtual storage",
  treatment =    "P Practical",
}

@Article{Hine:1979:CRT,
  author =       "J. H. Hine and I. Mitrani and S. Tsur",
  title =        "The Control of Response Times in Multi-Class Systems by Memory Allocation",
  journal =      j-CACM,
  volume =       "22",
  number =       "7",
  pages =        "415--424",
  month =        jul,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1979.bib",
  abstract =     "The possibility of giving different quality of service to jobs of different classes by regulating their memory allocation is examined in the context of a paged computer system. Two parameterized algorithms which partition the main memory between two classes of jobs are considered. Initially, a closed system consisting of a processor and paging and file devices, with fixed number of jobs, is studied to determine optimal degrees of multiprogramming and the proportion of processor time devoted to each class. Applying a decomposition approach and treating the closed system as a single server, the response times in an open system with external arrivals are studied. The object is to investigate the effect of the memory allocation parameters on the expected response times under the two algorithms. Numerical solutions and economical lower bounds for the expected response times as functions of the control parameters are obtained. A way of applying the results to systems with more than two job classes is indicated.",
  acknowledgement = ack-nhfb,
  annote =       "The possibility of giving different quality of service to jobs of different classes by regulating their memory allocation is examined in the context of a paged computer system.",
  classcodes =   "C6120 (File organisation); C6150J (Operating systems)",
  classification = "723",
  corpsource =   "Univ. of Newcastle upon Tyne, Newcastle upon Tyne, UK",
  country =      "USA",
  descriptors =  "Queueing network; response time; memory management; priority; performance evaluation; memory organization; operating system;",
  enum =         "1369",
  journalabr =   "Commun ACM",
  keywords =     "computer operating systems; control; memory allocation; multiclass systems; multiprogramming; operating systems (computers); paged computer; paging; performance control; Queueing networks; response times; storage; storage allocation; system; virtual; virtual memory",
  language =     "English",
  references =   "13",
  treatment =    "P Practical",
}

@Article{Kowalski:1979:ALC,
  author =       "Robert A. Kowalski",
  title =        "Algorithm = Logic + Control",
  journal =      j-CACM,
  volume =       "22",
  number =       "7",
  pages =        "424--436",
  month =        jul,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Ai/prolog.bib and ftp://ftp.ira.uka.de/pub/bibliography/Ai/prolog.1.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory)",
  corpsource =   "Imperial Coll., London, UK",
  keywords =     "algorithm; algorithm theory; computer programs; control; logic; programming theory; prolog; theorem proving",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Wong:1979:SAP,
  author =       "J. W. Wong and G. Scott Graham",
  title =        "Self-Assessment Procedure {VI}: a self-assessment procedure dealing with queueing network models of computer systems",
  journal =      j-CACM,
  volume =       "22",
  number =       "8",
  pages =        "449--454",
  month =        aug,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Sat Jan 18 15:44:35 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1979.bib",
  country =      "USA",
  descriptors =  "Queueing system; simulation; measurement; communication network; solved exercise; bibliography;",
  enum =         "3335",
  language =     "English",
  references =   "34",
}

@Article{Floyd:1979:PP,
  author =       "R. W. Floyd",
  title =        "The paradigms of programming",
  journal =      j-CACM,
  volume =       "22",
  number =       "8",
  pages =        "455--460",
  month =        aug,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Ai/constr.logic.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming)",
  corpsource =   "Dept. of Computer Sci., Stanford Univ., Stanford, CA, USA",
  keywords =     "computer programs; languages; paradigms; programming; structural programming",
  treatment =    "G General Review",
}

@Article{Hirschberg:1979:CCC,
  author =       "D. S. Hirschberg and A. K. Chandra and D. V. Sarwate",
  title =        "Computing Connected Components on Parallel Computers",
  journal =      j-CACM,
  volume =       "22",
  number =       "8",
  pages =        "461--464",
  month =        aug,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68C25 (68B20 68E10)",
  MRnumber =     "80h:68041",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Parallel/Multi.bib",
  abstract =     "We present a parallel algorithm which uses $n^2$ processors to find the connected components of an undirected graph with $n$ vertices in time $O(log2n)$. An $O(\log_2n)$ time bound also can be achieved using only $n n/\log_2n$ processors. The algorithm can be used to find the transitive closure of a symmetric Boolean matrix. We assume that the processors have access to a common memory. Simultaneous access to the same location is permitted for fetch instructions but not for store instructions.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C6150J (Operating systems)",
  corpsource =   "Dept. of Electrical Engng., Rice Univ., Houston, TX, USA",
  keywords =     "(computers); algorithm; algorithms; Boolean matrix; connected component; connected components; fetch instructions; file organisation; Graph theory; graph theory; operating systems; OS; parallel; parallel computers; parallel processing; store instructions; time bound; transitive closure; undirected graph",
  treatment =    "P Practical; T Theoretical or Mathematical",
}

@Article{Dershowitz:1979:PTM,
  author =       "Nachum Dershowitz and Zohar Manna",
  title =        "Proving Termination with Multiset Orderings",
  journal =      j-CACM,
  volume =       "22",
  number =       "8",
  pages =        "465--476",
  month =        aug,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68B10",
  MRnumber =     "80g:68017",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Theory/obscure.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory)",
  corpsource =   "Computer Sci. Dept., Stanford Univ., Stanford, CA, USA",
  keywords =     "multiset orderings; program variables; programming theory; proving the termination of programs; termination function",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Denning:1979:SPC,
  author =       "Dorothy E. Denning",
  title =        "Secure Personal Computing in an Insecure Network",
  journal =      j-CACM,
  volume =       "22",
  number =       "8",
  pages =        "476--482",
  month =        aug,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68A05 (68B15 94A99)",
  MRnumber =     "80d:68010",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  corpsource =   "Computer Sci. Dept., Purdue Univ., West Lafayette, IN, USA",
  keywords =     "communication links; confidential data; confidential files; encoding; encryption; insecure network; secure personal computing; security of data",
  treatment =    "P Practical",
}

@Article{Nelson:1979:FRS,
  author =       "L. S. Nelson",
  title =        "Further remark on stably updating mean and standard deviation estimates",
  journal =      j-CACM,
  volume =       "22",
  number =       "8",
  pages =        "483--483",
  month =        aug,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1979.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming); C7310 (Mathematics computing)",
  corpsource =   "Appl. Math. Lab., General Electric Co., Louisville, KY, USA",
  country =      "USA",
  descriptors =  "expectation; standard deviation; moment estimation; numerical method",
  enum =         "2249",
  keywords =     "Mean; programming; standard deviation; standard deviation estimates; statistics; updating",
  language =     "English",
  references =   "3",
  treatment =    "P Practical; T Theoretical or Mathematical",
}

@Article{Feldman:1979:REC,
  author =       "Jerome A. Feldman and William R. Sutherland",
  title =        "Rejuvenating Experimental Computer Science --- {A} Report to the {National Science Foundation} and Others",
  journal =      j-CACM,
  volume =       "22",
  number =       "9",
  pages =        "497--502",
  month =        sep,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  abstract =     "This report is based on the results of an NSF sponsored workshop held in Washington, DC, on November 2, 1978. The co-authors of the report are: Gordon Bell, Digital Equipment Corporation; Bernard A. Galler, University of Michigan; Patricia Goldberg, IBM Corporation; John Hamblen, University of Missouri at Rolla; Elliot Pinson, Bell Telephone Laboratories; and Ivan Sutherland, California Institute of Technology. Also participating in the workshop were representatives of NSF and other government agencies. In addition to the authors, a number of other people have contributed to the contents of this report. In preparation for the original workshop, all doctorate-granting computer science departments in the nation were asked for comments and suggestions on the problems of experimental computer science. A version of the current report dated January 15 was circulated to these departments and to a number of industrial and government groups for criticism. The editors and authors of this final version gratefully acknowledge the contribution of a large number of other people at all stages in the preparation of the report. \par Note: Following this presentation of the report, there is a position paper on the crisis in experimental computer science written by the ACM Executive Committee.",
  acknowledgement = ack-nhfb,
  classcodes =   "C0220 (Computing education and training)",
  corpsource =   "Univ. of Rochester, Rochester, NY, USA",
  keywords =     "capital equipment; computer science education; experimental computer science; investment; universities",
  treatment =    "G General Review",
}

@Article{McCracken:1979:AAE,
  author =       "Daniel D. {McCracken, CCP} and Peter J. Denning and David H. Brandin",
  title =        "Addendum: An {ACM} Executive Committee Position on the Crisis in Experimental Computer Science",
  journal =      j-CACM,
  volume =       "22",
  number =       "9",
  pages =        "503--504",
  month =        sep,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Sat Jan 18 15:46:13 1997",
}

@Article{Galil:1979:IWC,
  author =       "Zvi Galil",
  title =        "On Improving the Worse Case Running Time of the {Boyer-Moore} String Matching Algorithm",
  journal =      j-CACM,
  volume =       "22",
  number =       "9",
  pages =        "505--508",
  month =        sep,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68H05 (68C25)",
  MRnumber =     "80m:68083",
  mrreviewer =   "Andrew Yao",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  acknowledgement = ack-nhfb,
  annote =       "It compares the pattern with the text from the right end of the pattern. Whenever a mismatch occurs, it shifts the pattern according to a precomputed table. In the case that the text character positioned against the last character in the pattern does not appear in the pattern, we can immediately shift the pattern right a distance equal to the size of the pattern. Thus, we need to inspect only about $n/m$ characters of the text (where $n$ and $m$ are the sizes of the text pattern).",
  classcodes =   "C4240 (Programming and algorithm theory); C6130 (Data handling techniques)",
  corpsource =   "Tel-Aviv Univ., Tel-Aviv, Israel",
  keywords =     "algorithm; computational complexity; data handling; running time; string matching; worst case",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Raiha:1979:OIA,
  author =       "Kari-Jouko R{\"a}ih{\"a} and Stuart H. Zweben",
  title =        "An Optimal Insertion Algorithm for One-Sided Height-Balanced Binary Search Trees",
  journal =      j-CACM,
  volume =       "22",
  number =       "9",
  pages =        "508--512",
  month =        sep,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68C25 (68E10)",
  MRnumber =     "80h:68044",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1979.bib",
  abstract =     "An algorithm for inserting an element into a one-sided height-balanced (OSHB) binary search tree is presented. The algorithm operates in time $O(\log n)$, where $n$ is the number of nodes in the tree. This represents an improvement over the best previous ly known insertion algorithms of Hirschberg and Kosaraju, which require time $O(\log 2n)$. Moreover, the $O(\log n)$ complexity is optimal. Earlier results have shown that deletion in such a structure can also be performed in $O(\log n)$ time. Thus the result of this paper gives a negative answer to the question of whether such trees should be the first examples of their kind, where deletion has a smaller time complexity than insertion. Furthermore, it can now be concluded that insertion, deletion, and retrieval in OSHB trees can be performed in the same time as the corresponding operations for the more general AVL trees, to within a constant factor. However, the insertion and deletion algorithms for OSHB trees appear much more complicated than the corresponding algorithms for AVL trees.",
  acknowledgement = ack-nhfb,
  annote =       "An algorithm for inserting an element into a one-sided height-balanced (OSHB) binary search tree is presented. The algorithm operates in time $O(\log{N})$, where $N$ is the number of nodes in the tree. This represents an improvement over the best previously known insertion algorithms of Hirschberg and Kosaraju, which require time $O(\log{N}\log{N})$.",
  classcodes =   "C4240 (Programming and algorithm theory); C6130 (Data handling techniques)",
  corpsource =   "Univ. of Helsinki, Helsinki, Finland",
  country =      "USA",
  descriptors =  "Method; information system; search tree; graph theory;",
  enum =         "2486",
  keywords =     "binary; binary trees; data handling; height balanced; height-balanced trees; Insertion; insertion algorithm; one; one-sided height-balanced trees; optimal; search trees; search trees.; sided",
  language =     "English",
  references =   "13",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Hansen:1979:PAD,
  author =       "Wilfred J. Hansen",
  title =        "Progressive acyclic digraphs --- a tool for database integrity",
  journal =      j-CACM,
  volume =       "22",
  number =       "9",
  pages =        "513--518",
  month =        sep,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68B15 (68C05)",
  MRnumber =     "80h:68011",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C1160 (Combinatorial mathematics); C4240 (Programming and algorithm theory); C6160 (Database management systems (DBMS))",
  corpsource =   "Univ. of Illinois, Urbana, IL, USA",
  keywords =     "database integrity; database management systems; directed graphs; progressive acyclic digraph",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Nagy:1979:APM,
  author =       "G. Nagy and S. G. Wagle",
  title =        "Approximation of Polygonal Maps by Cellular Maps",
  journal =      j-CACM,
  volume =       "22",
  number =       "9",
  pages =        "518--525",
  month =        sep,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Graphics/imager/imager.79.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C7340 (Geophysics computing)",
  corpsource =   "Univ. of Nebraska, Lincoln, NE, USA",
  keywords =     "and Applications; approximation; cartography; cellular maps; data structure; data structures; geographical; mathematical aspects; polygonal maps",
  treatment =    "A Application; T Theoretical or Mathematical",
  xxauthor =     "G. Nagy and G. Wagle",
}

@Article{Chan:1979:CSD,
  author =       "T. F. Chan and J. G. Lewis",
  title =        "Computing standard deviations: accuracy",
  journal =      j-CACM,
  volume =       "22",
  number =       "9",
  pages =        "526--531",
  month =        sep,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1979.bib",
  abstract =     "Four algorithms for the numerical computation of the standard deviation of (unweighted) sampled data are analyzed. Two of the algorithms are well-known in the statistical and computational literature; the other two are new algorithms specifically intended for automatic computation. Our discussion is expository, with emphasis on reaching a suitable definition of ``accuracy.'' Each of the four algorithms is analyzed for the conditions under which it will be accurate. We conclude that all four algorithms will provide accurate answers for many problems, but two of the algorithms, one new, one old, are substantially more accurate on difficult problems than are the other two.",
  acknowledgement = ack-nhfb,
  classcodes =   "C1140Z (Other topics in statistics); C7310 (Mathematics computing)",
  corpsource =   "Stanford Univ., Stanford, CA, USA",
  country =      "USA",
  descriptors =  "Expectation; standard deviation; moment estimation; numerical method; comparison; runtime/storage efficiency; rounding error; computer arithmetic;",
  enum =         "515",
  keywords =     "accuracy; condition number.; least squares; Mean; numerical computation; rounding error analysis; sampled data; standard deviation; standard deviations; statistics; updating estimates",
  language =     "English",
  references =   "11",
  treatment =    "A Application; T Theoretical or Mathematical",
  xxtitle =      "Computing Standard Deviation: Accuracy",
}

@Article{West:1979:UMV,
  author =       "D. H. D. West",
  title =        "Updating mean and variance estimates: an improved method",
  journal =      j-CACM,
  volume =       "22",
  number =       "9",
  pages =        "532--535",
  month =        sep,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1979.bib and ftp://ftp.ira.uka.de/pub/bibliography/Theory/Matrix.bib",
  abstract =     "A method of improved efficiency is given for updating the mean and variance of weighted sampled data when an additional data value is included in the set. Evidence is presented that the method is stable and at least as accurate as the best existing updating method.",
  acknowledgement = ack-nhfb,
  annote =       "A method of improved efficiency is given for updating the mean and variance of weighted sampled data when an additional data value is included in the set. Evidence is presented that the method is stable and at least as accurate as the best existing updating method.",
  classcodes =   "C1140Z (Other topics in statistics); C7310 (Mathematics computing)",
  corpsource =   "Univ. of Dublin, Dublin, Ireland",
  country =      "USA",
  descriptors =  "Expectation; standard deviation; moment estimation; numerical method; comparison; runtime/storage efficiency; variance;",
  enum =         "3271",
  keywords =     "efficiency; estimates; mean; Mean; removing data; sampled data; standard deviation; statistics; updating; updating estimates; variance; weighted",
  kwds =         "mean, standard deviation, variance, updating",
  language =     "English",
  references =   "7",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@Article{Laird:1979:COE,
  author =       "P. D. Laird",
  title =        "Comment on: {``An optimal evaluation of Boolean expressions in an online query system'' [Comm. ACM, 20, 1977, no. 5, 344--347, MR 55 \#9627] by M. Z. Hanani}",
  journal =      j-CACM,
  volume =       "22",
  number =       "10",
  pages =        "549--550",
  month =        oct,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68H05 (68B15)",
  MRnumber =     "81b:68118",
  mrreviewer =   "K. H. V. Booth",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation); C7250L (Non-bibliographic retrieval systems)",
  corpsource =   "Shared Medical Systems Corp., King of Prussia, PA, USA",
  keywords =     "Boolean expressions; Boolean functions; file organisation; information; information retrieval; online query system; retrieval",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Gudes:1979:NOE,
  author =       "Ehud Gudes and Anthony Hoffman",
  title =        "A note on: {``An optimal evaluation of Boolean expressions in an online query system'' [Comm. ACM, 20, 1977, no. 5, 344--347, MR 55 \#9627] by M. Z. Hanani}",
  journal =      j-CACM,
  volume =       "22",
  number =       "10",
  pages =        "550--553",
  month =        oct,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68H05",
  MRnumber =     "80k:68085",
  mrreviewer =   "K. H. V. Booth",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7250L (Non-bibliographic retrieval systems)",
  corpsource =   "Pennsylvania State Univ., University Park, PA, USA",
  keywords =     "Boolean expressions; Boolean functions; information retrieval; online query system",
  treatment =    "P Practical",
}

@Article{Anderson:1979:CCP,
  author =       "M. R. Anderson and M. G. Anderson",
  title =        "Corrigendum: {``Comments on Perfect Hashing Functions: A Single Probe Retrieving Method for Static Sets''}",
  journal =      j-CACM,
  volume =       "22",
  number =       "10",
  pages =        "553",
  month =        oct,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Wed Dec 27 08:06:10 1995",
  note =         "Corrects \cite{Anderson:1979:CPH}.",
  acknowledgement = ack-nhfb,
}

@Article{Lamport:1979:PCC,
  author =       "Leslie Lamport",
  title =        "On the Proof of Correctness of a Calendar Program",
  journal =      j-CACM,
  volume =       "22",
  number =       "10",
  pages =        "554--556",
  month =        oct,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68B10",
  MRnumber =     "80f:68017",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C4240 (Programming and algorithm theory)",
  corpsource =   "SRI Internat., Menlo Part, CA, USA",
  keywords =     "calendar program; correctness; formal specification; programming theory; proof",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Klint:1979:LNM,
  author =       "Paul Klint",
  title =        "Line Numbers Made Cheap",
  journal =      j-CACM,
  volume =       "22",
  number =       "10",
  pages =        "557--559",
  month =        oct,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6110 (Systems analysis and programming)",
  corpsource =   "Math. Centrum, Amsterdam, Netherlands",
  keywords =     "execution; line number administration; programming",
  treatment =    "P Practical",
}

@Article{Lozano-Perez:1979:APC,
  author =       "Tom{\'a}s Lozano-P{\'e}rez and Michael A. Wesley",
  title =        "An Algorithm for Planning Collision-Free Paths Among Polyhedral Obstacles",
  journal =      j-CACM,
  volume =       "22",
  number =       "10",
  pages =        "560--570",
  month =        oct,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Graphics/imager/imager.79.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C7490 (Computing in other engineering fields)",
  corpsource =   "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA",
  keywords =     "algorithmic aspects; collision avoidance algorithm; collision free; digital simulation; forbidden positions; intersection; intersection determination; network; path; path planning; polyhedral obstacles; representation of objects; safe; solids; three-dimensional graphics; vertex",
  ref =          "VV35",
  treatment =    "P Practical; T Theoretical or Mathematical",
}

@Article{Morris:1979:CGC,
  author =       "F. L. Morris",
  title =        "On a Comparison of Garbage Collection Techniques",
  journal =      j-CACM,
  volume =       "22",
  number =       "10",
  pages =        "571",
  month =        oct,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Wed Sep 21 22:40:09 1994",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Compiler/garbage.collection.bib",
}

@Article{Mayer:1979:PLB,
  author =       "R. E. Mayer",
  title =        "A psychology of learning {BASIC}",
  journal =      j-CACM,
  volume =       "22",
  number =       "11",
  pages =        "589--593",
  month =        nov,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C0220 (Computing education and training); C6110 (Systems analysis and programming); C6140D (High level languages)",
  corpsource =   "Univ. of California, Santa Barbara, CA, USA",
  keywords =     "BASIC; computer science education; prestatement; programming; transaction",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Morris:1979:PSC,
  author =       "R. Morris and K. Thompson",
  title =        "Password Security --- {A} Case History",
  journal =      j-CACM,
  volume =       "22",
  number =       "11",
  pages =        "594--597",
  month =        nov,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib and ftp://ftp.ira.uka.de/pub/bibliography/Misc/security.1.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques); C6150J (Operating systems)",
  corpsource =   "Bell Labs., Murray Hill, NJ, USA",
  keywords =     "operating systems (computers); OS; password security scheme; remotely accessed time sharing; security of data; system; UNIX ATT operating CACM",
  ort =          "ordner sicherheit",
  treatment =    "A Application; G General Review",
}

@Article{Peleg:1979:BSC,
  author =       "Shmuel Peleg and Azriel Rosenfeld",
  title =        "Breaking Substitution Ciphers Using a Relaxation Algorithm",
  journal =      j-CACM,
  volume =       "22",
  number =       "11",
  pages =        "598--605",
  month =        nov,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Misc/security.1.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C1230 (Artificial intelligence)",
  corpsource =   "Univ. of Maryland, College Park, MD, USA",
  keywords =     "artificial intelligence; computer security; cryptography; decoding; joint letter probabilities; letters; plaintext; relaxation; relaxation algorithm; substitution ciphers; updating scheme",
  ort =          "ordner sicherheit",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Tarjan:1979:SST,
  author =       "Robert Endre Tarjan and Andrew Chi Chih Yao",
  title =        "Storing a Sparse Table",
  journal =      j-CACM,
  volume =       "22",
  number =       "11",
  pages =        "606--611",
  month =        nov,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "68B15 (68H05)",
  MRnumber =     "81e:68019",
  mrreviewer =   "Armin Cremers",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C6120 (File organisation)",
  corpsource =   "Stanford Univ., Stanford, CA, USA",
  keywords =     "hashing; LR parsing tables; sparse table; static table; storage allocation",
  treatment =    "P Practical; T Theoretical or Mathematical",
}

@Article{Shamir:1979:HSS,
  author =       "Adi Shamir",
  title =        "How to Share a Secret",
  journal =      j-CACM,
  volume =       "22",
  number =       "11",
  pages =        "612--613",
  month =        nov,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  MRclass =      "94B99 (68E99)",
  MRnumber =     "80g:94070",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Misc/security.1.bib and ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib",
  acknowledgement = ack-nhfb,
  annote =       "protection against loss of keys by dividing the data into pieces.",
  classcodes =   "C6130 (Data handling techniques)",
  corpsource =   "MIT, Cambridge, MA, USA",
  keywords =     "computer security; cryptographic systems; cryptography; encoding; key management; robust key management schemes; security breaches; security of data",
  ort =          "ordner sicherheit",
  treatment =    "P Practical; T Theoretical or Mathematical",
}

@Article{Lipis:1979:CCU,
  author =       "A. H. Lipis",
  title =        "Costs of the current {US} payments system",
  journal =      j-CACM,
  volume =       "22",
  number =       "12",
  pages =        "644--647",
  month =        dec,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C7120 (Financial computing)",
  corpsource =   "Electronic Banking Inc., Atlanta, GA, USA",
  keywords =     "banking industry; cash; credit cards; EFT; EFT transactions; EFTS; systems",
  treatment =    "E Economic; P Practical",
}

@Article{Long:1979:PPE,
  author =       "R. H. Long",
  title =        "Public protection and education with {EFT}",
  journal =      j-CACM,
  volume =       "22",
  number =       "12",
  pages =        "648--654",
  month =        dec,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C0230 (Economic, social and political aspects of computing); C7120 (Financial computing)",
  corpsource =   "Bank Administration Inst., Park Ridge, IL, USA",
  keywords =     "consumers; education; EFT; EFTS; social aspects of automation",
  treatment =    "P Practical",
}

@Article{Parker:1979:VEI,
  author =       "D. B. Parker",
  title =        "Vulnerabilities of {EFTs} to intentionally caused losses",
  journal =      j-CACM,
  volume =       "22",
  number =       "12",
  pages =        "654--660",
  month =        dec,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C0230 (Economic, social and political aspects of computing); C7120 (Financial computing)",
  corpsource =   "SRI Internat., Menlo Park, CA, USA",
  keywords =     "back-up requirements; business crimes; economics; EFTs; EFTS; electronic funds transfer systems; legislative actions; security; security of data",
  treatment =    "P Practical",
}

@Article{Kraemer:1979:PVE,
  author =       "K. L. Kraemer and K. Colton",
  title =        "Policy, values, and {EFT} research: anatomy of a research agenda",
  journal =      j-CACM,
  volume =       "22",
  number =       "12",
  pages =        "660--671",
  month =        dec,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  acknowledgement = ack-nhfb,
  classcodes =   "C0230 (Economic, social and political aspects of computing); C7120 (Financial computing)",
  corpsource =   "Univ. of California, Irvine, CA, USA",
  keywords =     "American society; EFT research; EFTS; social aspects of automation",
  treatment =    "B Bibliography; P Practical",
}

@Article{Shoch:1979:MPE,
  author =       "J. F. Shoch and J. A. Hupp",
  title =        "Measured Performance of an {ETHERNET} Local Network",
  journal =      j-CACM,
  volume =       "23",
  number =       "12",
  pages =        "711--721",
  month =        dec,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Sat Jan 18 15:47:21 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1979.bib",
  country =      "USA",
  descriptors =  "LAN;",
  enum =         "2893",
  language =     "English",
  references =   "0",
}

@Article{Samet:1979:QMA,
  author =       "Hanan Samet",
  title =        "A quadtree medial axis transform",
  journal =      j-CACM,
  volume =       "26",
  number =       "9",
  pages =        "680--693",
  month =        sep,
  year =         "1979",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Sat Jan 18 15:48:10 1997",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Graphics/siggraph/79.bib",
}

@Article{Pearson:1990:FHV,
  author =       "Peter K. Pearson",
  title =        "Fast Hashing of Variable-Length Text Strings",
  journal =      j-CACM,
  volume =       "33",
  number =       "6",
  pages =        "677--680",
  month =        jun,
  year =         "1990",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Sat Apr 06 08:06:41 1996",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Misc/protein.pattern.bib",
  abstract =     "Tailored to variable-length text strings, this hashing function uses very little arithmetic and can be used where perfect hashing is desired.",
  acknowledgement = ack-nhfb,
  annote =       "Based on exclusive OR (XOR).",
  comment =      "A simple fast hashing algorithm is given for variable length text strings. Essentially an xor is done over all of the characters of the string and the result is the hash value. Some analysis is done and a practical implementation is reported on.",
  review =       "ACM CR 9012-0958",
}

@Article{Sunday:1990:VFS,
  author =       "Daniel M. Sunday",
  title =        "A Very Fast Substring Search Algorithm",
  journal =      j-CACM,
  volume =       "33",
  number =       "8",
  pages =        "132--142",
  month =        aug,
  year =         "1990",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Jan 09 09:26:55 1996",
  note =         "See also \cite{Boyer:1977:FSS} and \cite{Knuth:1977:FPM}.",
  acknowledgement = ack-nhfb,
}

@Article{Dittmer:1991:NFH,
  author =       "I. Dittmer",
  title =        "Note on Fast Hashing of Variable Length Text Strings",
  journal =      j-CACM,
  volume =       "34",
  number =       "11",
  pages =        "118",
  month =        nov,
  year =         "1991",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Sun Jul 17 19:42:16 1994",
  note =         "Points out that Pearson's hashing algorithm \cite{Pearson:1990:FHV} was discovered fourteen years earlier by this author \cite{Dittmer:1976:IEP}. See also comments in \cite{Savoy:1991:NFH,Litsios:1991:NFH,Pearson:1991:NFH}.",
}

@Article{Savoy:1991:NFH,
  author =       "Jacques Savoy",
  title =        "Note on Fast Hashing of Variable Length Text Strings",
  journal =      j-CACM,
  volume =       "34",
  number =       "11",
  pages =        "118--119",
  month =        nov,
  year =         "1991",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Jul 19 17:58:09 1994",
  note =         "Suggests an improvement to Pearson's hashing algorithm \cite{Pearson:1990:FHV} that avoids secondary clustering. Exhibits a key set for which Pearson's algorithm produces alarming clustering. See also comments in \cite{Dittmer:1991:NFH,Litsios:1991:NFH,Pearson:1991:NFH}.",
  acknowledgement = ack-nhfb,
}

@Article{Litsios:1991:NFH,
  author =       "James Litsios",
  title =        "Note on Fast Hashing of Variable Length Text Strings",
  journal =      j-CACM,
  volume =       "34",
  number =       "11",
  pages =        "118--120",
  month =        nov,
  year =         "1991",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Jul 19 18:02:04 1994",
  note =         "Suggests a simple extension of Pearson's hashing algorithm \cite{Pearson:1990:FHV} that supports non-character data. See also comments in \cite{Dittmer:1991:NFH,Savoy:1991:NFH,Pearson:1991:NFH}.",
  acknowledgement = ack-nhfb,
}

%=======================================================================
% Cross-referenced entries come last.

@Article{Pearson:1991:NFH,
  author =       "Peter Pearson",
  title =        "Note on Fast Hashing of Variable Length Text Strings",
  journal =      j-CACM,
  volume =       "34",
  number =       "11",
  pages =        "120",
  month =        nov,
  year =         "1991",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Jul 19 17:58:54 1994",
  note =         "Responds to several comments \cite{Dittmer:1991:NFH,Litsios:1991:NFH,Savoy:1991:NFH} on the author's earlier paper \cite{Pearson:1990:FHV}.",
  acknowledgement = ack-nhfb,
}

@Article{Knuth:1974:SPG,
  author =       "Donald E. Knuth",
  title =        "Structured Programming with {\bf go to} Statements",
  journal =      j-COMP-SURV,
  volume =       "6",
  number =       "4",
  pages =        "261--301",
  month =        dec,
  year =         "1974",
  CODEN =        "CMSVAN",
  ISSN =         "0360-0300",
  bibdate =      "Sat Aug 27 10:36:49 1994",
  note =         "Reprinted with revisions in {\sl Current Trends in Programming Methodology}, Raymond T. Yeh, ed., {\bf 1} (Englewood Cliffs, NJ: Prentice-Hall, 1977), 140--194; {\sl Classics in Software Engineering}, Edward Nash Yourdon, ed.\ (New York: Yourdon Press, 1979), 259--321. Reprinted with ``final'' revisions in \cite[pp. 17--89]{Knuth:1992:LP}. This paper is a response to \cite{Dijkstra:1968:GSC}.",
  acknowledgement = ack-nhfb,
}

@Article{Graham:1976:FUL,
  author =       "Susan L. Graham and Mark Wegman",
  title =        "A Fast and Usually Linear Algorithm for Global Flow Analysis",
  journal =      j-J-ACM,
  volume =       "23",
  number =       "1",
  pages =        "172--202",
  month =        jan,
  year =         "1976",
  CODEN =        "JACOAH",
  ISSN =         "0004-5411",
  bibdate =      "Wed Jan 15 18:12:53 MST 1997",
  bibsource =    "Compendex database",
  abstract =     "A new algorithm for global flow analysis on reducible graphs is presented. The algorithm is shown to treat a very general class of function spaces. For a graph of e edges, the algorithm has a worst-case time bound of 0(e log e) function operations. It is also shown that in programming terms, the number of operations is proportional to e plus the number of exits from program loops. Consequently a restriction to one-entry one-exit control structures guarantees linearity. The algorithm can be extended to yet larger classes of function spaces and graphs by relaxing the time bound. Examples are given of code improvement problems which can be solved using the algorithm.",
  acknowledgement = ack-nhfb,
  classification = "723; 921",
  journalabr =   "J Assoc Comput Mach",
  keywords =     "computer programming; mathematical programming",
}

@Article{Brown:1972:CSC,
  author =       "R. J. Brown",
  title =        "Chromatic scheduling and the chromatic number problem",
  journal =      j-MANAGEMENT-SCIENCE,
  volume =       "19",
  pages =        "451--463",
  year =         "1972",
  CODEN =        "MSCIAM",
  ISSN =         "0025-1909",
  annote =       "Implicit enumeration algorithm [not seen].",
}

@Article{Knuth:1977:FPM,
  author =       "Donald E. Knuth and J. H. Morris and V. R. Pratt",
  title =        "Fast pattern matching in strings",
  journal =      j-SIAM-J-COMPUT,
  volume =       "6",
  number =       "2",
  pages =        "323--350",
  month =        jun,
  year =         "1977",
  CODEN =        "SMJCAT",
  ISSN =         "0097-5397",
  bibdate =      "Tue Feb 6 05:29:37 1996",
  note =         "See also \cite{Boyer:1977:FSS} and \cite{Sunday:1990:VFS}.",
}

@Article{Tharp:1982:PTS,
  author =       "A. L. Tharp and K.-C. Tai",
  title =        "The practicality of text signatures for accelerating string searching",
  journal =      j-SPE,
  volume =       "12",
  number =       "1",
  pages =        "35--44",
  month =        jan,
  year =         "1982",
  CODEN =        "SPEXBL",
  ISSN =         "0038-0644",
  bibdate =      "Tue Feb 06 05:30:19 1996",
  note =         "Expands Harrison's work \cite{Harrison:1971:IST}.",
  acknowledgement = ack-nhfb,
}

@Article{Skovgaard:1975:RBF,
  author =       "Ove Skovgaard",
  title =        "Remark on {``Algorithm 236: Bessel Functions of the First Kind [S17]''}",
  journal =      j-TOMS,
  volume =       "1",
  number =       "3",
  pages =        "282--284",
  month =        sep,
  year =         "1975",
  CODEN =        "ACMSCU",
  ISSN =         "0098-3500",
  bibdate =      "Tue Feb 06 05:26:43 1996",
  note =         "See \cite{Gautschi:1964:AAB}.",
  acknowledgement = ack-nhfb,
}

@Article{Misra:1975:RG,
  author =       "Jayadev Misra",
  title =        "Remark on {``Algorithm 246: Graycode [Z]''}",
  journal =      j-TOMS,
  volume =       "1",
  number =       "3",
  pages =        "285--285",
  month =        sep,
  year =         "1975",
  CODEN =        "ACMSCU",
  ISSN =         "0098-3500",
  bibdate =      "Tue Feb 06 05:25:57 1996",
  note =         "See \cite{Boothroyd:1964:AAG,Er:1985:RG}.",
  acknowledgement = ack-nhfb,
}

@Article{Feinstein:1975:RMT,
  author =       "Robert Feinstein",
  title =        "Remark on {``Algorithm 483: Masked Three-Dimensional Plot Program with Rotations [J6]''}",
  journal =      j-TOMS,
  volume =       "1",
  number =       "9",
  pages =        "285--285",
  month =        sep,
  year =         "1975",
  CODEN =        "ACMSCU",
  ISSN =         "0098-3500",
  bibdate =      "Tue Feb 06 05:25:34 1996",
  note =         "See \cite{Watkins:1974:AAM}.",
  acknowledgement = ack-nhfb,
}

@Article{Boulton:1976:REP,
  author =       "D. M. Boulton",
  title =        "Remark on {``Algorithm 434: Exact Probabilities for $R\times{C}$ Contingency Tables [G2]''}",
  journal =      j-TOMS,
  volume =       "2",
  number =       "1",
  pages =        "108--108",
  month =        mar,
  year =         "1976",
  CODEN =        "ACMSCU",
  ISSN =         "0098-3500",
  bibdate =      "Tue Feb 06 05:26:29 1996",
  note =         "See \cite{March:1972:AAE}.",
  acknowledgement = ack-nhfb,
}

@Article{Duta:1976:RVS,
  author =       "Lucian D. Duta",
  title =        "Remark on {``Algorithm 475: Visible Surface Plotting Program [J6]''}",
  journal =      j-TOMS,
  volume =       "2",
  number =       "1",
  pages =        "109--110",
  month =        mar,
  year =         "1976",
  CODEN =        "ACMSCU",
  ISSN =         "0098-3500",
  bibdate =      "Tue Feb 06 05:26:59 1996",
  note =         "See \cite{Wright:1974:VSP}.",
  acknowledgement = ack-nhfb,
}

@Article{White:1976:RMS,
  author =       "G. M. White and S. Goudreau and J. L. Legros",
  title =        "Remark on {``Algorithm 479: A Minimal Spanning Tree Clustering Method [Z]''}",
  journal =      j-TOMS,
  volume =       "2",
  number =       "1",
  pages =        "110--111",
  month =        mar,
  year =         "1976",
  CODEN =        "ACMSCU",
  ISSN =         "0098-3500",
  bibdate =      "Tue Feb 06 05:28:06 1996",
  note =         "See \cite{Page:1974:AAM}.",
  acknowledgement = ack-nhfb,
}

@Article{Pomeranz:1976:REC,
  author =       "J. Pomeranz",
  title =        "Remark on {``Algorithm 487: Exact Cumulative Distribution of the Kolmogorov-Smirnov Statistic for Small Samples [S14]''}",
  journal =      j-TOMS,
  volume =       "2",
  number =       "1",
  pages =        "111--111",
  month =        mar,
  year =         "1976",
  CODEN =        "ACMSCU",
  ISSN =         "0098-3500",
  bibdate =      "Tue Feb 06 05:28:05 1996",
  note =         "See \cite{Pomeranz:1974:AAE}.",
  acknowledgement = ack-nhfb,
}

@Article{Morris:1976:RDF,
  author =       "Robert Morris",
  title =        "Remark on {``Algorithm 490: The Dilogarithm Function of a Real Argument [S22]''}",
  journal =      j-TOMS,
  volume =       "2",
  number =       "1",
  pages =        "112--112",
  month =        mar,
  year =         "1976",
  CODEN =        "ACMSCU",
  ISSN =         "0098-3500",
  bibdate =      "Tue Feb 06 05:28:02 1996",
  note =         "See \cite{Ginsberg:1975:AAD}.",
  acknowledgement = ack-nhfb,
}

@Article{Pike:1976:RIB,
  author =       "Malcolm C. Pike and Jennie SooHoo",
  title =        "Remark on {``Algorithm 179: Incomplete Beta Ratio [S14]''}",
  journal =      j-TOMS,
  volume =       "2",
  number =       "2",
  pages =        "207--208",
  month =        jun,
  year =         "1976",
  CODEN =        "ACMSCU",
  ISSN =         "0098-3500",
  bibdate =      "Tue Feb 06 05:28:04 1996",
  note =         "See \cite{Ludwig:1963:AAI}.",
  acknowledgement = ack-nhfb,
}

@Article{Anderson:1976:RIS,
  author =       "Michael R. Anderson",
  title =        "Remark on {``Algorithm 433: Interpolation and Smooth Curve Fitting Based on Local Procedures [E2]''}",
  journal =      j-TOMS,
  volume =       "2",
  number =       "2",
  pages =        "208--208",
  month =        jun,
  year =         "1976",
  CODEN =        "ACMSCU",
  ISSN =         "0098-3500",
  bibdate =      "Tue Feb 06 05:26:36 1996",
  note =         "See \cite{Akima:1972:AAI}.",
  acknowledgement = ack-nhfb,
}

@Article{Davies:1976:RRF,
  author =       "Alan M. Davies",
  title =        "Remark on {``Algorithm 450: Rosenbrock Function Minimization [E4]''}",
  journal =      j-TOMS,
  volume =       "2",
  number =       "3",
  pages =        "300--301",
  month =        sep,
  year =         "1976",
  CODEN =        "ACMSCU",
  ISSN =         "0098-3500",
  bibdate =      "Tue Feb 06 05:26:54 1996",
  note =         "See \cite{MacHura:1973:AAR}.",
  acknowledgement = ack-nhfb,
}

@Article{Brown:1976:RAS,
  author =       "Theodore Brown",
  title =        "Remark on {``Algorithm 489: The Algorithm SELECT --- for Finding the $i$th Smallest of $n$ Elements [M1]''}",
  journal =      j-TOMS,
  volume =       "2",
  number =       "3",
  pages =        "301--304",
  month =        sep,
  year =         "1976",
  CODEN =        "ACMSCU",
  ISSN =         "0098-3500",
  bibdate =      "Tue Feb 06 05:26:24 1996",
  note =         "See \cite{Floyd:1975:AAA}.",
  acknowledgement = ack-nhfb,
}

@Article{Ito:1976:RIT,
  author =       "M. R. Ito",
  title =        "Remark on {``Algorithm 284: Interchange of Two Blocks of Data [K2]''}",
  journal =      j-TOMS,
  volume =       "2",
  number =       "4",
  pages =        "392--393",
  month =        dec,
  year =         "1976",
  CODEN =        "ACMSCU",
  ISSN =         "0098-3500",
  bibdate =      "Tue Feb 06 05:27:37 1996",
  note =         "See \cite{Fletcher:1966:AAI}.",
  acknowledgement = ack-nhfb,
}

@Article{Lozy:1976:RCS,
  author =       "Mohamed el Lozy",
  title =        "Remark on {``Algorithm 299: Chi-Squared Integral [S15]''}",
  journal =      j-TOMS,
  volume =       "2",
  number =       "4",
  pages =        "393--395",
  month =        dec,
  year =         "1976",
  CODEN =        "ACMSCU",
  ISSN =         "0098-3500",
  bibdate =      "Tue Feb 06 05:28:00 1996",
  note =         "See \cite{Hill:1967:AAC,Hill:1985:RCS}.",
  acknowledgement = ack-nhfb,
}

@Article{Koppelaar:1976:RNI,
  author =       "Henk Koppelaar and Peter Molenaar",
  title =        "Remark on {``Algorithm 486: Numerical Inversion of Laplace Transform [D5]''}",
  journal =      j-TOMS,
  volume =       "2",
  number =       "4",
  pages =        "395--396",
  month =        dec,
  year =         "1976",
  CODEN =        "ACMSCU",
  ISSN =         "0098-3500",
  bibdate =      "Tue Feb 06 05:27:48 1996",
  note =         "See \cite{Veillon:1974:AAN}.",
  acknowledgement = ack-nhfb,
}

@Article{Cate:1977:AAS,
  author =       "Esko G. Cate and David W. Twigg",
  title =        "Algorithm 513: Analysis of In-Situ Transposition [{F1}]",
  journal =      j-TOMS,
  volume =       "3",
  number =       "1",
  pages =        "104--110",
  month =        mar,
  year =         "1977",
  CODEN =        "ACMSCU",
  ISSN =         "0098-3500",
  bibdate =      "Tue Feb 06 05:28:07 1996",
  acknowledgement = ack-nhfb,
}

@Article{Veillon:1977:RNI,
  author =       "Fran{\c{c}}oise Veillon",
  title =        "Remark on {``Algorithm 486: Numerical Inversion of Laplace Transform''}",
  journal =      j-TOMS,
  volume =       "3",
  number =       "1",
  pages =        "111--111",
  month =        mar,
  year =         "1977",
  CODEN =        "ACMSCU",
  ISSN =         "0098-3500",
  bibdate =      "Tue Feb 06 05:28:10 1996",
  note =         "See \cite{Veillon:1974:AAN}.",
  acknowledgement = ack-nhfb,
}

@Article{Jansen:1977:RLF,
  author =       "J. K. M. Jansen",
  title =        "Remark on {``Algorithm 259: Legendre Functions for Arguments Larger than One''}",
  journal =      j-TOMS,
  volume =       "3",
  number =       "2",
  pages =        "204--250",
  month =        jun,
  year =         "1977",
  CODEN =        "ACMSCU",
  ISSN =         "0098-3500",
  bibdate =      "Tue Feb 06 05:28:08 1996",
  note =         "See \cite{Gautschi:1965:AAL}.",
  acknowledgement = ack-nhfb,
}

@Article{Sipala:1977:RAS,
  author =       "Paolo Sipala",
  title =        "Remark on {``Algorithm 408: A Sparse Matrix Package (Part I) [F4]''}",
  journal =      j-TOMS,
  volume =       "3",
  number =       "3",
  pages =        "303--303",
  month =        sep,
  year =         "1977",
  CODEN =        "ACMSCU",
  ISSN =         "0098-3500",
  bibdate =      "Tue Feb 06 05:28:09 1996",
  note =         "See \cite{McNamee:1971:AAS}.",
  acknowledgement = ack-nhfb,
}

@Article{Tenney:1977:RAT,
  author =       "Dennis Tenney",
  title =        "Remark on {``Algorithm 219: Topological Ordering for PERT Networks''}",
  journal =      j-TOMS,
  volume =       "3",
  number =       "3",
  pages =        "303--303",
  month =        sep,
  year =         "1977",
  CODEN =        "ACMSCU",
  ISSN =         "0098-3500",
  bibdate =      "Tue Feb 06 05:28:09 1996",
  note =         "See \cite{Kase:1963:AAT}.",
  acknowledgement = ack-nhfb,
}

@Article{Skovgaard:1978:RCE,
  author =       "Ove Skovgaard",
  title =        "Remark on {``Algorithm 149: Complete Elliptic Integral [S21]''}",
  journal =      j-TOMS,
  volume =       "4",
  number =       "1",
  pages =        "95--95",
  month =        mar,
  year =         "1978",
  CODEN =        "ACMSCU",
  ISSN =         "0098-3500",
  bibdate =      "Tue Feb 06 05:28:13 1996",
  note =         "See \cite{Merner:1962:AAC}.",
  acknowledgement = ack-nhfb,
}

@Article{Coleman:1978:RAS,
  author =       "John P. Coleman",
  title =        "Remark on {``Algorithm 49: Spherical Neumann Function''}",
  journal =      j-TOMS,
  volume =       "4",
  number =       "3",
  pages =        "295--295",
  month =        sep,
  year =         "1978",
  CODEN =        "ACMSCU",
  ISSN =         "0098-3500",
  bibdate =      "Tue Feb 06 05:28:11 1996",
  note =         "See \cite{Herndon:1961:AAS}.",
  acknowledgement = ack-nhfb,
}

@Article{Gustavson:1978:RAS,
  author =       "Fred G. Gustavson",
  title =        "Remark on {``Algorithm 408: A Sparse Matrix Package (Part I) [F4]''}",
  journal =      j-TOMS,
  volume =       "4",
  number =       "3",
  pages =        "295--295",
  month =        sep,
  year =         "1978",
  CODEN =        "ACMSCU",
  ISSN =         "0098-3500",
  bibdate =      "Tue Feb 06 05:28:12 1996",
  note =         "See \cite{McNamee:1971:AAS}.",
  acknowledgement = ack-nhfb,
}

@Article{Schoene:1978:RMI,
  author =       "Andrew Y. Schoene",
  title =        "Remark on {``Algorithm 435: Modified Incomplete Gamma Function [S14]''}",
  journal =      j-TOMS,
  volume =       "4",
  number =       "3",
  pages =        "296--304",
  month =        sep,
  year =         "1978",
  CODEN =        "ACMSCU",
  ISSN =         "0098-3500",
  bibdate =      "Tue Feb 06 05:28:12 1996",
  note =         "See \cite{Fullerton:1972:AAM}.",
  acknowledgement = ack-nhfb,
}

@Article{Lozy:1979:RSD,
  author =       "Mohamed el Lozy",
  title =        "Remark on {``Algorithm 395: Student's $t$-Distribution''} and Remark on {``Algorithm 396: Student's Quantiles [S14]''}",
  journal =      j-TOMS,
  volume =       "5",
  number =       "2",
  pages =        "238--239",
  month =        jun,
  year =         "1979",
  CODEN =        "ACMSCU",
  ISSN =         "0098-3500",
  bibdate =      "Tue Feb 06 05:28:16 1996",
  note =         "See \cite{Hill:1970:AASa,Hill:1970:AASb,Hill:1981:RSD,Hill:1985:RCS}.",
  acknowledgement = ack-nhfb,
}

@Article{Geddes:1979:RCC,
  author =       "K. O. Geddes",
  title =        "Remark on {``Algorithm 424: Clenshaw-Curtis Quadrature [O1]''}",
  journal =      j-TOMS,
  volume =       "5",
  number =       "2",
  pages =        "240--240",
  month =        jun,
  year =         "1979",
  CODEN =        "ACMSCU",
  ISSN =         "0098-3500",
  bibdate =      "Tue Feb 06 05:28:14 1996",
  note =         "See \cite{Gentleman:1972:AAC}.",
  acknowledgement = ack-nhfb,
}

@Article{Anderson:1979:RBI,
  author =       "M. R. Anderson",
  title =        "Remark on {``Algorithm 474: Bivariate Interpolation and Smooth Surface Fitting Based on Local Procedures''}",
  journal =      j-TOMS,
  volume =       "5",
  number =       "2",
  pages =        "241--241",
  month =        jun,
  year =         "1979",
  CODEN =        "ACMSCU",
  ISSN =         "0098-3500",
  bibdate =      "Tue Feb 06 05:28:13 1996",
  note =         "See \cite{Akima:1974:AAB}.",
  acknowledgement = ack-nhfb,
}

@Article{Leathers:1979:RAS,
  author =       "Burton L. Leathers",
  title =        "Remark on {``Algorithm 513: Analysis of In-Situ Transposition [F1]''} and Remark on {``Algorithm 467: Matrix Transposition in Place''}",
  journal =      j-TOMS,
  volume =       "5",
  number =       "4",
  pages =        "520--520",
  month =        dec,
  year =         "1979",
  CODEN =        "ACMSCU",
  ISSN =         "0098-3500",
  bibdate =      "Tue Feb 06 05:28:15 1996",
  note =         "See \cite{Cate:1977:AAS,Brenner:1973:AAM}.",
  acknowledgement = ack-nhfb,
}

@Article{Swieten:1979:RVS,
  author =       "A. C. M. van Swieten and J. Th. M. de Hosson",
  title =        "Remark on {``Algorithm 475: Visible Surface Plotting Program''}",
  journal =      j-TOMS,
  volume =       "5",
  number =       "4",
  pages =        "521--523",
  month =        dec,
  year =         "1979",
  CODEN =        "ACMSCU",
  ISSN =         "0098-3500",
  bibdate =      "Tue Feb 06 05:28:16 1996",
  note =         "See \cite{Wright:1974:VSP}.",
  acknowledgement = ack-nhfb,
}

@Article{Harms:1980:RSM,
  author =       "U. Harms and H. Kollakowski and G. M{\"{o}}ller",
  title =        "Remark on {``Algorithm 408: A Sparse Matrix Package (Part 1) [F4]''}",
  journal =      j-TOMS,
  volume =       "6",
  number =       "3",
  pages =        "456--457",
  month =        sep,
  year =         "1980",
  CODEN =        "ACMSCU",
  ISSN =         "0098-3500",
  bibdate =      "Tue Feb 06 05:28:17 1996",
  note =         "See \cite{McNamee:1971:AAS}.",
  acknowledgement = ack-nhfb,
}

@Article{Hill:1981:RSD,
  author =       "G. W. Hill",
  title =        "Remark on {``Algorithm 395: Student's $t$-Distribution''}",
  journal =      j-TOMS,
  volume =       "7",
  number =       "2",
  pages =        "247--249",
  month =        jun,
  year =         "1981",
  CODEN =        "ACMSCU",
  ISSN =         "0098-3500",
  bibdate =      "Tue Feb 06 05:28:18 1996",
  note =         "See \cite{Hill:1970:AASa,Hill:1970:AASb,Lozy:1979:RSD}.",
  acknowledgement = ack-nhfb,
}

@Article{Hill:1981:RSQ,
  author =       "G. W. Hill",
  title =        "Remark on {``Algorithm 396: Student's $t$-Quantiles''}",
  journal =      j-TOMS,
  volume =       "7",
  number =       "2",
  pages =        "250--251",
  month =        jun,
  year =         "1981",
  CODEN =        "ACMSCU",
  ISSN =         "0098-3500",
  bibdate =      "Tue Feb 06 05:28:19 1996",
  note =         "See \cite{Hill:1970:AASb}.",
  acknowledgement = ack-nhfb,
}

@Article{Hill:1985:RCS,
  author =       "I. D. Hill and M. C. Pike",
  title =        "Remark on {``Algorithm 299: Chi-Squared Integral''}",
  journal =      j-TOMS,
  volume =       "11",
  number =       "2",
  pages =        "185--185",
  month =        jun,
  year =         "1985",
  CODEN =        "ACMSCU",
  ISSN =         "0098-3500",
  bibdate =      "Tue Feb 06 05:28:22 1996",
  note =         "See \cite{Hill:1967:AAC,Lozy:1976:RCS}.",
  acknowledgement = ack-nhfb,
}

@Article{Er:1985:RG,
  author =       "M. C. Er",
  title =        "Remark on {``Algorithm 246: Graycode [Z]''}",
  journal =      j-TOMS,
  volume =       "11",
  number =       "4",
  pages =        "441--443",
  month =        dec,
  year =         "1985",
  CODEN =        "ACMSCU",
  ISSN =         "0098-3500",
  bibdate =      "Tue Feb 06 05:28:21 1996",
  note =         "See \cite{Boothroyd:1964:AAG,Misra:1975:RG}.",
  acknowledgement = ack-nhfb,
}

@Manual{ANSI:1966:AF,
  title =        "{ANSI Fortran X3.9-1966}",
  organization = pub-ANSI,
  address =      pub-ANSI:adr,
  pages =        "??--??",
  year =         "1966",
  bibdate =      "Sat Jan 18 15:48:20 1997",
  note =         "Approved March 7, 1966 (also known as Fortran 66). See also subsequent clarifications \cite{ANSI:1969:CFS} and \cite{ANSI:1971:CFS}.",
}

@PhdThesis{deBalbine:1969:CAR,
  author =       "Guy {de Balbine}",
  title =        "Computational Analysis of the Random Components Induced by a Binary Equivalence Relation",
  type =         "Ph.D. thesis",
  school =       "California Institute of Technology",
  address =      "Pasadena, CA, USA",
  pages =        "168",
  year =         "1969",
  bibdate =      "Sat Feb 17 13:24:16 1996",
  note =         "First use of second hash function for computing next hash table location after a collision.",
  abstract =     "The problem of partitioning into classes by means of a binary equivalence relation is investigated. Several algorithms for determining the number of components in the graph associated with a particular set of elements are constructed and compared. When the classification process operates on independently-drawn samples of $n$ distinct elements from a population, the expected number of components is shown to be obtainable recursively for a class of problems called separable; in all cases, estimates are available to reach any desired level of accuracy. Clustering models in Euclidean space are analyzed in detail and asymptotic formulas obtained to complement experiments. Conjectures concerning the general behavior of the expected number of components are presented also. Finally, several computational tools of general interest are improved significantly.",
  acknowledgement = ack-nhfb,
  annote =       "Abstract in Dissertation Abstracts, v30 n2 p645b 1969.",
}

@InProceedings{Korman:1970:CO,
  author =       "S. M. Korman",
  editor =       "N. Christofides and A. Mingozzi and P. Toth and C. Sandi",
  booktitle =    "Combinatorial Optimization",
  title =        "The graph-colouring problem",
  publisher =    "Wiley",
  address =      "New York",
  pages =        "211--235",
  year =         "1970",
  annote =       "Implicit enumeration algorithm [not seen].",
}

@Book{Knuth:1973:ACP,
  author =       "D. E. Knuth",
  title =        "The Art of Computer Programming, Sorting and Searching",
  volume =       "3",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xi + 723",
  year =         "1973",
  ISBN =         "0-201-03803-X",
  LCCN =         "QA76.5 .K74",
  bibdate =      "Wed Dec 15 15:47:47 1993",
  acknowledgement = ack-nhfb,
  annote =       "Standardwerk ueber Suchen und Sortieren 5. Sorting 5.1. Combinatorial Properties of Permutations 5.2. Internal Sorting 5.3. Optimum Sorting 5.4. External Sorting 5.5. Summary, History, and Bibliography 6. Searching 6.1. Sequential Search 6.2. Searching By Comparison of Keys 6.3. Digital Searching 6.4. Hashing 6.5. Retrieval on Secondary Keys Answers to Exercises Appendix A: Tables of Numerical Quantities Appendix B: Index to Notations Index and Glossary.",
  annote2 =      "A basic source for computational algorithms such as hashing (pp.506--568), search tree construction(pp.406--505), and some notes on disk performance evaluation (pp.361--371).",
  descriptor =   "Algorithmus, B-baum, Baum, Binaer-baum, Gestreute Speicherung, Hash-verfahren, Mischen, Sortieren, Speicherung, Suchen, Zugriff",
}

@MastersThesis{Dittmer:1976:IEP,
  author =       "Ingo Dittmer",
  title =        "{Implementation eines Einschrittcompilers f{\"u}r die Progammiersprache PASCAL auf der Rechenanlage IBM\slash 360 der Universit{\"a}t M{\"u}nster}. ({English} title: Implementation of a One-Step Compiler for the Programming Language {PASCAL} on the {IBM}\slash 360 of the {University of Muenster})",
  type =         "Diplomearbeit",
  school =       "Universit{\"a}t M{\"u}nster",
  address =      "M{\"u}nster, Germany",
  pages =        "??",
  month =        "??",
  year =         "1976",
  bibdate =      "Sat Feb 17 13:24:29 1996",
  note =         "Diplomearbeit M{\"u}nster 1976 und doert angegebene Literatur (English: Muenster diploma work 1976 and the literature cited therein). The hashing method was rediscovered fourteen years later by Pearson \cite{Pearson:1990:FHV}, and then commented on by several authors \cite{Dittmer:1991:NFH,Savoy:1991:NFH,Litsios:1991:NFH,Pearson:1991:NFH}.",
  acknowledgement = ack-nhfb,
  xxnote =       "Cannot find in Dissertation Abstracts, European.",
}

@Book{Knuth:1992:LP,
  author =       "Donald E. Knuth",
  title =        "Literate Programming",
  publisher =    pub-SUCSLI,
  address =      pub-SUCSLI:adr,
  pages =        "xvi + 368",
  year =         "1992",
  ISBN =         "0-937073-80-6 (paperback), 0-937073-81-4 (hardcover)",
  LCCN =         "QA76.6 .K644 1992",
  bibdate =      "Fri Jul 22 09:08:14 1994",
  note =         "Distributed by the University of Chicago Press.",
  price =        "US\$24.95 (paperback), US\$59.95 (hardcover)",
  series =       "CSLI Lecture Notes Number 27",
  acknowledgement = ack-nhfb,
}