bluuebunny/crossref_metadata_2025 huggingface dataset:
A quantitative evaluation of the effectiveness of quality assurance as experienced on a large-scale software development effort
Authors: Belford Peter Chase , Broglio Carlo
Published: January 2007

The purpose of quality assurance on software projects is to achieve high quality products on schedule, within cost, and in compliance with contract requirements. However, historically, the effectiveness of these activities on software projects has not been quantitatively demonstrable because of a lack of data collected on the project combined with a lack of insight into the operational reliability of the system.

Quality assurance is a collection of activities on a contractual deliverable whose purpose is to impart a degree of confidence that the deliverable will conform to the customer's concept of what was procured. Under these conditions, quality assurance must be performed with respect to a documented baseline of the concept. This baseline can address the need in the form of requirement statements; the conceptual approach to be followed in the form of a functional specification; or the design to be implemented in the form of a design specification. Further, these baselines are hierarchical in the sense that when quality assurance is applied to a level it is implicitly applied to all lower levels; e.g., if the need is to be satisfied, the conceptual approach must be satisfied. Effective quality assurance programs impart a high degree of confidence to the customer without significant impacts on schedule or cost. Historically, this effectiveness has not been quantitatively demonstrable because of a lack of data collected on the project combined with a lack of insight into the operational reliability of the system.
An example of software quality assurance techniques used in a successful large scale software development
Authors: Kacik Paul J.
Published: January 2007

Development of the software package for the Combat Grande Air Defense System was considered by the Hughes Aircraft Company to be highly successful in that a reliable system was produced that met customer requirements and was completed within time and budget allocations - a feat not often attained in large scale software developments. Much of the success can be attributed to the software quality assurance (QA) techniques used. Some of these QA techniques are listed in Table 1 along with the phases in which they were used.

This paper describes these QA techniques in some detail, as well as those aspects of the system and software development program that permitted these techniques to be used effectively.

Background information is presented first which describes the system, software, organization and software configuration management. This is followed by a description of the three major phases of software development. The overall results are then presented, followed by recommended improvements and conclusions. Many of the QA techniques listed in Table 1 were used in several phases of software development. However, a particular technique is discussed only in the phase in which it was most extensively used.
Tailor
Authors: Blake Russ
Published: January 2007

Tailor is an atomic model of the Tandem/16 multiple-computer system. Atomic modeling is based on operational analysis and general considerations from queueing theory. Measurements of system atoms define the underlying components of processor usage. The workload is described to the model through a separate set of measurable parameters that comprise the workload atoms. Simple formulae from operational analysis are then applied to predict the amount of equipment necessary to support the projected application. Tailor's accuracy was tested under two very different workloads. For both a large backend database application and a program development system, Tailor was able to predict the equipment needed to handle the workloads to within 5 percent.
Benchmarking interactive systems
Authors: Bashioum Douglas L.
Published: January 2007

A methodology for benchmarking dedicated, interactive systems has been developed at The MITRE Corporation. This methodology uses a synthetic program model of the application which runs on the proposed hardware/operating system configurations and is driven by a statistically derived load. System performance is measured by analyzing the synthetic transaction response times. The methodology yields assurances to a buyer that the benchmarked system has at least an a priori defined amount of computer power available for applications-oriented software. This paper examines the methodology and the problems that were encountered and solutions which have been used in calibrating a benchmark model for a specific application. The benchmark was designed to model a large interactive information processing application on a procurement requiring loosely-coupled (no shared memory) multicomputer systems. The model consists of a set of interacting synthetic program cells, each composed of several abstractly defined components. The model is maintained in a very high level language that is automatically translated into a standard High Order Language (typically FORTRAN or COBOL) for delivery to the competing vendors. These delivered model cells contain automatically generated size and time filler code that “calibrate” the cells to consume the appropriate CPU time and memory space as defined by the abstract size units after accounting for each vendor's hardware and proposed system design.
On homogeneity in M/G/1 queueing systems
Authors: Bryant Raymond M.
Published: January 2007

Operational analysis replaces certain classical gueueing theory assumptions with the condition of “homogeneous service times.” In this paper, we show that the sample paths of an M/G/1 queueing system have this property with non-zero probability if and only if the service time distribution is exponential. We also consider the relationship of the operational performance measures S(n) and the mean service time. This relationship is shown to depend on the form of the service distribution. It follows that using operational analysis to predict the performance of an M/G/1 queueing system when the mean service time is changed will be most successful when the service time distribution is exponential. Simulation evidence is presented which supports this claim.
The lazy repairman and other models
Authors: Shore John E.
Published: January 2007

We consider two simple models of overhead in batch computer systems and demand access communications systems. The first, termed “modified M/M/1/K, ” is an exponential, single-server queuing system with finite storage capacity, constant arrival rate, and queue-length-dependent service time. We consider cases in which the expected service time consists of a constant plus a term that grows linearly or logarithmically with the queue length. We show that the performance of this system—as characterized by the expected number of customers in the system, the expected time in the system, and the rate of missed customers—can collapse as the result of small changes in the arrival rate, the overhead rate, or the queue capacity. The system has the interesting property that increasing the queue capacity can decrease performance. In addition to equilibrium results, we consider the dynamic behavior of the model. We show that the system tends to operate in either of two quasi-stable modes of operation—one with low queue lengths and one with high queue lengths. System behavior is characterized by long periods of operation in both modes with abrupt transitions between them. We point out that the performance of a saturated system may be improved by dynamic operating procedures that return the system to the low mode.

In the second model, termed the “lazy repairman, ” the single server has two distinct states: the “busy” state and the “lazy” state. Customers receive service only when the server is in the busy state; overhead is modeled by attributing time spent in the lazy state to overhead functions. When the expected time spent in the lazy state increases with the number of customers waiting for service, the behavior of the lazy repairman model is similar to the modified M/M/1/K, although the lazy repairman model makes it easier to study in detail the effects of overhead.
The response of job classes with distinct policy functions(Extended Abstract)
Authors: Ruschitzka Manfred
Published: January 2007

Policy function schedulers provide a flexible framework for implementing a wide range of different scheduling schemes. In such schedulers, the priority of a job at any instant in time is defined by the difference between the time it spent in the system and an arbitrary function of its attained service time. The latter is called the policy function and acts as the functional parameter that specifies a particular scheduling scheme. For instance, a constant policy function specifies the first-come, first-serve scheduling scheme. By changing the policy function, the system behavior can be adjusted to better conform with desired response characteristics. It is common to express response characteristics in terms of a response function, the average response time of a job conditioned on its service requirement in equilibrium.

In this paper, we analyze processor-sharing M/G/1 systems in which the priorities of different classes of jobs are determined by distinct policy functions.
Prevention of task overruns in real-time non-preemptive multiprogramming systems
Authors: Kim K. H. , Naghibzadeh Mahmoud
Published: January 2007

Real-time multiprogramming systems, in which a hardware processor is dynamically assigned to run multiple software processes each designed to control an important device (user), are considered. Each software process executes a task in response to a service request repeatedly coming from the corresponding user. Each service task is associated with a strict deadline, and thus the design problem that we are concerned with is to ensure that the service tasks requested can always be executed within the associated deadlines, i.e., no task overrun occurs. This problem was studied by several investigators for the cases where preemptive scheduling strategies are used. In contrast, very few studies have been conducted for cases of non-preemptive scheduling. In this paper we show that a non-preemptive strategy, called relative urgency non-preemptive (RUNP) strategy, is optimal in the sense that if a system runs without a task overrun under any non-preemptive strategy, it will also run without a task overrun under the RUNP strategy. Then an efficient procedure used at the design time for detecting the possibility of a task overrun in a system using the RUNP strategy is presented. The procedure is useful in designing overrun-free real-time multiprogramming systems that yield high processor utilizations. Some special types of systems using the RUNP strategy for which even simpler detection procedures are available are also discussed.
Numerical methods for infinite Markov processes
Authors: King P. J.B. , Mitrani I.
Published: January 2007

The estimation of steady state probability distributions of discrete Markov processes with infinite state spaces by numerical methods is investigated. The aim is to find a method applicable to a wide class of problems with a minimum of prior analysis. A general method of numbering discrete states in infinite domains is developed and used to map the discrete state spaces of Markov processes into the positive integers, for the purpose of applying standard numerical techniques. A method based on a little used theoretical result is proposed and is compared with two other algorithms previously used for finite state space Markov processes.
Prototyping
Authors: Spiegel Mitchell G.
Published: January 2007

This paper describes prototyping, a state-of-the-art methodology to assist a design team in making a through definition and analysis of new requirements, feasibility, alternative selections, workload impact, system and/or application specification, implementation, and testing. Suggested prototype tools and techniques are presented, and guidance is included to aid a design team in obtaining accurate and timely results. This paper is not intended to be a complete text on design. It should be enhanced with a design team's expertise, consultation from sources with design experience, and reference to other design literature.

Prototyping is a process (the act, study, or skill) of modeling an information-communication system architecture in one or more levels of detail, using descriptive models, abstract models, and working models of the system and its component parts (synonym: archetyping).

This work was completed while the author was working with prior employers.
Project implementation of Software Configuration Management
Authors: Fredrick C. R.
Published: January 2007

Have you or one of your programmers said: “The system ran yesterday; I only changed one line.” or “I spent my budget, but I'm not done.” or “I fixed that problem yesterday, but it's back now.” or “I thought it would be a nice feature for the operator, so I added it to the program.” or “Why was this line of code changed? Who did it and when?”?

If these or other similar statements are familiar, then Software Configuration Management is a subject that should interest you. Software Configuration Management (SCM) is a management method that establishes a discipline for the software development process and provides visibility to that process.

The step by step procedures used by a large software organization to resolve some of their development problems will be followed here. The result of their efforts was the formulation of a management method that significantly improved the quality of their software products and reduced the costs. It was learned later that other software organizations had gone through similar processes and arrived at similar results. This new tool is now known as Software Configuration Management.
The measurement of software science parameters in software designs
Authors: Szulewski Paul A. , Whitworth Mark H. , Buchan Philip , DeWolf J. Barton
Published: January 2007

Metrics of software quality have historically focused on code quality despite the importance of early and continuous quality evaluation in a software development effort. While software science metrics have been used to measure the psychological complexity of computer programs as well as other quality related aspects of algorithm construction, techniques to measure software design quality have not been adequately addressed. In this paper, software design quality is emphasized. A general formalism for expressing software designs is presented, and a technique for identifying and counting software science parameters in design media is proposed.
Test metrics for software quality
Authors: Ronback James
Published: January 2007

This paper discusses Bell Northern Research's experience in utilizing an extended set of test metrics for assuring the quality of software. The theory and use of branch and path class coverage is discussed and the reaction of users in described. This paper also discusses the effect of using co-resident inspection procedures in achieving cost-effective testing for a high degree of test coverage.
Adaptive search techniques applied to software testing
Authors: Benson J. P.
Published: January 2007

An experiment was performed in which executable assertions were used in conjuction with search techniques in order to test a computer program automatically. The program chosen for the experiment computes a position on an orbit from the description of the orbit and the desired point.

Errors were interested in the program randomly using an error generation method based on published data defining common error types. Assertions were written for program and it was tested using two different techniques. The first divided up the range of the input variables and selected test cases from within the sub-ranges. In this way a “grid” of test values was constructed over the program's input space.

The second used a search algorithm from optimization theory. This entailed using the assertions to define an error function and then maximizing its value. The program was then tested by varying all of them. The results indicate that this search testing technique was as effective as the grid testing technique in locating errors and was more efficient. In addition, the search testing technique located critical input values which helped in writing correct assertions.
Data space testing
Authors: Paige Michael
Published: January 2007

A complete software testing process must concentrate on examination of the software characteristics as they may impact reliability. Software testing has largely been concerned with structural tests, that is, test of program logic flow. In this paper, a companion software test technique for the program data called
data space testing
is described.

An approach to data space analysis is introduced with an associated notation. The concept is to identify the sensitivity of the software to a change in a specific data item. The collective information on the sensitivity of the program to all data items is used as a basis for test selection and generation of input values.
Software reliability measurement session
Authors: Musa John D.
Published: January 2007

Many people think of reliability as a devoutly wished for but seldom present attribute of a program. This leads to the idea that one should make a program as reliable as one possibly can. Unfortunately, in the real world software reliability is usually achieved at the expense of some other characteristic of the product such as program size, run or response time, maintainability, etc. or the process of producing the product such as cost, resource requirements, scheduling, etc. One wishes to make explicit trade-offs among the software product and process rather than let them happen by chance. Such trade-offs imply the need for measurement. Because of mounting development and operational costs, pressures for obtaining better ways of measuring reliability, have been mounting. This session deals with this crucial area.
Stochastic reliability growth
Authors: Littlewood B.
Published: January 2007

An assumption commonly made in early models of software reliability is that the failure rate of a program is a constant multiple of the number of faults remaining. This implies that all faults have the same effect upon the overall failure rate. The assumption is challenged and an alternative proposed. The suggested model results in earlier fault-fixes having a greater effect than later ones (the worst faults show themselves earlier and so are fixed earlier), and the DFR property between fault-fixes (confidence in programs increases during periods of failure-free operations, as well as at fault-fixes). The model shows a high degree of mathematical tractability, and allows a range of reliability measures to be calculated exactly. Predictions of total execution time to achieve a target reliability, and total number of fault-fixes to target reliability, are obtained. It is suggested that the model might also find applications in those hardware reliability growth situations where design errors are being eliminated.
SOFTDOC - A system for automated software static analysis and documentation
Authors: Sneed H.
Published: January 2007

The code itself is useless without adequate documentation. Besides that it is almost impossible to validate and verify code unless it is properly documented. Yet most of the attention of the past has been devoted to producing code and little to producing the documentation although it is obvious that it is necessary both for testing and maintaining the software product.

Software documentation can be classified according to its usage. Thus, there is a functional documentation for describing what a system does and what it is used for, and technical documentation for describing how the software is constructed and how it performs its functions. The former is directed toward the user, the latter toward the tester and maintainer. The two are, however, highly interrelated. Since the programmer seldom writes the user documentation it is necessary for those who describe what the system does, to know how it does it. An accurate technical documentation is a prerequisite for producing accurate user documentation. Finally it serves yet another purpose. Without it, it is not possible to control the quality of the software. Software Quality Control presupposes a full and up to date technical description in order to assess the characteristics of the system such as modularity, portability, reliability, etc.
Designing systems for performance
Authors: Browne J. C.
Published: January 2007

Real-time systems and systems to interface human work environments will dominate the growth of computer applications over the next decade. These systems must execute their functions with the time-liness and responsiveness required in these environments. The design, development and testing of such systems must guarantee performance as well as functionality and reliability. There is not yet in place a technology to support this requirement for engineering of performance. The research and development community in performance has focused primarily on analysis and deduction rather than the performance arena. This talk will define and discuss the tasks of engineering performance into software systems and describe the recent progress towards this goal.
Analytic modelling of disk I/O subsystems
Authors: Lazowska Edward D. , Zahorjan John
Published: January 2007

This is a summary of a tutorial presented during the conference discussing a number of approaches to representing disk I/O subsystems in analytic models of computer systems.

As in any analytic modelling study, the fundamental objective in considering an I/O subsystem is to determine which devices should be represented in the model, and what their loadings should be. The device loadings represent the service required by jobs, and are the basic parameters needed by the computational algorithm which calculates performance measures for the model. To set these parameters, knowledge of service times at the various devices in the I/O subsystem is required.

The tutorial begins by distinguishing analytic modelling from alternative approaches, by identifying the parameter values that are required for an analytic modelling study, and by explaining the role of the computational algorithm that is employed (Denning & Buzen [1978] provide a good, although lengthy, summary).

We then consider a sequence of models of increasingly complex I/O subsystems.

Next we discuss I/O subsystems with rotational position sensing.

We then discuss approaches to modelling shared DASD, emphasizing hierarchical techniques in which highlevel models of each system can be analyzed in isolation. We also mention recent techniques for modelling complex I/O subsystems involving multipathing.

Finally, we discuss the analysis of I/O subsystems based on broadcast channels such as Ethernet.
Segmented FIFO page replacement
Authors: Turner Rollins , Levy Henry
Published: January 2007

A fixed-space page replacement algorithm is presented. A variant of FIFO management using a secondary FIFO buffer, this algorithm provides a family of performance curves lying between FIFO and LRU. The implementation is simple, requires no periodic scanning, and uses no special hardware support. Simulations are used to determine the performance of the algorithm for several memory reference traces. Both the fault rates and overhead cost are examined.
A log file design for analyzing secondary storage occupancy
Authors: Artis H. Pat
Published: January 2007

A description of the design and implementation of a log file for analyzing the occupancy of secondary storage on IBM computer systems is discussed. Typical applications of the data contained in the log are also discussed.
Approximate analytic models of arbiters
Authors: Jacobson Patricia
Published: January 2007

Results at very light and very heavy loads are easy to obtain, but at intermediate loads performance modelling is necessary. Because of the considerable cost of simulation, we develope queueing network models which can be solved quickly by approximate analytic techniques. These models are validated by comparing with simulations at certain points, and then used to get a wide range of results quickly.
Analytical models for an Ethernet-like local area network link
Authors: Marathe Madhav , Kumar Sujit
Published: January 2007

Ethernet -like local area network links have been studied by a number of researchers. Most of these studies have involved extensive simulation models operating at the level of individual packets. However, as we begin building models of systems built around such links, detailed simulation models are neither necessary, nor cost-effective. Instead, a simple analytical model of the medium should be adequate as a component of the higher level system models. This paper discusses a number of analytical models and identifies a last-in-first-out M/G/1 model with slightly increased service time as one which adequately captures both the mean and the coefficient of variation of the response time. Given any offered load, this model can be used to predict the mean waiting time and its coefficient of variation. These two can be used to construct a suitable 2 stage hyperexponential distribution. Random numbers can then be drawn from this distribution for use as waiting times of individual packets.
Network modeling with bursty traffic and finite buffer space
Authors: Spirn Jeffrey R.
Published: January 2007

In this paper, we propose a class of queueing network models, and a method for their approximate solution, for computer networks with bursty traffic and finite buffer space. The model is open, implying no population limit except for buffer size limits and therefore no window-type flow control mechanism. Each node of the computer network is represented as a finite-length queue with exponential service and an arrival process which is initially bulk Poisson, but becomes less and less clustered from hop to hop. Elaborations are possible to account for varying mean packet sizes and certain buffer pooling schemes, although these involve further approximation. The approximations of the method were validated against several simulations, with reasonable agreement, and certainly with much less error than is obtained by modeling a bursty traffic source as Poisson.
Optimal routing in networks with flow-controlled virtual channels
Authors: Lam Simon S. , Lien Y. Luke
Published: January 2007

Packet switching networks with flow-controlled virtual channels are naturally modeled as queueing networks with closed chains. Available network design and analysis techniques, however, are mostly based upon an open-chain queueing network model. In this paper, we first examine the traffic conditions under which an open-chain model accurately predicts the mean end-to-end delays of a closed-chain model having the same chain throughputs. We next consider the problem of optimally routing a small amount of incremental traffic corresponding to the addition of a new virtual channel (with a window size of one) to a network. We model the new virtual channel as a closed chain. Existing flows in the network are modeled as open chains. An optimal routing algorithm is then presented. The algorithm solves a constrained optimization problem that is a compromise between problems of unconstrained individual-optimization and unconstrained network-optimization.
Performance of globally distributed networks
Authors: Wecker Stuart , Gordon Robert , Gray James , Herman James , Kanodia Raj , Seligman Dan
Published: January 2007

In the design and implementation of computer networks one must be concerned with their overall performance and the efficiency of the communication mechanisms chosen. Performance is a major issue in the architecture, implementation, and installation of a computer communication network. The architectural design always involves many cost/performance tradeoffs. Once implemented, one must verify the performance of the network and locate bottlenecks in the structure. Configuration and installation of a network involves the selection of a topology and communication components, channels and nodes of appropriate capacity, satisfying performance requirements.

This panel will focus on performance issues involved in the efficient design, implementation, and installation of globally distributed computer communication networks. Discussions will include cost/performance tradeoffs of alternative network architecture structures, methods used to measure and isolate implementation performance problems, and configuration tools to select network components of proper capacity. The panel members have all been involved in one or more performance issues related to the architecture, implementation, and/or configuration of the major networks they represent. They will describe their experiences relating to performance issues in these areas. Methodologies and examples will be chosen from these networks in current use. There will be time at the end of the session for questions to the panel.
Operational measurements on a high performance ring
Authors: Gordon R. L.
Published: January 2007

Application and system software architecture can greatly influence the operational statistics of a local network. The implementation of a transparent file system on top of a high bandwidth local network has resulted in generating a high degree of file traffic over the local network whose characteristics are largely fixed and repeatable. These statistics will be presented along with arguments for and against designing mechanisms that optimize specifically for that class of traffic.
Performance of SNA's LU-LU session protocols
Authors: Gray James P.
Published: January 2007

SNA is both an architecture and a set of products built in conformance with the architecture (1,2,3). The architecture is layered and precisely defined; it is both evolutionary and cost effective for implementing products. Perhaps the largest component of cost effectiveness is
performance
: transaction throughput and response times. For SNA, this involves data link control protocols (for SDLC and S/370 channel DLC's), routing algorithms, protocols used on the sessions that connect logical units (LU-LU session protocols), and interactions among them.

SNA's DLC and routing protocols have been discussed elsewhere (4,5,6); this talk examines protocols on sessions between logical units (LU-LU session protocols) and illustrates the results of design choices by comparing the performance of various configurations.
ARPANET performance tuning techniques
Authors: Herman James G.
Published: January 2007

As part of its operation and maintenance of the ARPANET for the past twelve years, BBN has been asked to investigate a number of cases of degradation in network performance. This presentation discusses the practical methods and tools used to uncover and correct the causes of these service problems. A basic iterative method of hypothesis generation, experimental data gathering, and analysis is described. Emphasis is placed on the need for experienced network analysts to direct the performance investigation and for the availability of network programmers to provide special purpose modifications to the network node software in order to probe the causes of the traffic patterns under observation. Many typical sources of performance problems are described, a detailed list of the tools used by the analyst are given, and a list of basic techniques provided. Throughout the presentation specific examples from actual ARPANET performance studies are used to illustrate the points made.
An analysis of a time window multiaccess protocol with collision size feedback (WCSF)
Authors: Elsanadidi M. Y. , Chu Wesley W.
Published: January 2007

We analyze the performance of a window multiaccess protocol with collision size feedback. We obtain bounds on the throughput and the expected packet delay, and assess the sensitivity of the performance to collision recognition time and packet transmission time. An approximate optimal window reduction factor to minimize packet isolation time is {equation}, where
n
is the collision size and
R
the collision recognition time (in units of packet propagation delay). The WCSF protocol, which requires more information than CSMA-CD, is shown to have at least 30% more capacity than CSMA-CD for high bandwidth channels; that is, when packet transmission time is comparable to propagation delay. The capacity gain of the WCSF protocol decreases as the propagation delay decreases and the collision recognition time increases. Our study also reveals the inherent stability of WCSF. When the input load increases beyond saturation. The throughput remains at its maximum value.
Distributed virtual hosts and networks
Authors: Sherman R. H. , Gable M. G. , Chung A. W.
Published: January 2007

Diverse network application requirements bring about local networks of various size, degree of complexity and architecture. The purpose of this paper is to present a network protocol layer which is used to provide a homogeneous operating environment and to ensure the availability of network resources. The network layer process probes the underlying local network to discover its properties and then adapts to changing network conditions. The principle contribution of this paper is to generalize properties of diverse local networks which can be measured. This is important when considering maintenance and service of various communication links. Three type of links are point-to-point links, multi-drop, loop or switched links and multi-access contention data buses. A prototype network is used to show a complexity improvement in the number of measurement probes required using a multi-access contention bus. Examples of measurement techniques and network adaption are presented.
Systems aids in determining Local Area Network performance characteristics
Authors: Sternick Barbara R.
Published: January 2007

At Bethesda, Maryland, the National Library of Medicine has a large array of heterogenous data processing equipment dispersed over ten floors in the Lister Hill Center and four floors in the Library Building.

The National Library of Medicine decided to implement a more flexible, expansible access medium (Local Area Network (LAN) to handle the rapid growth in the number of local and remote users and the changing requirements. This is a dual coaxial cable communications system designed using cable television (CATV) technology. One cable, the outbound cable, transfers information between the headend and the user locations. The other cable, the inbound cable, transfers information from the user locations to the headend. This system will permit the distribution of visual and digital information on a single medium.

On-line devices, computers, and a technical control system network control center are attached to the LAN through BUS Interface Units (BIUs). The technical control system will collect statistical and status information concerning the traffic, BIUs, and system components. The BIUs will, at fixed intervals, transmit status information to the technical control. The Network Control Centers (NCC) will provide network directory information for users of the system, descriptions of the services available, etc. A X.25 gateway BIU will interface the LAN to the public networks (Telenet and Tymnet) and to X.25 host computer systems.
Performance evaluation through job scheduler modeling
Authors: Rajaraman M. K.
Published: January 2007

The scheduler in the Cyber-176 computer does the major functions of routing the job through the system, controlling job's progress through aging and swapping of jobs between various queues and resource allocation among jobs. This paper reports some results of the performance evaluation study of the Cyber-176 by modeling the scheduler as the heart of the system. The study explores the effects of varying the scheduler parameters in the performance of the machine in a particular installation. The basic theme of the paper is that the selection of parameters in a laboratory or a system test environment may not always result in the best performance in an actual installation. The simulation provides vital information for installation management and tuning the operating system.
Machine Instruction Count Program
Authors: Gaffney John E.
Published: January 2007

The Machine Instruction Count Program (MIC Program) was originally developed in 1978 to produce 'operator' and 'operand' counts of object programs written for the AN/UYK-7 military computer. In 1981, its capability was expanded so that it could apply to the AN/UYS-1 (or “Advanced Signal Processor”) military computer. The former machine, made by UNIVAC, hosts the IBM-developed software for the sonar and defensive weapons system/command system for the TRIDENT missile launching submarine and the software for the sonar for the new Los Angeles-class attack submarines. The second machine, made by IBM, is incorporated into several military systems including the LAMPS anti-submarine warfare system.

The MIC program has been applied to collect a large amount of data about programs written for the AN/UYK-7 and AN/UYS-1 computers. From these data, various of the well-known software 'metrics'
(1)
such as 'volume', 'language level', and 'difficulty' have been calculated. Some of the results obtained have been reported in the literature
(3,4)
. Probably, the most significant practical use of these data, so far, has been the development of formulas for use in the estimation of the amount of code to be written
(2,5)
as a function of measures of the requirements that they are to implement or the (top-level) design that they are to implement.
Distinguishing the potential operands in FORTRAN programs
Authors: Estes George E.
Published: January 2007

There are several possible relationships between the number of potential operands and the actual operands used which correlate with available data (such as Akiyama's debugging data). However, additional data is required to distinguish between these hypotheses. Since there is a large body of programs available written in FORTRAN, we wish to develop a mechanical counting procedure to enumerate potential operands in FORTRAN programs.

We are currently developing counting rules for these potential operands. Sub-routine parameters and input/output variables are relatively easy to identify. However, a number of FORTRAN features, such as COMMON blocks and EQUIVALENCE'd variables introduce serious complications. Some additional analysis of usage or heuristic approaches are required to differentiate potential operands in these situations.
On the effect of different counting rules for control flow operators on Software Science metrics in Fortran
Authors: Conte S. D. , Shen V. Y. , Dickey K.
Published: January 2007

Halstead in his Theory of Software Science, proposed that in the Fortran language, each occurrence of a GOTO
i
for different label
i
's be counted as a unique operator. Several writers have questioned the wisdom of this method of counting GOTO's. In this paper, we investigate the effect of counting GOTO's as several occurrences of a single unique operator on various software science metrics. Some 412 modules from the International Mathematical and Statistical Libraries (IMSL) are used as the data base for this study.
A priority cutoff flow control scheme for integrated voice-data multiplexers
Authors: Shanthikumar J. G. , Varshney P. K. , Sriram K.
Published: January 2007

In this paper, we consider the flow control problem for a movable boundary integrated voice-data multiplexer. We propose a flow control scheme where a decision rule based on the data queue length is employed to cutoff the priority of voice to prevent a data queue buildup. A continuous-time queueing model for the integrated multiplexer is developed. The performance of the flow control scheme is obtained using an efficient computational procedure. A numerical example is presented for illustration.
The queue-length distribution of the M/C
k
/1 queue
Authors: Perros H. G.
Published: January 2007

The exact closed-form analytic expression of the probability distribution of the number of units in a single server queue with Poisson arrivals and Coxian service time distribution is obtained.
Bernoulli methods for predicting communication processor performance
Authors: Anderson Gordon E.
Published: January 2007

This paper presents a method for applying Bernoulli trials to predict the number of communication lines a communication processor can process without losing data due to character overrun conditions. First, a simple method for determining the number of lines which a communication processor can support without possibility of character overrun will be illustrated. Then, it will be shown that communication processors can tolerate occasional character overrun. Finally, using Bernoulli trials, the probability of character overrun and the mean time between character overrun will be calculated. These last two figures are useful to system designers in determining the number of lines which a communication processor can reasonably support.
A counting tool for RPG
Authors: Hartman Sandra D.
Published: January 2007

The Halstead and McCabe metrics were evaluated for their usefulness in identifying RPG II and RPG III modules likely to contain a high number of errors. For this evaluation, commercially available RPG modules written within IBM were measured and assigned to low, medium, or high metric value ranges. Conclusions from this evaluation and RPG counting rules that were concomitantly developed were presented at SCORE82 and are summarized in the following report.
An application of software science to the quantitative measurement of code quality
Authors: Naib Farid A.
Published: January 2007

The error rate of a software application may function as a measure of code quality. A methodology has been developed which allows for the accurate prediction of the error rate and hence code quality prior to an application's release.

Many factors were considered which could conceivably be related to the error rate. These factors were divided into two categories: those factors which vary with time, and those factors which do not vary with time. Factors which vary with time were termed environmental factors and included such items as: number of users, errors submitted to date, etc. Factors which do not vary with time were termed internal factors and included Halstead metrics, McCabe metrics and lines of code.
A program for computing Puiseux expansions
Authors: Baladi V. , Guillement J.-P.
Published: January 2007

We describe a new Pascal implementation, due to the second author, of programs of the first author which help study singularities of plane algebraic curves. Given an algebraic plane singularity (not necessarily irreducible), represented by a two-variable polynomial (with rational coefficients), the main program uses the algorithm of Newton and Puiseux to compute the initial part of all the Puiseux expansions. All computations in algebraic extensions of the rationals are done symbolically.There is an auxiliary subprogram to compute the two-variable polynomial equation for a singularity given by finite Puiseux expansions. Some of the algebraic subprograms (manipulations of polynomials etc.) are also accessible interactively.
An assessment of HCI: issues and implications
Authors: Wulff Wendie , Mahling Dick E.
Published: January 2007

The focus of Human Computer Interaction (HCI) is to generate an understanding of how people can best interact with computers, and then to design and build technologies and tools that facilitate that interaction. As a field, HCI draws on many disciplines and perspectives. The primary contributors have historically been psychology, computer science and human factors -- more recent entries include (among others) anthropology, communication, education, graphic and industrial design, linguistics, sociology, and systems science. The work being done in the HCI field is shifting rapidly in response to the influx of these new perspectives. A quick survey of the literature from the past ten years reveals some further trends, and even some unexpected paradoxes
1
. Much of the work reported focuses either on theory [8], or on practice [3], although in many cases, work moves from theory to implementation and evaluation [4]. Papers are usually either technology-based [7] or user-based [11], but there is also work that approaches HCI problems from both of these ends of the interaction spectrum [12].
Book review: PROGRAMMING THE USER INTERFACE: PRINCIPLES AND EXAMPLES by Judith R. Brown and Steve Cunningham (Wiley: 1989)
Authors: Carey Tom
Published: January 2007

From the cover: "
Programming the User Interface
explains the main components of interactive program design input, output, screen layout, help and learning aids, and error handling. Each component is fully described and is presented with a variety of examples of tools and techniques."
Cross-architecture performance predictions for scientific applications using parameterized models
Authors: Marin Gabriel , Mellor-Crummey John
Published: January 2007

This paper describes a toolkit for semi-automatically measuring and modeling static and dynamic characteristics of applications in an architecture-neutral fashion. For predictable applications, models of dynamic characteristics have a convex and differentiable profile. Our toolkit operates on application binaries and succeeds in modeling key application characteristics that determine program performance. We use these characterizations to explore the interactions between an application and a target architecture. We apply our toolkit to SPARC binaries to develop architecture-neutral models of computation and memory access patterns of the ASCI Sweep3D and the NAS SP, BT and LU benchmarks. From our models, we predict the L1, L2 and TLB cache miss counts as well as the overall execution time of these applications on an Origin 2000 system. We evaluate our predictions by comparing them against measurements collected using hardware performance counters.
Myths and realities
Authors: Blackburn Stephen M. , Cheng Perry , McKinley Kathryn S.
Published: January 2007

This paper explores and quantifies garbage collection behavior for three whole heap collectors and generational counterparts:
copying semi-space, mark-sweep,
and
reference counting
, the canonical algorithms from which essentially all other collection algorithms are derived. Efficient implementations in MMTk, a Java memory management toolkit, in IBM's Jikes RVM share all common mechanisms to provide a clean experimental platform. Instrumentation separates collector and program behavior, and performance counters measure timing and memory behavior on three architectures.Our experimental design reveals key algorithmic features and how they match program characteristics to explain the direct and indirect costs of garbage collection as a function of heap size on the SPEC JVM benchmarks. For example, we find that the contiguous allocation of copying collectors attains significant locality benefits over free-list allocators. The reduced collection costs of the generational algorithms together with the locality benefit of contiguous allocation motivates a copying
nursery
for newly allocated objects. These benefits dominate the overheads of generational collectors compared with non-generational and no collection, disputing the myth that "no garbage collection is good garbage collection." Performance is less sensitive to the mature space collection algorithm in our benchmarks. However the locality and pointer mutation characteristics for a given program occasionally prefer copying or mark-sweep. This study is unique in its breadth of garbage collection algorithms and its depth of analysis.