By Topic

Software Engineering, IEEE Transactions on

Issue 2 • Date March 1980

Filter Results

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

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

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

    Page(s): 117
    Save to Project icon | Request Permissions | PDF file iconPDF (1176 KB)  
    Freely Available from IEEE
  • A User-Oriented Software Reliability Model

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

    A user-oriented reliability model has been developed to measure the reliability of service that a system provides to a user community. It has been observed that in many systems, especially software systems, reliable service can be provided to a user when it is known that errors exist, provided that the service requested does not utilize the defective parts. The reliability of service, therefore, depends both on the reliability of the components and the probabilistic distribution of the utilization of the components to provide the service. In this paper, a user-oriented software reliability figure of merit is defined to measure the reliability of a software system with respect to a user environment. The effects of the user profile, which summarizes the characteristics of the users of a system, on system reliability are discussed. A simple Markov model is formulated to determine the reliability of a software system based on the reliability of each individual module and the measured intermodular transition probabilities as the user profile. Sensitivity analysis techniques are developed to determine modules most critical to system reliability. The applications of this model to develop cost-effective testing strategies and to determine the expected penalty cost of failures are also discussed. Some future refinements and extensions of the model are presented. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • An Approach to Concurrent Control Flow Checking

    Page(s): 126 - 137
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (3408 KB)  

    A control flow checking scheme capable of detecting control flow errors of programs resulting from software coding errors, hardware malfunctions, or memory mutilation during the execution of the program is presented. In this approach, the program is partitioned into loop-free intervals and a database containing the path information in each of the loop-free intervals is derived from the detailed design. The path in each loop-free interval actually traversed at run time is recorded and then checked against the information provided in the database, and any discrepancy indicates an error. This approach is general, and can detect all uncompensated illegal branches. Any uncompensated error that occurs during the execution of a loop-free interval and manifests itself as a wrong branch within the loop-free interval or right after the completion of execution of the loop-free interval is also detectable. The approach can also be used to check the control flow in the testing phase of program development. The capabilities, limitations, implementation, and the overhead of using this approach are discussed. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Performance Abstract Data Types as a Tool in Software Performance Analysis and Design

    Page(s): 138 - 151
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (2936 KB)  

    The concept of abstract data types is extended to associate performance information with each abstract data type representation. The resulting performance abstract data type contains a functional part which describes the functional properties of the data type and a performance part which describes the performance characteristics of the data type. The performance part depends upon 1) the algorithms and data representation selected to represent the data type, 2) the particular machine on which the software realization of the data type is realized, and 3) the statistical properties of the actual data represented by the data objects involved in the data type. Methods for determining the necessary information to specify the performance part of the representation are discussed. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A Generalized Implementation Method for Relational Data Sublanguages

    Page(s): 152 - 162
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (2560 KB)  

    A set of primitive operations on tuples is derived; it is shown that these operations are necessary and sufficient for the implementation tion of any language equivalent in power to the relational algebra. The translation of queries from a variety of relational languages into these tuple operations is discussed and illustrated with several examples. A method is given for the conversion of such a translated query into a network of processes and files. An optimization algorithm which operates on this network is described and demonstrated. Using this method, many different relational languages can be implemented using the same data management software; furthermore, the underlying software can be changed without requiring any changes at the user interface. This approach should yield great benefits in reduced cost and increased flexibility of implementation. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Functional Program Testing

    Page(s): 162 - 169
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (3872 KB)  

    An approach to functional testing is described in which the design of a program is viewed as an integrated collection of functions. The selection of test data depends on the functions used in the design and on the value spaces over which the functions are defined. The basic ideas in the method were developed during the study of a collection of scientific programs containing errors. The method was the most reliable testing technique for discovering the errors. It was found to be significantly more reliable than structural testing. The two techniques are compared and their relative advantages and limitations are discussed. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • On Development of Iterative Programs from Function Specifications

    Page(s): 170 - 182
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (2128 KB)  

    A systematic approach to the development of totally correct iterative programs is investigated for the class of accumulation problems. In these problems, the required output information is usually obtained by accumulation during successive passes over input data structures. The development of iterative programs for accumulation problems is shown to involve successive generalizations of the data domain and the corresponding function specifications. The problem of locating these generalizations is discussed. It is shown that not all function specifications can be realized in terms of terminating computations of a stand-alone iterative program. A linear data domain is defined in terms of decomposition and finiteness axioms, and the property of well behavedness of a loop body over a linear data domain is introduced. It is shown that this property can be used to generate loop body specifications from specifically chosen examples of program behavior. An abstract program for an accumulation problem is developed using these considerations. The role of generalizations as an added parameter to the program development process is discussed. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • State Restoration in Systems of Communicating Processes

    Page(s): 183 - 194
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (3408 KB)  

    In systems of asynchronous processes using messagelists with SEND–RECEIVE primitives for interprocess communication recovery primitives are defined to perform state restoration: MARK saves a particular point in the execution of the program; RESTORE resets the system state to an earlier point (saved by MARK); and PURGE discards redundant information when it is no longer needed for possible state restoration. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Communication Port: A Language Concept for Concurrent Programming

    Page(s): 194 - 204
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (3864 KB)  

    A new language concept–communication port (CP), is introduced for programming on distributed processor networks. Such a network can contain an arbitrary number of processors each with its own private storage but with no memory sharing. The processors must communicate via explicit message passing. Communication port is an encapsulation of two language properties: "communication non-determinism" and "communication disconnect time." It provides a tool for progranmers to write well-structured, modular, and efficient concurrent programs. A number of examples are given in the paper to demonstrate the power of the new concepts. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A Methodology for Structured Database Decomposition

    Page(s): 205 - 218
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (3136 KB)  

    We present a methodology for structured database decomposition based on the relational data model. It is argued that in the distributed database environment, structured database decomposition is attractive both for efficiency and for database security considerations. Techniques for parallel processing and hashed access of structurally decomposed database are presented. Techniques for structured database decomposition to support multiple user views are also described. Structured database decomposition is most advantageous in a query only database environment with stable user views, although dynamic updates can also be handled using techniques described in this paper. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A Queuing Model of a Time-Sliced Priority-Driven Task Dispatching Algorithm

    Page(s): 219 - 225
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1848 KB)  

    A queuing analysis of a preemptive, priority-driven, time-sliced dispatcher algorithm, typical of those found in many time-sharing systems, is presented. A distinctive feature of the system being modeled is that a preempted task, when readmitted to the dispatcher, is reallocated a full time slice rather than the residual. The combination of preemption, time-slice renewal and class-dependent arrival and service rates places the analysis beyond that of the well-known FBN algorithms. The model is used to predict the behavior of the dispatcher algorithm under various workloads. The model reveals that, at high arrival rates, the time-slice renewal policy prevents processor bound tasks from being relegated to the lower priority queues, thereby severely degrading the throughput of tasks with short processor requirements. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A Framework for Discipline in Programming

    Page(s): 226 - 232
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1928 KB)  

    Programmers, even in well-organized software environments which utilize some modern software engineering practices, are often lacking of a discipline in their individual programming effort. There has not been an emphasis on discipline in progamming practice, as is traditional in other engineering and scientific fields' instruction. A framework organized to be suitable for early presentation and developing usage is presented and evaluated. It integrates the notions of top-down design, stepwise refinement, structured flowcharting, test case description, and analysis in the context of a framework for systematically developing and concurrently documenting programs. The framework was evaluated in actual usage during introductory programming instruction by comparing it to a typical conventional approach. A comparison of programming effort showed only a 16 percent increase in time required in the disciplined approach, which certainly makes it feasible for introductory instruction. Program quality comparisons were carried out by a comprehensive testing for logic errors in the completed projects. The results were impressively favorable for the disciplined approach. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • IEEE Computer Society Publications

    Page(s): 232-a
    Save to Project icon | Request Permissions | PDF file iconPDF (160 KB)  
    Freely Available from IEEE
  • Call for Papers

    Page(s): 232
    Save to Project icon | Request Permissions | PDF file iconPDF (1522 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