By Topic

Software Engineering, IEEE Transactions on

Issue 1 • Date Jan. 1985

Filter Results

Displaying Results 1 - 21 of 21
  • IEEE Transactions on Software Engineering - Table of contents

    Page(s): c1
    Save to Project icon | Request Permissions | PDF file iconPDF (418 KB)  
    Freely Available from IEEE
  • IEEE Computer Society

    Page(s): c2
    Save to Project icon | Request Permissions | PDF file iconPDF (200 KB)  
    Freely Available from IEEE
  • Editorial

    Page(s): 1 - 2
    Save to Project icon | Request Permissions | PDF file iconPDF (304 KB)  
    Freely Available from IEEE
  • Defining Database Views as Data Abstractions

    Page(s): 3 - 14
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (3624 KB)  

    The concept of data abstraction is utilized in database systems to define user interfaces via database views in database application languages and to describe the architecture of database systems. Differences between the specification and use of database views and other data abstractions realized as abstract data types are discussed. Database views are formally specified using both the algebraic specification method and the abstract model specification method. The use of database views is demonstrated via the EXT_Pascal database application language. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Lock Conversion in Non-Two-Phase Locking Protocols

    Page(s): 15 - 22
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (2928 KB)  

    A locking protocol is a set of rules governing the manner in which the database entities may be accessed. Such a protocol usually employs several kinds of locks. Most of the previous work in this area has assumed that once a transaction acquires a particular kind of lock on a data item it is not allowed to convert this lock to another kind. In this paper we perform a systematic study of the consequences of allowing lock conversions in non-two-phase locking protocols, and show how this leads to increased concurrency and affects deadlock-freedom. The non-two-phase protocols that we study are the very general guard protocols defined for databases in which a directed acyclic graph structure can be superimposed on the data items. We present very natural generalizations of these protocols, including correctness proofs, and develop deadlock removal methods. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A Rigorous Approach to Fault-Tolerant Programming

    Page(s): 23 - 31
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (2960 KB)  

    The design of programs that are tolerant of hardware fault occurrences and processor crashes is investigated. Using a stable storage management system as a running example, a new approach is suggested for specifying, understanding, and verifying the correctness of fault-tolerant software. The approach extends previously developed axiomatic reasoning methods to the design of fault-tolerant systems by modeling faults as being operations that are performed at random time intervals on any computing system by the system's adverse environment. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Testing Formal Specifications to Detect Design Errors

    Page(s): 32 - 43
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (3504 KB)  

    Formal specification and verification techniques are now apused to increase the reliability of software systems. However, these proaches sometimes result in specifying systems that cannot be realized or that are not usable. This paper demonstrates why it is necessary to test specifications early in the software life cycle to guarantee a system that meets its critical requirements and that also provides the desired functionality. Definitions to provide the framework for classifying the validity of a functional requirement with respect to a formal specification tion are also introduced. Finally, the design of two tools for testing formal specifications is discussed. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • The Eden System: A Technical Review

    Page(s): 43 - 59
    Save to Project icon | Request Permissions | PDF file iconPDF (7656 KB)  
    Freely Available from IEEE
  • An Application of Name Based Addressing to Low Level Distributed Algorithms

    Page(s): 59 - 67
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (3224 KB)  

    An interprocess communication structure for a distributed language is described which provides message level communication, multicast, and a generalized naming facility. The design is oriented to the needs of low level algorithms which, for example, might be used in a distributed operating system to support resource allocation or enhance reliability. The proposal is illustrated by programming several distributed algorithms from the literature. An implementation is described that takes advantage of physical multicast technology, and reduces to more conventional schemes for common communication paradigms. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A Priority Based Distributed Deadlock Detection Algorithm

    Page(s): 67 - 80
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (4128 KB)  

    Deadlock handling is an important component of transaction management in a database system. In this paper, we contribute to the development of techniques for transaction management by presenting an algorithm for detecting deadlocks in a distributed database system. The algorithm uses priorities for transactions to minimize the number of messages initiated for detecting deadlocks. It does not construct any wait-for graph but detects cycles by an edge-chasing method. It does not detect any phantom deadlock (in the absence of failures), and for the resolution of deadlocks it does not need any extra computation. The algorithm also incorporates a post-resolution computation that leaves information characterizing dependence relations of remaining transactions of the deadlock cycle in the system, and this will help in detecting and resolving deadlocks which may arise in the future. An interesting aspect of this algorithm is that it is possible to compute the exact number of messages generated for a given deadlock configuration. The complexity is comparable to the best algorithm reported. We first present a basic algorithm and then extend it to take into account shared and exclusive lock modes, simultaneous acquisition of multiple locks, and nested transactions. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Timing Constraints of Real-Time Systems: Constructs for Expressing Them, Methods of Validating Them

    Page(s): 80 - 86
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (3784 KB)  

    This paper examines timing constraints as features of realtime systems. It investigates the various constructs required in requirements languages to express timing constraints and considers how automatic test systems can validate systems that include timing constraints. Specifically, features needed in test languages to validate timing constraints are discussed. One of the distinguishing aspects of three tools developed at GTE Laboratories for real-time systems specification and testing is in their extensive ability to handle timing constraints. Thus, the paper highlights the timing constraint features of these tools. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Making Pointers Safe in System Programming Languages

    Page(s): 87 - 96
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (3552 KB)  

    System programming languages usually provide pointers so as to permit efficient and understandable programs to be written. Some higher level languages either avoid pointers altogether or greatly circumscribe pointers to guarantee safety, i.e., so that programs cannot gain access to storage in an inappropriate way. By combining the ideas of 1) pointer scope front Algol 68, 2) tombstones for invalidating dangling references, and 3) freezing which permits freeable objects to have scoped pointers, we solVe the problem of providing convenient and efficient pointers while simultaneously guaranteeing safety. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A Field Evaluation of Natural Language for Data Retrieval

    Page(s): 97 - 114
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (6360 KB)  

    Although a large number of natural language database interfaces have been developed, there have been few empirical studies of their practical usefulness. This paper presents the design and results of a field evaluation of a natural language system-NLS-used for data retrieval. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Estimating the Speedup in Parallel Parsing

    Page(s): 114 - 124
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (4512 KB)  

    A model for the operation of bottom-up parallel parsing using asynchronous processors is proposed. The model is based on an extension of shift-reduce parsers which are able to merge the information they keep on their stacks. The main objective of the paper is to provide estimates of the speedup attainable when using the proposed model. Three programs were written to measure the speedup. The first is a classical simulator which keeps track of the times spent performing the shift, reduce, and merge operations for each processor. The second is a program which generates "typical" strings in a language and simultaneously keeps track of the number of operations needed to parse the generated strings. The third is a program capable of deducing the num-ber of parsing operations by counting the number of selected terminals appearing in an input string. The results, applicable to the paralel parsing of programs written in a Pascal-like language, show how the speedup varies with the number of processors for different ratios of the times to shift, reduce, and merge. Although the speedup falls considerably below that predicted by theory, substantial gains are still attainable by using a fairly large number of parallel processors. With the decreasing costs of processors, parallel parsing and parallel compilation will become increasingly important and should allow considerable gains in speedup. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Risk Assessment of Computer Controlled Systems

    Page(s): 125 - 129
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1904 KB)  

    Software is increasingly being used to control and monitor systems for which safety and reliability are critical. When comparing software designs for such systems, an evaluation of how each design can contribute to the risk of system failure is desirable. Unfortunately, the science of risk assessment of combined hardware and software systems is in its infancy. Risk assessment of combined hardware/software systems is often based on oversimplified assumptions about software behavior. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A Model for the Basic Block Protocol of the Cambridge Ring

    Page(s): 130 - 136
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (2136 KB)  

    In this paper, we study a model of the Basic Block Protocol of the Cambridge Ring. The model is close to the real behavior so that, with statistically, identical stations and light or moderate load assumptions. we obtain good approximate results of the Ring characteristics. These results are partially validated by a simulation. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Operating System Models in a Concurrent Pascal Environment: Complexity and Performance Considerations

    Page(s): 136 - 141
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (3256 KB)  

    Empirical observations of computer operating systems have shown that operating systems are designed with one of two object oriented strategies: a process or a monitor oriented approach. This paper compares the two design approaches in a Concurrent Pascal environment. Resource manager programs that are implemented in conformity with each model are evaluated using software complexity measures and program performance measures. The average complexity of resource manager processes is 94 percent larger than the average complexity of resource manager monitors. The runtime synchronization overhead of the process model program is two-eight times higher than that of its counterpart. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Call for papers

    Page(s): 142
    Save to Project icon | Request Permissions | PDF file iconPDF (106 KB)  
    Freely Available from IEEE
  • IEEE copyright form

    Page(s): 143
    Save to Project icon | Request Permissions | PDF file iconPDF (279 KB)  
    Freely Available from IEEE
  • IEEE Computer Society Publications

    Page(s): 143-b
    Save to Project icon | Request Permissions | PDF file iconPDF (240 KB)  
    Freely Available from IEEE
  • Information for authors

    Page(s): 143
    Save to Project icon | Request Permissions | PDF file iconPDF (219 KB)  
    Freely Available from IEEE

Aims & Scope

The IEEE Transactions on Software Engineering is interested in well-defined theoretical results and empirical studies that have potential impact on the construction, analysis, or management of software. The scope of this Transactions ranges from the mechanisms through the development of principles to the application of those principles to specific environments. Specific topic areas include: a) development and maintenance methods and models, e.g., techniques and principles for the specification, design, and implementation of software systems, including notations and process models; b) assessment methods, e.g., software tests and validation, reliability models, test and diagnosis procedures, software redundancy and design for error control, and the measurements and evaluation of various aspects of the process and product; c) software project management, e.g., productivity factors, cost models, schedule and organizational issues, standards; d) tools and environments, e.g., specific tools, integrated tool environments including the associated architectures, databases, and parallel and distributed processing issues; e) system issues, e.g., hardware-software trade-off; and f) state-of-the-art surveys that provide a synthesis and comprehensive review of the historical development of one particular area of interest.

Full Aims & Scope

Meet Our Editors

Editor-in-Chief
Matthew B. Dwyer
Dept. Computer Science and Engineering
256 Avery Hall
University of Nebraska-Lincoln
Lincoln, NE 68588-0115 USA
tseeicdwyer@computer.org