scispace - formally typeset
Search or ask a question

Showing papers on "Software published in 1986"


Proceedings ArticleDOI
13 Oct 1986
TL;DR: The IRAF system provides a good selection of programs for general image processing and graphics applications, plus a large selection ofprograms for the reduction and analysis of optical astronomy data.
Abstract: The Image Reduction and Analysis Facility (IRAF) is a general purpose software system for the reduction and analysis of scientific data. The IRAF system provides a good selection of programs for general image processing and graphics applications, plus a large selection of programs for the reduction and analysis of optical astronomy data. The system also provides a complete modern scientific programming environment, making it straightforward for institutions using IRAF to add their own software to the system. Every effort has been made to make the system as portable and device independent as possible, so that the system may be used on a wide variety of host computers and operating systems with a wide variety of graphics and image display devices.

1,560 citations


Journal ArticleDOI
Michael E. Fagan1
TL;DR: Studies and experiences are presented which enhance the use of the inspection process and improve its contribution to development of defect-free software on time and at lower cost.
Abstract: Software inspection is a method of static testing to verify that software meets its requirements. It engages the developers and others in a formal process of investigation that usually detects more defects in the product-and at lower cost-than does machine testing. Studies and experiences are presented which enhance the use of the inspection process and improve its contribution to development of defect-free software on time and at lower cost. Examples of benefits are cited followed by descriptions of the inspection process and some methods of obtaining the enhanced results. Users of the method report very significant improvements in quality that are accompanied by lower development costs and greatly reduced maintenance efforts. Excellent results have been obtained by small and large organizations in all aspects of new development as well as in maintenance. There is some evidence that developers who participate in the inspection of their own product actually create fewer defects in subsequent work. Because inspections formalize the development process, productivity-enhancing and quality-enhancing tools can be adopted more easily and rapidly.

735 citations


Journal ArticleDOI
TL;DR: A framework is presented for analyzing most of the experimental work performed in software engineering over the past several years, corresponding to phases of the experimentation process: definition, planning, operation, and interpretation.
Abstract: A framework is presented for analyzing most of the experimental work performed in software engineering over the past several years. The framework of experimentation consists of four categories corresponding to phases of the experimentation process: definition, planning, operation, and interpretation. A variety of experiments are described within the framework and their contribution to the software engineering discipline is discussed. Some recommendations for the application of the experimental process in software engineering are included.

572 citations


Journal ArticleDOI
TL;DR: In this article, a survey of software safety issues in real-time, safety-critical processes is presented, with an emphasis on the outstanding issues and research topics and how to solve them.
Abstract: Software safety issues become important when computers are used to control real-time, safety-critical processes. This survey attempts to explain why there is a problem, what the problem is, and what is known about how to solve it. Since this is a relatively new software research area, emphasis is placed on delineating the outstanding issues and research topics.

424 citations


Book
01 Apr 1986
TL;DR: All of the algorithms in this book have been rewritten in a single language and restructured so that they are easy to understand and compare, and the principles guiding their design are stressed.
Abstract: The problem of mutual exclusion - or of defining fundamental operations so that it is possible to resolve conflicts resulting from several concurrent processes sharing the resources of a computer system - has emerged over the last 20 years as a prime example of the difficulties associated with parallel or distributed programming. The implementation of a mutual exclusion mechanism, therefore, is a very real phenomenon that faces every designer of operating systems as well as applications programmers who use services provided by computer systems built around several processing units, or linked by a network. This book presents a remarkable survey of a vast field of concrete and highly complex research on algorithms for parallel or distributed control. Since parallelism makes it difficult to understand the behavior or to analyze the properties of algorithms that can solve these problems, all of the algorithms have been rewritten in a single language and restructured so that they are easy to understand and compare. The book systematically stresses the principles guiding their design, provides arguments to prove their validity and gives quantitative data allowing their assessment. Contents: Preface. The Nature of Control Problems in Parallel Processing. The Mutual Exclusion Problem in a Centralized Framework: Software Solutions. The Mutual Exclusion Problem in a Centralized Framework: Hardware Solutions. The Mutual Exclusion Problem in a Distributed Framework: Solutions Based on State Variables. The Mutual Exclusion Problem in a Distributed Framework: Solutions Based on Message Communication. Two Further Control Problems. M. Raynal is a professor, Department Informatique, IRISA-Universite deRennes 1, France. Algorithms for Mutual Exclusion is included in the Scientific Computation Series, edited by Dennis Gannon.

371 citations


Patent
05 Nov 1986
TL;DR: In this paper, the authors propose a software asset protection mechanism based on the separation of the software to be protected from the right to execute that software, which can only be executed on composite computing systems in which a physically and logically secure coprocessor is associated with a host computer.
Abstract: The invention provides a software asset protection mechanism which is based on the separation of the software to be protected from the right to execute that software. Protected software can only be executed on composite computing systems in which a physically and logically secure coprocessor is associated with a host computer. The software to be protected is broken down into a protected (encrypted) portion and an (optional) unprotected or plain text portion. The software is distributed by any conventional software distribution mechanism (for example a floppy disk) including the files already identified along with an encrypted software decryption key. The coprocessor is capable of decrypting the software decryption key so it can thereafter decrypt the software, for execution purposes. However, the coprocessor will not perform these functions unless and until the user's right to execute is evidenced by presentation of a physically secure token. The physically secure token provides to the coprocessor token data in plain text form (the physical security of the plain text token data is provided by the cartridge within which token data is stored). The physical properties of that cartridge taken together with the correspondence between the token data provided by the cartridge and the encrypted token data evidence the user's right to execute. While the coprocessor can, thereafter, decrypt and execute the protected portion of the software, access to that software is denied the user by the physical and logical features of the coprocessor. Other properties of the cartridge (specifically a destructive read property) ensure that the act of transferring token data to the coprocessor obliterates that data from the cartridge so it cannot be revised. Further, the protocol for the coprocessor/cartridge exchange is arranged so that observation of even the entire exchange provides inadequate information with which to simulate or spoof the effect of an authentic, unused cartridge.

357 citations


Patent
25 Aug 1986
TL;DR: In this article, a method to prevent continued unauthorized use of protected software and to maintain control of sites where software is installed is presented, which allows unauthorized copies of the protected software to be installed and to operate for a limited time.
Abstract: A method is provided to prevent continued unauthorized use of protected software and to maintain control of sites where software is installed. The method allows unauthorized copies of the protected software to be installed and to operate for a limited time. However, if the user does not register the software within a prescribed period of time, the protected software will be disabled. Prior to disabling, the software will operate for a period of time during which messages are provided to the user, warning that the software should be registered. Both a counter for counting the number of times that the protected software is used, and a timer for measuring the elapsed time since installation of the software, are used in determining how long the protected software will be permitted to operate before either registration or disabling.

345 citations


Journal ArticleDOI
TL;DR: The whole package of sequence analysis software contains a comprehensive suite of programs for managing large shotgun sequencing projects, a program containing 61 functions for analysing single sequences and a program for comparing pairs of sequences for similarity.
Abstract: I describe the current status of our sequence analysis software. The package contains a comprehensive suite of programs for managing large shotgun sequencing projects, a program containing 61 functions for analysing single sequences and a program for comparing pairs of sequences for similarity. The programs that have been described before have been improved by the addition of new functions and by being made very much easier to use. The major interactive programs have 125 pages of online help available from within them. Several new programs are described including screen editing of aligned gel readings for shotgun sequencing projects; a method to highlight errors in aligned gel readings, new methods for searching for putative signals in sequences. We use the programs on a VAX computer but the whole package has been rewritten to make it easy to transport it to other machines. I believe the programs will now run on any machine with a FORTRAN77 compiler and sufficient memory. We are currently putting the programs onto an IBM PC XT/AT and another micro running under UNIX.

336 citations


Patent
24 Oct 1986
TL;DR: In this paper, a computer software security and billing system is disclosed in which the application program is enciphered in accordance with an algorithm driven by a numeric key, and the user's computer is provided with a hardware security module and a removable billing module, both of which carry unique codes.
Abstract: A computer software security and billing system is disclosed in which the application program is enciphered in accordance with an algorithm driven by a numeric key. The user's computer is provided with a hardware security module and a removable billing module, both of which carry unique codes. A security program accesses the application program and also writes information about billing into the billing module. The billing module is periodically replaced so the user can be charged based on amount of usage of the software.

313 citations


Proceedings ArticleDOI
03 Dec 1986
TL;DR: The basic architectural approachs to the integration of multimedia conferencing facilities into an existing software environment are presented and an early experiment with one of them is discussed.
Abstract: This paper deals with the integration of multimedia conferencing facilities into an existing software environment. We assume that the "semantics" of the conferencing facilities have already been defined and address only the issue of how to implement those semantics in such a way as to minimize the impact on existing software. In particular, users should be able to invoke any application from within the framework of a conference, and programmers should be able to develop new applications without having to deal explicitly with conferencing issues. We present the basic architectural approachs to this problem and discuss an early experiment with one of them.

291 citations


Journal ArticleDOI
TL;DR: A VAXcluster is a highly available and extensible configuration of VAX computers that operate as a single system that uses a distributed version of the VAX/VMS operating system to achieve performance in a multicomputer environment.
Abstract: A VAXcluster is a highly available and extensible configuration of VAX computers that operate as a single system. To achieve performance in a multicomputer environment, a new communications architecture, communications hardware, and distributed software were jointly designed. The software is a distributed version of the VAX/VMS operating system that uses a distributed lock manager to synchronize access to shared resources. The communications hardware includes a 70 megabit per second message-oriented interconnect and an interconnect port that performs communications tasks traditionally handled by software. Performance measurements show this structure to be highly efficient, for example, capable of sending and receiving 3000 messages per second on a VAX-11/780.

Journal ArticleDOI
TL;DR: The hardware and software of the data appraisal, evaluation and display systems used for synchrotron radiation experiments at the EMBL Outstation on the storage ring DORIS are described.
Abstract: The hardware and software of the data appraisal, evaluation and display systems used for synchrotron radiation experiments at the EMBL Outstation on the storage ring DORIS are described. The system is based on CAMAC hardware and modular software and has been extensively used for a variety of applications in EXAFS and small angle scattering and diffraction.

Journal ArticleDOI
TL;DR: This paper is a survey of MILs that are specifically designed to support module interconnection and includes brief descriptions of some software development systems that support Module interconnection.

Patent
07 Aug 1986
TL;DR: Disclosed is a computer method and apparatus that permits identical copies of encrypted computer software (including a number of software elements) to be distributed to many users while retaining central control over which elements are "unlocked", that is, are authorized for use by each user as discussed by the authors.
Abstract: Disclosed is a computer method and apparatus that permits identical copies of encrypted computer software (including a number of software elements) to be distributed to many users while retaining central control over which elements are "unlocked", that is, are authorized for use by each user.

Patent
Jean Henri Mollier1
05 Feb 1986
TL;DR: In this article, the authors propose a method and a device for protecting software delivered to a user by a supplier, which amounts to rendering the programs non-executable in the state in which they have been delivered to the users.
Abstract: The invention relates to a method and a device for protecting software delivered to a user by a supplier. The method amounts to rendering the programs non-executable in the state in which they have been delivered to the users. With each program (Pi) there is associated a validation key defined via a main validation key (Vi) delivered by the supplier and recorded in a storage area (M) of the user's machine (1), and via a supplementary key (V'i) computed on the lever of a card (C) issued to the user via a secret code (S) and via arguments (bi) that identify each program (Pi) and are recorded in a storage area (M1) of the card (C).

Journal ArticleDOI
P. A. Currit1, M. Dyer1, Harlan D. Mills1
TL;DR: A description is given of a procedure for certifying the reliability of software before its release to users, which includes a life cycle of executable product increments, representative statistical testing, and a standard estimate of the MTTF of the product at the time of its release.
Abstract: A description is given of a procedure for certifying the reliability of software before its release to users. The ingredients of this procedure are a life cycle of executable product increments, representative statistical testing, and a standard estimate of the MTTF (mean time to failure) of the product at the time of its release. The authors also discuss the development of certified software products and the derivation of a statistical model used for reliability projection. Available software test data are used to demonstrate the application of the model in certification process.

Patent
21 Mar 1986
TL;DR: In this article, a computer based function control system is proposed for use as a software security device on the highly popular personal computers or a micro-processor driven function, which includes an encrypted security message uniquely encoded at predetermined locations within the software or function program.
Abstract: A computer based function control system is particularly suited for use as a software security device on the highly popular personal computers or a micro-processor driven function. The system includes an encrypted security message uniquely encoded at predetermined locations within the software or function program. The software or function program includes pre-set errors in it to cause failure of execution of the function or software program unless the errors are nulled during operation of the function or software program. A separate electronic key for retrieving, recognizing, decrypting, encrypting, and producing the null signals is connected to the communications port of the computer from which the key draws its power as well as the security message passed from the computer to the key and back to the computer. There is interchange of moving target and validation information between the computer software and the electronic key. This information is transferred via the security message under the cover of encryption and is monitored by the key and the software to insure that operation of the program can be effected only by authorized users of the function or software program (that is those having the key uniquely associated with that program).

Journal ArticleDOI
TL;DR: A general axiomatic theory of test data adequacy is developed, and five previously proposed adequacy criteria are examined to see which of the axioms are satisfied.
Abstract: A test data adequacy criterion is a set of rules used to determine whether or not sufficient testing has been performed. A general axiomatic theory of test data adequacy is developed, and five previously proposed adequacy criteria are examined to see which of the axioms are satisfied. It is shown that the axioms are consistent, but that only two of the criteria satisfy all of the axioms.

Book
01 Jan 1986
TL;DR: This authoritative user's guide and reference manual for the LATEx computer typesetting system has been revised to document features now available in the new standard software release - LATEX2e, and selected sections have been rewritten to explain challenging concepts or functions.
Abstract: This authoritative user's guide and reference manual for the LATEX computer typesetting system has been revised to document features now available in the new standard software release - LATEX2e. The new edition features additional styles and functions, improved font handling, and enhanced graphics capabilities. Other parts of the book have been revised to reflect user comments and suggestions. Selected sections have been rewritten to explain challenging concepts or functions, and the descriptions of both MakeIndex and BibTEX have been updated. New LATEX users will want to start with this book, and current users, particularly as they upgrade to the LATEX2e software, will be eager to obtain the most up-to-date version of its associated manual. Features *Revised version of the authoritative user's guide and reference manual for the LATEX computer typesetting system. *Features the new standard software release - LATEX2e. *Sections rewritten to explain difficult concepts or functions. 0201529831B04062001

Patent
26 Aug 1986
TL;DR: In this article, a communication interface for providing asynchronous and telephonic communications is described, which enables software applications, which are independent of any hardware or physical addresses, to operate on the interface.
Abstract: A communication interface for providing asynchronous and telephonic communications is disclosed. The interface enables software applications, which are independent of any hardware or physical addresses, to operate on the interface. In this manner, the software applications can be written independent of hardware implementation and protocol implementation. A set of configuration parameters is defined for both an asynchronous and telephonic communication function set. Additionally, a set of interrupt conditions is defined for both the asynchronous and telephonic communication function sets. These parameters and interrupt conditions control the interaction of the software applications across the interface with the system hardware. Means are provided for directing commands coming from a software application across the interface to the system hardware. Likewise, means are provided for generating interrupts and handling these interrupts from the system hardware across the interface back to an interrupt routine within the software application.

Patent
21 Oct 1986
TL;DR: In this article, the key is generated in a hardware module which is a single chip microprocessor and individual words are generated as a function of a plurality of words of the input key word sequence.
Abstract: Encrypted digital information in a data processing system is decrypted using a key which is a word sequence. The key is generated in a hardware module which is a single chip microprocessor. Individual words of the key word sequence generated by the module are generated as a function of a plurality of words of the input key word sequence. To that end, the microprocessor is programmed as a finite state machine. The hardware module may be combined with a storage medium in a software package. The decryption routines and a key sequence to be applied to the key generator are stored with the application software on the storage medium. To decrypt the application software, the stored key sequence is applied to the key generator to obtain an output key sequence. A computer system may include an encryption/decryption module and a key generator module to encrypt software and data prior to outputting the software or data from the system. Identical key generators may be utilized for encryption and decryption in a secure network.

Journal ArticleDOI
01 Sep 1986
TL;DR: The amount of software reuse currently done is quite small as mentioned in this paper, and only about five percent of code is reused in the average software development environment, which is the smallest amount of code that can be reused.
Abstract: There is widespread need for safe, verifiable, efficient, and reliable software that can be delivered in a timely manner. Software reuse can make a valuable contrbution toward this goal by increasing programmer productivity and software quality. Unfortunately, the amount of software reuse currently done is quite small. DeMarco [1] estimates that in the average software development environment only about five percent of code is reused.

Patent
16 Apr 1986
TL;DR: In this paper, the authors present a management system that utilizes a distributed network having a host computer connected to one or more computer based workstations, where each support system provides data that reflects one or multiple aspects of a life cycle of a development project.
Abstract: A management system utilizes a distributed network having a host computer connected to one or more computer based workstations. Separate, on-line softward support systems provide the execution environment for the system. Each support system provides data that reflects one or more aspects of a life cycle of a development project. This data is stored in separate databases associated with each support system. Periodically, the host computer extracts information from each of these support system databases to obtain data indicative of development activity for various phases of the life cycle of the software system. The extracted information is used to update a relational database. At any time, a manager situated at a workstation can formulate queries into the relational database. Thereafter, the workstation, through a workstation/host communications interface, initiates a host session and then loads the queries into the host computer. The host, in turn, executes these queries and downloads the query results into the workstation. Then the manager appropriately analyzes and interprets those query results at the workstation. The communications interface ensures that the host session remains substantially transparent to the manager. This advantageously frees the manager of any need to learn the host logon procedure and operating system, thereby minimizing the managerial time and effort required to obtain the desired information.


Patent
22 Dec 1986
TL;DR: In this paper, a keypad is employed to input the stimulus output from the computer (34, 68) into the access key (12), which allows for secure communications between different computers and between distant locations.
Abstract: A semiconductor device that functions as a key (12) to control access to a computer (34) or a software program resident in a computer or provides for secure communications. The device (64) executes an algorithm that combines a root and a seed to produce a password. The password is input to the computer (34). The computer (34) uses an equivalent algorithm to produce a password within the computer (34). Comparison or other methods are employed to allow access to the computer (34) or computer program or to allow for secure communications. The computer (34) can be coded to produce on a video display (18) thereof a time-space stimulus pattern which can be received by sensors (28a-28d) of the key. Alternatively, a keypad (700) can be employed to input the stimulus output from the computer (34, 68) into the access key (12). Further the present system allows for secure communications using algorithms between different computers and between distant locations.

Patent
12 Nov 1986
TL;DR: An apparatus for managing a plurality of software vending machines each connected to the apparatus through a communication line and each arranged so that any software program selected by a customer out of a plurality stored in the machine is duplicated onto an external storing medium.
Abstract: An apparatus for managing a plurality of software vending machines each connected to the apparatus through a communication line and each arranged so that any software program selected by a customer out of a plurality of software programs stored in the machine is duplicated onto an external storing medium. The apparatus communicates with each of the plurality of software vending machines through the communication line. The apparatus stores at least one sotfware program and can detect the frequency of duplication of each program in each of the software vending machines through information sent on the communication line. Software programs are replaced in each of the software vending machines based on their frequency of duplication for a predetermined period of time. The duplicating frequency is corrected so that the detected value of the frequency of duplication is high in inverse proportion to the length of time elapsed from the registration of that program.

Journal ArticleDOI
TL;DR: An 8-point Fourier-cosine transform chip designed for a data rate of 100 Mbits/s is described, including algorithm modification for VLSI suitability, architectural choices, testing overhead, internal precision assignments, mask generation, and finally, verification of the layout.
Abstract: An 8-point Fourier-cosine transform chip designed for a data rate of 100 Mbits/s is described. The top-down design is presented step by step, including algorithm modification for VLSI suitability, architectural choices, testing overhead, internal precision assignments, mask generation, and finally, verification of the layout. A high-level language (C) design tool was developed concurrently with the layout. This tool allows mimicking exactly the different representations of the algorithm: software, mask, and chip. This provides an automatic cross-checking at all design stages. The VLSI environment created by this tool, as well as existing powerful CAD tools, made a fast design-time possible.

Patent
21 Apr 1986
TL;DR: In this paper, the authors present a method to enable on-line modification and upgrading of terminal software in a communication network while maintaining the integrity of communication between a service provider and a subscriber using the network.
Abstract: Apparatus and a method are disclosed to enable on-line modification and upgrading of terminal software in a communication network while maintaining the integrity of communication between a service provider and a subscriber using the network. Software is downloaded on a booter channel on the communication network. A subscriber terminal, coupled to the network initiates a communication with the network to receive downloaded booter data. The downloaded data is stored, and a checksum is computed from at least a portion of the downloaded data. The checksum is tested for validity, and control of the subscriber terminal is released to the downloaded software only if the checksum is valid.

Journal ArticleDOI
TL;DR: A review of the Project on Diverse Software (PODS), a collaborative software reliability research project, is presented to evaluate the merits of using diverse software, evaluate the specification language X-SPEX, and compare the productivity and reliability associated with high-level and low-level languages.
Abstract: A review of the Project on Diverse Software (PODS), a collaborative software reliability research project, is presented. The purpose of the project was to determine the effect of a number of different software development techniques on software reliability. The main objectives were to evaluate the merits of using diverse software, evaluate the specification language X-SPEX, and compare the productivity and reliability associated with high-level and low-level languages. A secondary objective was to monitor the software development process, with particular reference to the creation and detection of software faults. To achieve these objectives, an experiment was performed which simulated a normal software development process to produce three diverse programs to the same requirement. The requirement was for a reactor over-power protection (trip) system. After careful independent development and testing, the three programs were tested against each other in a special test harness to locate residual faults. The conclusions drawn from this project are discussed.