computing lives - FTP Directory Listing
computing lives - FTP Directory Listing
computing lives - FTP Directory Listing
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
A<br />
Computer Previous Page | Contents | Zoom in | Zoom out | Front Cover | Search Issue | Next Page M S BE<br />
aG<br />
F<br />
32 & 16 YEARS AGO<br />
APRIL 1978<br />
INTERNATIONAL DATA (p. 6) “AFIPS has named a panel<br />
of US experts to study foreign countries’ activities which<br />
restrict the international exchange of information. The<br />
panel is also expected to respond to the State Department’s<br />
position paper, Protecting Privacy in International<br />
Data Processing.”<br />
SOFTWARE QUALITY (p. 10) “For computer software<br />
systems, quality appears to be a characteristic that can<br />
be neither built in with assurance at system creation<br />
time nor retrofitted with certainty after a product is<br />
in use. Apart from the issues of logistics (copying and<br />
distributing software) there appears to be a continuing<br />
need to demonstrate some minimum level of quality in<br />
typical wide-use software systems. At the same time<br />
this appears to be impossible to accomplish: the best<br />
designed systems have had errors revealed many years<br />
after introduction, and several programs that had been<br />
publicly ‘proved correct’ contained outright mistakes!”<br />
SOFTWARE REVALIDATION (p. 14) “The problems of revalidating<br />
software following maintenance have received<br />
little attention, yet typically 70 percent of the effort<br />
expended on software occurs as program maintenance.<br />
There are two reasons to perform maintenance on a<br />
software system: to correct a problem or to modify the<br />
capabilities of the system. Revalidation must verify the<br />
corrected or new capability, and also verify that no other<br />
capability of the system has been adversely affected<br />
by the modification. Revalidation is facilitated by good<br />
documentation and a system structure in which functions<br />
are localized to well-defined modules.”<br />
ERROR DETECTION (p. 25) “It is well known that one<br />
cannot find all the errors in a program simply by testing<br />
it for a set of input data. Nevertheless, program testing is<br />
the most commonly used technique for error detection<br />
in today’s software industry. Consequently, the problem<br />
of finding a program test method with increased errordetection<br />
capability has received considerable attention<br />
in the field of software research.<br />
“There appear to be two major approaches to this problem.<br />
One is to find better criteria for test-case selection. The<br />
other is to find a way to obtain additional information (i.e.,<br />
information other than that provided by the output of the<br />
program) that can be used to detect errors.”<br />
PROGRAM TESTING (p. 41) “So, there is certainly no need<br />
to apologize for applying ad hoc strategies in program<br />
testing. A programmer who considers his problems well<br />
and skillfully applies appropriate techniques—regardless<br />
of where the techniques arise—will succeed.”<br />
SYMBOLIC<br />
PROGRAM<br />
EXECUTION<br />
(p. 51) “The<br />
notion of<br />
symbolically<br />
executing a program<br />
follows quite<br />
naturally from normal<br />
program execution. First assume<br />
that there is a given programming language (say, Algol-<br />
60) and the normal definition of program execution for<br />
that language. One can extend that definition to provide<br />
a symbolic execution in the same manner as one extends<br />
arithmetic over numbers to symbolic algebraic operations<br />
over symbols and numbers. The definition of the symbolic<br />
execution is such that trivial cases involving no symbols<br />
are equivalent to normal executions, and any information<br />
learned in a symbolic execution applies to the corresponding<br />
normal executions as well.”<br />
COMPONENT PROGRESS (p. 64) “It is clear, looking back,<br />
that progress in component performance, size, cost, and<br />
reliability has been reflected in corresponding improvements<br />
in systems. Looking forward then, an analysis of<br />
coming developments in logic and memory components<br />
appears to be one approach to forecasting future system<br />
characteristics. Prediction at the system level, however,<br />
is complicated by various options in machine organization,<br />
such as parallel processing and pipelining, which<br />
interact with component features to establish the performance<br />
limits of the system.”<br />
HEMISPHERICAL KEYBOARD (p. 99) “A new hemisphericalshaped<br />
typing keyboard, called the Writehander, permits<br />
typing all 128 characters of the ASCII code with<br />
one hand.<br />
“To use the keyboard, the typist places his four fingers<br />
on four press-switches and his thumb on one of eight<br />
press-switches. The four finger-switches operate as the<br />
lower four bits of the 7-bit ASCII code, selecting one of<br />
16 character groups which contain the desired character.<br />
Each group contains eight letters, numerals, or symbols.<br />
The thumb then presses one switch to select the desired<br />
character from the group of eight. The shape and switch<br />
locations have been designed so that the fingers naturally<br />
locate themselves on the switches, according to the<br />
designer, Sid Owen.”<br />
PDFs of the articles and departments of the April issues of<br />
Computer for 1978 and 1994 are available through the IEEE<br />
Computer Society’s website: www.computer.org/computer.<br />
10 COMPUTER<br />
Published by the IEEE Computer Society 0018-9162/10/$26.00 © 2010 IEEE<br />
A<br />
Computer Previous Page | Contents | Zoom in | Zoom out | Front Cover | Search Issue | Next Page M S BE<br />
aG<br />
F