ppxscal/embedding_network huggingface dataset:
An Empirical Study of a Model for Program Error Prediction
Authors: Muneo Takahashi, Yuji Kamayachi
Venue: IEEE Transactions on Software Engineering (1989)

A model is presented for estimating the number of errors remaining in a program at the beginning of the testing phase of development. The relationships between the errors occurring in a program and the various factors that affect software development, such as programmer skill, are statistically analyzed. The model is then derived using the factors significantly identified in the analysis. On the basis of data collected during the development of large-scale software systems, it is shown that factors such as frequency of program specification change, programmer skill, and volume of program design documentation are significant and that the model based on these factors is more reliable than conventional error prediction methods based on program size alone.
Learnability and the Vapnik-Chervonenkis dimension
Authors: Anselm Blumer, A. Ehrenfeucht, David Haussler, Manfred K. Warmuth
Venue: Journal of the ACM (JACM) (1989)

Valiant's learnability model is extended to learning classes of concepts defined by regions in Euclidean space En. The methods in this paper lead to a unified treatment of some of Valiant's results, along with previous results on distribution-free convergence of certain pattern recognition algorithms. It is shown that the essential condition for distribution-free learnability is finiteness of the Vapnik-Chervonenkis dimension, a simple combinatorial parameter of the class of concepts to be learned. Using this parameter, the complexity and closure properties of learnable classes are analyzed, and the necessary and sufficient conditions are provided for feasible learnability.
Creating user interfaces using programming by example, visual programming, and constraints
Authors: Brad A. Myers
Venue: ACM Transactions on Programming Languages and Systems (TOPLAS) (1990)

Peridot is an experimental tool that allows designers to create user interface components without conventional programming. The designer draws pictures of what the interface should look like and then uses the mouse and other input devices to demonstrate how the interface should operate. Peridot generalizes from these example pictures and actions to create parameterized procedures, such as those found in conventional user interface libraries such as the Macintosh Toolbox. Peridot uses visual programming, programming by example, constraints, and plausible inferencing to allow nonprogrammers to create menus, buttons, scroll bars, and many other interaction techniques easily and quickly. Peridot created its own interface and can create almost all of the interaction techniques in the Macintosh Toolbox. Therefore, Peridot demonstrates that it is possible to provide sophisticated programming capabilities to nonprogrammers in an easy-to-use manner and still have sufficient power to generate interesting and useful programs.
Architectural partitioning for system level design
Authors: E. D. Lagnese, D. E. Thomas
Venue: Proceedings of the 26th ACM/IEEE Design Automation Conference (1989)

Architectural partitioning is introduced as a new phase in system level synthesis. Architectural partitioning extracts high level structure from the behavior of an architecture. This paper describes the APARTY architectural partitioner, an automatic Architectural PARTYtioner that supports synthesis in the System Architect's Workbench. APARTY uses a unique multi-stage clustering technique. Knowledge of the high level structure of an architecture aids synthesis tools in choosing a better design in terms of area. For one example, architectural partitioning reduced the number of wiring tracks in the final design by 20%.
The impact of code density on instruction cache performance
Authors: P. Steenkiste
Venue: ACM SIGARCH Computer Architecture News (1989)

The widespread use of reduced-instruction-set computers has generated a lot of interest in the tradeoff between the density of an instruction set and the size of the instruction cache. In this paper we present and justify a method that predicts the cache performance for a wide range of architectures, based on the miss rate for a single architecture. When we apply the method to a number of cache organizations we find that changes in code density can have a dramatic impact on memory traffic, but that modest improvements in code density do not reduce program execution time significantly in a well-balanced system.
Satellite systems: How to distribute data, computing, consulting, and responsibility
Authors: L. Manderson
Venue: Proceedings of the 17th annual ACM SIGUCCS conference on User Services (1989)

Mainframe application systems are typically monolithic masterpieces of programming which respond slowly (if at all) to the needs of small clusters of users who need additional, unduplicated data tied into the primary system. Fully distributed computing and data base software is currently being developed, but it is far from being ready to apply in immediate situations. Until this software is ready (and affordable), processes and consulting will be required to link &ldquo;satellite&rdquo; applications to the repositories of information that every organization maintains. This paper will discuss the steps toward and actual implementation of the satellite system that now services the UAB Graduate School. It was developed as a joint effort between the Graduate School and the User Services section of the primary administrative computing center, and it is currently being used as a model for other possible satellite systems throughout UAB and other universities.
On inherent untestability of unaugmented microprogrammed control
Authors: Y. K. Malaiya
Venue: Proceedings of the 22nd annual workshop on Microprogramming and microarchitecture (1989)

Effective and efficient testing of the control part of a processor has remained a difficult problem. While several approaches have been proposed in the literature for handling unaugmented control parts, they involve questionable assumptions, and the results have not been encouraging. Here it is shown that unless some DFT (Design for Testability) approaches are taken, microprogrammed control is inherently a poorly testable structure. The considerations include lack of an elegant fault model, presence of components with low random testability, the length of a checking sequence and information-theoretic considerations. The design approaches must therefore include DFT augmentations and/or removal of sub-functional logic.
Architecture for a multi-user general-purpose parllel system
Authors: Dror G. Feitelson, Larry Rudolph
Venue: ACM SIGARCH Computer Architecture News (1989)

A multi-user general-purpose parallel system can make good use of the available hardware by sharing it among a mix of jobs with complementary requirements. The central task of the operating system in such an environment is to partition the machine dynamically between these jobs. We propose a new control structure to support this task, called distributed hierarchical control, which requires additional control processors to be placed on top of the parallel processors. Thus the processors are effectively organized in a tree structure, where the leaves are user processors and the higher levels are used for operating-system work; note that this structure is orthogonal to the interconneetion pattern between the user processors. Operating system algorithms for this structure are outlined.
Failure correction techniques for large disk arrays
Authors: G. A. Gibson, L. Hellerstein, R. M. Karp, D. A. Patterson
Venue: ACM SIGARCH Computer Architecture News (1989)

The ever increasing need for I/O bandwidth will be met with ever larger arrays of disks. These arrays require redundancy to protect against data loss. This paper examines alternative choices for encodings, or codes, that reliably store information in disk arrays. Codes are selected to maximize mean time to data loss or minimize disks containing redundant data, but are all constrained to minimize performance penalties associated with updating information or recovering from catastrophic disk failures. We also codes that give highly reliable data storage with low redundant data overhead for arrays of 1000 information disks.
Stochastic Analysis of Stereo Quantization Error
Authors: J. J. Rodríguez, J. K. Aggarwal
Venue: IEEE Transactions on Pattern Analysis and Machine Intelligence (1990)

The probability density function of the range estimation error and the expected value of the range error magnitude are derived in terms of the various design parameters of a stereo imaging system. In addition, the relative range error is proposed as a better way of quantifying the range resolution of a stereo imaging system than the percent range error when the depths in the scene lie within a narrow range.
Cache Memory Organization to Enhance the Yield of High Performance VLSI Processors
Authors: G. S. Sohi
Venue: IEEE Transactions on Computers (1989)

The authors study the tolerance of defects faults in cache memories. They argue that, even though the major components of a cache are linear RAMs (random-access memories), traditional techniques used for fault/defect tolerance in RAMs may be neither appropriate nor necessary for cache memories. They suggest a scheme that allows a cache to continue operation in the presence of defective/faulty blocks. Results are presented of an extensive trace-driven simulation analysis that evaluates the performance degradation of a cache due to defective blocks. From the results it is seen that the on-chip caches of VLSI processors can be organized so that the performance degradation due to a few defective blocks is negligible. The authors conclude that by tolerating such defects without a noticeable performance degradation, the yield of VLSI processors can be enhanced considerably.
Inference planning using digraphs and Boolean arrays
Authors: J. Jantzen
Venue: ACM SIGAPL APL Quote Quad (1989)

The study applies digraph techniques to a paper on Boolean array structures in rule bases. The rule base is mapped into a digraph, represented by Boolean matrices. Techniques for computing reachability, and for finding the firing order of rules using level codes are given in the Nested Interactive Array Language (Nial). The digraph approach leads to a number of tests for consistency.
Performance of clustering algorithms on time-dependent spatial patterns
Authors: Ben Pinkowski
Venue: Proceedings of the 21st annual symposium on Simulation (1988)

A single linkage clustering algorithm adapted for points distributed over time (SLOT) is used to recover clusters from coplanar points associated with time parameters. Cluster number and shape determine separability and hence effectiveness of the algorithm. Performance in simulation experiments also depended on the probability of recording cluster points. SLOT links points observed at different times if they are within some limiting distance, and the distance parameter becomes critical when detectability is low. Performance comparisons are made with other algorithms, and results are presented in the context of a rule-based expert system for solving problems involving cluster analysis of time-dependent spatial patterns.
Coda: A Highly Available File System for a Distributed Workstation Environment
Authors: Mahadev Satyanarayanan, James J. Kistler, Puneet Kumar, Maria E. Okasaki, Ellen H. Siegel
Venue: IEEE Transactions on Computers (1990)

The design and implementation of Coda, a file system for a large-scale distributed computing environment composed of Unix workstations, is described. It provides resiliency to server and network failures through the use of two distinct but complementary mechanisms. One mechanism, server replication, stores copies of a file at multiple servers. The other mechanism, disconnected operation, is a mode of execution in which a caching site temporarily assumes the role of a replication site. The design of Coda optimizes for availability and performance and strives to provide the highest degree of consistency attainable in the light of these objectives. Measurements from a prototype show that the performance cost of providing high availability in Coda is reasonable.
Computer architecture simulation using a register transfer language
Authors: R. Pittman, L. Bartel
Venue: ACM SIGMICRO Newsletter (1988)

ASIM (Architecture Simulator) is a hardware description language for describing the hardware of a digital electronic system. The components of an electronic system are described by three primitives: ALU, Selector, and Memory, which are sufficient to describe any piece of digital electronic equipment. ASIM is different from other hardware description languages in that it uses only these three high-level primitives and is not based upon an underlying programming language. To ease the translation of the specification to hardware, ASIM description primitives closely resemble their hardware counterparts, which leads to more compact descriptions than other languages. ASIM is implemented both in an interpreter and a compiler.
A bibliography of quantifier elimination for real closed fields
Authors: Dennis S. Arnon
Venue: Journal of Symbolic Computation (1988)

A basic collection of literature relatlng to algorithmic quantifier elimination for real closed fields is assembled.
Synchronization of asynchronous processes in CSP
Authors: Rajive Bagrodia
Venue: ACM Transactions on Programming Languages and Systems (TOPLAS) (1989)

Many concurrent programming languages including CSP and Ada use synchronous message-passing to define communication between a pair of asynchronous processes. Suggested primitives like the generalized alternative command for CSP and the symmetric select statement for Ada allow a process to nondeterministically select one of several communication statements for execution. The communication statement may be either an input or an output statement. We propose a simple algorithm to implement the generalized alternative command and show that it uses fewer messages than existing algorithms.
Hypertext challenges in the auditing domain
Authors: L. DeYoung
Venue: Proceedings of the second annual ACM conference on Hypertext (1989)

Auditing is the process by which an opinion is formed on the financial statements of a company by a group of outside professional accountants. Large numbers of documents pertaining to the company's business are examined and many more are produced during an audit in order to arrive at and provide a basis for this opinion. These documents contain a wide variety of interrelated information. Capturing these interrelationships is essential to performing an effective audit. Currently, this is accomplished by using a highly-structured, manual hypertext system. While quite effective, the system is difficult and time-consuming to maintain, and can become unwieldy when conducting an audit for a very large company. We are in the process of developing an electronic system to meet the needs of this complex task. The complexity of the referencing system challenges current hypertext and user interface technology. At the same time, the structure of the domain affords an interesting application area within which to explore and more fully develop hypertext techniques. During the course of this project, we are exploring automatic generation of links, automatic generation of documents, hypertext path creation and access, creation of a typed-link topology for the domain, referencing of individual points and regions within documents, linking bodies of hypertext, and many other issues.
Navigating through a sea of information: an experiment in the development of an expert system for consulting questions
Authors: Arnold Alagar
Venue: Proceedings of the 16th annual ACM SIGUCCS Conference on User Services (1988)

By mastering the ability to sail forth and navigate the seas, people have expanded their wealth and knowledge throughout the ages. The ability to sail forth, however, was greatly aided by the invention of navigational tools. Today, we who work in centers of information dissemination are faced with a similar challenge&mdash;navigating through the sea of information that confronts us every day. Like the early sailors, who had only a few crude instruments to guide them on their journeys, we, too, have had little to guide us through our extensive database of knowledge. Although our destinations may not seem as exotic as the ancient ports-of-call, they are no less important in exploring knowledge and pushing back the frontiers of discovery.
The case against user interface consistency
Authors: Jonathan Grudin
Venue: Communications of the ACM (1989)

Designers striving for user interface consistency can resemble Supreme Court justices trying to define pornography: each of us feels we know it when we see it, but people often disagree and a precise definition remains elusive. A close examination suggests that consistency is an unreliable guide and that designers would often do better to focus on users' work environments.
Gauss-Jordan inversion with pivoting on the Caltech Mark II hypercube
Authors: P. G. Hipes, A. Kuppermann
Venue: Proceedings of the third conference on Hypercube concurrent computers and applications - Volume 2 (1989)

The performance of a parallel Gauss-Jordan matrix inversion1,2 algorithm on the Mark II hypercube3 at Caltech is discussed. We will show that parallel Gauss-Jordan inversion is superior to parallel Gaussian elimination for inversion, and discuss the reasons for this. Empirical and theoretical efficiencies for parallel Gauss-Jordan inversion as a function of matrix dimension for different numbers and configurations of processors are presented. The theoretical efficiencies are in quantitative agreement with the empirical efficiencies.
A random polynomial time algorithm for approximating the volume of convex bodies
Authors: M. Dyer, A. Frieze
Venue: Proceedings of the twenty-first annual ACM symposium on Theory of computing (1989)

We present a randomised polynomial time algorithm for approximating the volume of a convex body K in n-dimensional Euclidean space. The proof of correctness of the algorithm relies on recent theory of rapidly mixing Markov chains and isoperimetric inequalities to show that a certain random walk can be used to sample nearly uniformly from within K.
An interface-based Ada programming support environment
Authors: Scott A. DeLoach
Venue: ACM SIGAda Ada Letters (1988)

Programming Support Environments (PSEs) have recently been the focus of much research directed at producing new methods for developing software more efficiently and reliably. The traditional approach to developing PSEs has been to create a number of novel tools, and then integrate the tools together by adding a common database and modifying the interfaces between the tools until they can work together. Recently, however, it has been recognized that the interfaces between the tools and the rest of the environment are critical, and perhaps more important, than the tools themselves. To be useful in solving the larger problems currently associated with software, a PSE must be able to adapt and provide new capabilities, and be available to a relatively large number of users on a variety of machines.The goal of this research was to determine whether PSEs based on abstract interfaces provide enhanced portability and extensibility over traditionally designed environments. To accomplish this goal, a prototype interface-based PSE was developed and then compared against traditional environments to determine which had better portability and extensibility. First, an interface model was developed to define exactly what types of interface assumptions must be specified to define an appropriate abstract interface. Next, a prototype APSE based on that interface model was designed, specified, and implemented. Finally, this prototype APSE was measured against traditionally designed environments using original environment portability and extensibility metrics.
PROCOL: a parallel object language with protocols
Authors: J. Van Den Bos, C. Laffra
Venue: Conference proceedings on Object-oriented programming systems, languages and applications (1989)

PROCOL is a parallel C-based object-oriented language with communication based on one-way synchronous messages. Objects execute in parallel unless engaged in communication. Communication partners are defined by object instance identifiers, or by type. Therefore send-receive mappings may be 1-1, n-1, or 1-n, though only 1 message is transferred. PROCOL controls object access by a novel concept: an explicit per-object protocol. This protocol is a specification of the occurrence and sequencing of the communication between the object and its partners. Thus protocols support structured, safer and potentially verifiable information exchange between objects. Protocols also act as a composition rule over client objects, thereby offering a 'part-of' hierarchy of these cooperating objects.
A principal components model of simulation structure
Authors: D. A. Grier
Venue: Proceedings of the 21st conference on Winter simulation (1989)

It is often appropriate to analyze the output of a simulation study by looking at more than one measurement. In a traditional queuing model, it might be appropriate to look at three outputs:1. the average time through the system for a customer,2. the average number of balks per hour,3. the average utilization of the servers.These outputs measure different quantities which are usually related in their movements. Some pairs will be positively related, in that one variable will increase as the other variable increases. Likewise some will be negative related. The relationship can also be more complicated. For example, a recent simulation of a mining operation (Villanueva, 1989) measured, among other quantities, the amount of traffic in a mine tunnel leading to an ore shaft and the number of loads of ore removed through that shaft per hour. Initially, as the traffic increased, more loads of ore were removed. But as the tunnel became more and more crowded, the number of loads began to drop because of the traffic congestion.
Implementing computer-based systems
Authors: Gerard McCartney
Venue: Proceedings of the 16th annual ACM SIGUCCS Conference on User Services (1988)

There is an underlying philosophy behind much of the published literature that implementation is a rational, deterministic process and a belief that the people affected by the change will behave in a manner consistent with the implementor's view of the world. This results in simplistic analyses of change management such as Alter's (1980) four suggestions: divide the project into manageable pieces, keep the solution simple, develop a support base and meet user needs. Gordon, Lewis and Young (1977) note: &ldquo;Policy making may be seen as an inescapably political activity into which the perceptions of individual actors enter at all stages. In this case, implementation becomes a problematic activity rather than something that can be taken for granted as in the rational process model; policy is seen as a bargained outcome, the environment as conflictual and the process is characterized by diversity and constraint.&rdquo;
A New Algorithm for Multiplication in Finite Fields
Authors: Antonio Pincin
Venue: IEEE Transactions on Computers (1989)

A new algorithm is presented for computing the product of two elements in a finite field by means of sums and products in a fixed subfield. The algorithm is based on a normal basis representation of fields and assumes that the dimension m of the finite field over the subfield is a highly composite number. A very fast parallel implementation and a considerable reduction in the number of computations are allowed, in comparison to some methods discussed in the literature.