By Topic

Software Engineering, IEEE Transactions on

Issue 6 • Date Nov. 1978

Filter Results

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

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

    Page(s): c2
    Save to Project icon | Request Permissions | PDF file iconPDF (254 KB)  
    Freely Available from IEEE
  • Implementation of a Generalized Critical Region Construct

    Page(s): 449 - 455
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (2360 KB)  

    The critical region construct can be usefully extended by adding region entry conditions and replacing the mutual exclusion restriction by a more general restriction. This paper discusses an extended construct of this nature, and presents an implementation approach based on Dijkstra's secretary process concept, with the code for the secretary process generated automatically during program compilation. This type of implementation can produce efficient solutions to many complex synchronization problems. It is also applicable in a wide range of hardware/software environments, including many existing systems. The use of the construct is demonstrated by a number of programming examples. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Initial Report on a Lisp Programmer's Apprentice

    Page(s): 456 - 467
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (3496 KB)  

    This paper reports on the initial design and partial implementation of an interactive programming environment to be used by expert programmers. The system is based on three forms of program description: 1) definition of structured data objects, their parts, properties, and relations between them, 2) input–output specification of the behavior of program segments, and 3) a hierarchical representation of the internal structure of programs (plans). The plan representation is of major theoretical interest because it includes not only data flow and control flow relationships between subsegments of a program, but also goal-subgoal, prerequisite, and other logical dependencies between the specifications of the subsegments. Plans are utilized both for describing particular programs and in the compilation of a knowledge base of more abstract knowledge about programming, such as the concept of a loop and various specializations, such as enumeration loops and search loops. We also describe a deductive system which can verify the correctness of plans involving side effects on complex data with structure sharing. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Capability Managers

    Page(s): 467 - 477
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (3912 KB)  

    The use of capabilities to control the access of component programs to resources in an operating system is an attractive means by which to provide a uniform protection mechanism. In this paper, a capability is defined as an abstract encapsulation of the data needed to define access to a protected object. We do not assume that capability checking is necessarily concentrated in a protection kernel, nor that capabilities to different types of objects are all of the same degree of complexity. We explore a language-based capability mechanism in which protection environments are established by declaration, enforcement protocols are automatically produced by a compiler, and access control policy is clearly placed in the hands of the system designer. The basic mechanism introduced is a program component called a capability manager that is an extension of the monitor concept. It can be used to realize most of the facilities associated with kernel-based capabilities, including preemptive revocation. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Some Aspects of the Verification of Loop Computations

    Page(s): 478 - 486
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1864 KB)  

    The problem of proving whether or not a loop computes a given function is investigated. We consider loops which have a certain "closure" property and derive necessary and sufficient conditions for such a loop to compute a given function. It is argued that closure is a fundamental concept in program proving. Extensions of the basic result to proofs involving relations other than functional relations, which typically arise in nondeterministic loops, are explored. Several applications of these results are given, particularly in showing that certain classes of programs may be directly proven (their loop invariants generated) given only their input-output relationships. Implications of these results are discussed. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A Model of Recoverability in Multilevel Systems

    Page(s): 486 - 494
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (2904 KB)  

    Backward error recovery (that is, resetting an erroneous state of a system to a previous error-free state) is an important general technique for recovery from faults in a system, especially those faults which were not foreseen. However, the provision of backward error recovery can be complex, particularly if the implementation of the system is "multilever" and recovery is to be provided at a number of these levels. This paper discusses two distinct categories of multilevel system, and then examines in detail the issues involved in providing backward error recovery in both types of system. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Automating the Selection of Implementation Structures

    Page(s): 494 - 506
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (4520 KB)  

    An approach to automating the selection of implementations for the data representations used in a program is presented. Formalisms are developed for specifying data representations and implementation structures. Using these formalisms, algorithms are presented which will recognize the use in a program of known data representations (e. g., stacks, queues, lists, arrays, etc.) so that alternative implementations can be retrieved from a library and which will, for those representations not recognized, generate alternative implementations with a wide range of space-time tradeoffs. Experience with using these algorithms indicates they are reasonably successful, although there are several problems that must be solved before automatic implementation selection systems will be practical. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Conditions for the Equivalence of Synchronous and Asynchronous Systems

    Page(s): 507 - 516
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (2640 KB)  

    Synchronous and asynchronous operation of software systems are defined. It is argued that certifying the correct operation of a system in the synchronous mode is significantly simpler than in the asynchronous mode. A series of compile-time and run-time restrictions for systems constructed in Concuirent Pascal are presented which assure equivalent operation in the synchronous and asynchronous modes. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Compile Time Memory Allocation for Parallel Processes

    Page(s): 517 - 520
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1896 KB)  

    This paper discusses the problem of allocating storage for the activation records of procedure calls within a system of parallel processes. A compile time storage allocation scheme is given, which determines the relative address within the memory segment of a process for the activation records of all procedures called by the process. This facilitates the generation of an efficient run-time code. The allocation scheme applies to systems in which data and procedures can be shared among several processes. However, recursive procedure calls are not supported. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Discrete Systems and Flowcharts

    Page(s): 521 - 525
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (704 KB)  

    This paper points out the abstract similarities between problems arising in programming, discrete systems analysis in engineering, and network flow problems in operations research. The highly developed techniques of analyzing discrete systems of two terminal elements in electrical engineering become applicable to analyzing the complexity and execution time of computer programs. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • ASSIST-V: An Environment Simulator for IBM 360 Systems Software Development

    Page(s): 526 - 530
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (2176 KB)  

    This paper describes ASSIST-V, a software tool designed for use in the teaching of operating systems, fie management, and machine architecture courses. ASSIST-V is a program that provides an environment for the implementation, testing, and evaluation of systems software for the IBM 360 series machines. This capability is achieved by simulating all relevant aspects of the machine's architecture. In particular, ASSIST-V simulates interrupts, I/O channels, and I/O devices, as well as all IBM 360 machine instructions. In addition, ASSIST-V provides extensive debugging and statistics-gathering aids. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Database Security

    Page(s): 531 - 533
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (616 KB)  

    Databases may be compromised by asking a set of queries which return only statistical information and making inferences about a specific entry from the results of the set of queries. We present methods of constructing the set of queries to compromise a database where all the queries in the set return the maximum of a set of k elements, or all queries return the mean of a set of k elements. In the case of the mean query, all elements involved will be compromised. We also consider bounds on the number of queries required to compromise the database. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • 1978 Index IEEE Transactions on Software Engineering Vol. SE-4

    Page(s): 533
    Save to Project icon | Request Permissions | PDF file iconPDF (1015 KB)  
    Freely Available from IEEE
  • The IEEE Computer Society Announces Tutorial and Selected Papers in Digital Image Processing

    Page(s): 533-f
    Save to Project icon | Request Permissions | PDF file iconPDF (1432 KB)  
    Freely Available from IEEE
  • IEEE Announcing a New Quarterly IEEE Transactions... IEEE Transactions on Pattern Analysis and Machine Intelligence

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

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

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