Pages: pp. 9-10
SOFTWARE ASSURANCE (p. 7) "Although long recognized as a serious problem, many of the issues encountered in assuring the quality of computer programs have only received the level of attention they deserve in the last decade."
"The six papers included in this issue form a cross-section of software quality assurance methods that ranges from detailed design of critical systems, to establishment of IEEE Computer Society proposed standards for software quality assurance procedures."
REACTOR PROTECTION (p. 10) "Computers in the nuclear field have been used mainly as passive components—i.e., for data acquisition and data representation on display and logging devices. However, in a reactor protection system, the computer may now play a more active role.
"The computerized reactor protection system considered here must scan about 200 measuring points every second. …"
CERTIFICATION TESTING (p. 20) "Several past studies have shown that the various testing phases can account for up to 50 percent of the total resources spent for the development of a software system. …"
"In spite of the large investment in resources, little systematic attention has been paid to this portion of the development life cycle. … However, on further consideration, it becomes apparent that reliability cannot be tested into a program. The role of testing is to locate errors in what is hoped to be a well-designed system."
ERROR DETECTION (p. 26) "Two software testing techniques—static analysis and dynamic path (branch) testing—are receiving a great deal of attention in the world of software engineering these days. However, empirical evidence of their ability to detect errors is very limited, as is data concerning the resource investment their use requires. … this paper seeks (1) to demonstrate empirically the types of errors one can expect to uncover and (2) to measure the engineering and computer time which may be required by the two testing techniques for each class of errors during system-level testing."
AUTOMATED TESTING (p. 33) "One of the more popular tools for supporting software testing is the automated testing analyzer, or ATA. … A number of such tools are presently in use in a variety of applications, and perform functions such as static analysis, assertion processing, and test data generation. Most provide a testing 'coverage' based on the effect a set of tests has on the internal control flow of the program under test."
STANDARDS AND METRICS (p. 37) "Software quality testing as used in the following discussion includes activities which determine the readiness of the software for formal acceptance testing. … These activities are generally supportive of formal testing, but do not focus primarily on the validation of functional performance requirements. In some cases the same criteria used in quality testing can also be used in acceptance testing. The term software includes the computer program, the data base, and associated operation and maintenance documentation."
ASSURANCE PLANNING (p. 44) "… There are many software engineering methodologies by which software is developed, and no standard methodology exists to ensure that software acquires the required characteristics as development progresses. Moreover, there is no industry standard for expressing plans to implement assurance programs for software development."
MICROPROCESSOR MAINFRAMES (p. 68) "Achieving mainframe functionality with LSI technology is of great interest to computer designers because of the anticipated dramatic improvement in cost-performance. One design approach that is often proposed is to interconnect a set of microprocessors so that each microprocessor executes different user jobs. The total throughput of this concurrently executing set of microprocessors is expected to be equivalent to the throughput of a single mainframe processor. …"
SOCIAL SOFTWARE (p. 84) "The development of software takes place in an environment of social relationships. For example, the preparation of requirements is built upon the intricate relationships between the organization that needs a system and the organization that is to program it. The management of software development is itself a social activity. The so-called maintenance of operational software is often in actuality the enhancement of the original product; these enhancements again arise out of a complex interface to the using organization."
HANDHELD COMPUTERS (p. 99) "Plans to produce a line of practical handheld personal computers have been announced by Matsushita Electric Industrial Co., Ltd., Osaka, Japan. Discussing his company' s agreement with California-based Friends/Amis Inc., Dr. Shunkichi Kisaka, senior managing director in charge of research and development at Matsushita, said that the joint efforts of Matsushita and Friends/Amis' will give birth to an entirely new field of consumer electronics.' "
WIN95 (p. 9) "… Apple' s fascination with GUI design is distracting the company from its number one objective: gaining market share. Only a radically superior OS, or uncommon marketing, can save Apple. Once a technology leader, Apple is on the defensive: it must play catch-up, or die. Meanwhile, back in Cupertino, someone is redrawing the org charts. Two thousand years ago, someone in a similar situation played a fiddle."
NETWORK STANDARDS (p. 12) "Users wishing to upgrade from 10BaseT Ethernet to a 100-Mbps LAN have two high-speed alternatives from which to choose. After months of vigorous debate, the IEEE Standards Committee has formally approved the Fast Ethernet Alliance's 100BaseT Fast Ethernet standard and the Hewlett-Packard-supported 100VG-AnyLAN standard. The two standards, although based on decidedly different technologies, are being tested in the user community."
SOFTWARE SUSTENANCE (p. 44) "Program understanding is a major factor in providing effective software maintenance and enabling successful evolution of computer systems. For years, researchers have tried to understand how programmers comprehend programs during software maintenance and evolution. Five types of tasks are commonly associated with software maintenance and evolution: adaptive, perfective, and corrective maintenance; reuse; and code leverage. …"
COMPUTING IN MEXICO (p. 56) "The North American Free Trade Agreement (NAFTA) brings Canada, Mexico, and the US closer as commercial partners and raises many questions because of the disparity in the size and strength of their economies. In the long run, the low labor costs said to give Mexico a competitive edge will become less relevant, since Mexican government officials see NAFTA as a tool to create jobs, increase salaries, and raise average family income.
"The real issue is whether Mexico can effectively compete in a larger market and stimulate economic growth. To this end, technological development is one of the most important factors. …"
COMPUTING IN CHINA (p. 64) "… During the 1970s and early 1980s China tried to develop a full line of computer hardware and software incorporating indigenous technology. In the mid-1980s the government began emphasizing IT use throughout the economy, development of production capability by joint ventures with foreign multinationals, and production of low-end IT products for export.
"This more pragmatic IT policy has led to a dramatic increase in IT use, a rapidly growing computer industry, and expanding exports. …"
LINUX (p. 74) "Linux has been under development for only a few years. As is to be expected, the initial versions were unstable and of interest only to die-hard hackers. However, Linux has now matured and can be used for serious work. Many of the powerful compilers and utilities developed by the Free Software Foundation under its GNU (GNU is Not Unix) project can run on Linux. The X Window System from MIT, the de facto standard for windowing under Unix, is also available for Linux in an Intel-386/486 version called XFree86."
FIBRE CHANNEL (p. 88) "… in 1988 ANSI committee X3Tll initiated development of Fibre Channel, a switched protocol capable of transmitting at rates exceeding one gigabit per second, while still supporting existing protocols over both optical fiber and copper cables. Fibre Channel combines the best attributes of legacy channels and networks into a single standard that is a generic transport mechanism for data, voice, and video. It is the key to scientific and business applications implemented in open and distributed architectures, because it removes the barriers to performance presented by the old methods of data communications."
SOFTWARE PATENTS (p. 99) "… In its recently published guidelines …, the US Patent and Trademark Office (PTO) said computer software programs stored in a tangible medium, such as a floppy disk, are patentable and must be examined to determine whether the substance of a computer-program-related invention is a significant advance over prior technical achievement justifying the grant of a patent. In the past, the PTO had simply refused to examine the substance of such an invention."
SOFTWARE ENGINEERING (p. 100) "One of the factors associated with recognized formal professions, … is a well-defined body of knowledge. Often this knowledge includes many subsets of more specialized knowledge. Also necessary is an appropriate academic curriculum to transfer knowledge to students.
"In keeping with the above principles, the Joint Task Force on Software Engineering Ethics and Professional Practices, established by the IEEE Computer Society and the ACM, is working to have software engineering recognized as the 37th engineering profession."
PDFs of the articles and departments from Computer 's August 1979 and 1995 issues are available through the IEEE Computer Society' s website: www.computer.org/computer.