ppxscal/embedding_network huggingface dataset:
Cryptography for PC/workstation security
Authors: Lein Harn, Hung-Yu Lin, Yongnan Xu
Venue: ACM SIGICE Bulletin (1994)

Current PC security tools were designed primarily for stand-alone systems. Distributed systems, in which multiple PC users access multiple resources over interconnected networks (LANs, WANs, etc.), is the current trend of applications. The already difficult job of securing the PC is getting even more difficult. With recent advancement of cryptographic research, cryptography did more than just manipulates data to turn meaningful message into nonsense to provide data security. Cryptography can also provide solutions for many different applications. In this paper, security problems for PC/workstation will be briefly discussed. Then we will address those cryptographic applications for PCs.
Parallelizing I/O intensive applications for a workstation cluster: a case study
Authors: Z. Lin, S. Zhou
Venue: ACM SIGARCH Computer Architecture News (1993)

An I/O intensive application, parallel full text retrieval based on a signature file method, is studied. The text retrieval system is implemented on a cluster of DEC5000 workstations connected by Ethernet. Experiments are performed to evaluate the benefit and cost for running such an application in a workstation cluster. Results show that substantial improvement in speed can be obtained through parallelism in disk accesses, despite the high communication and synchronization overhead that is incurred. Several factors that affect the performance of a parallel I/O application in this type of computing environment are discussed. The advantages of a workstation cluster are its large combined I/O buffer capacity, and possible concurrent accesses to disks local to each workstation. Our study demonstrates that these advantages, when exploited properly, can lead to effective performance improvement without the need for additional hardware.
Standards factor: the emergence of ISO 9241 and some of its parts
Authors: Pat Billingsley
Venue: ACM SIGCHI Bulletin (1993)

It now appears that the first three parts of the 17-part ISO 9241 standard, Visual display terminals used for office tasks - Ergonomic requirements, have successfully completed the entire ISO standards-development and approval process. Parts 1, 2, and 3 are entitled Introduction, Task requirements, and Visual display requirements, respectively. Several of the outcomes of their approval should be of interest to the CHI community because they may foretell events that will follow approval of Parts 10--17, which address software ergonomics: bull; TUV Rheinland, the German national certification body, has begun to certify products for compliance with Part 3. bull; ANSI is investigating the procedure for becoming a national certification body. bull; The United Kingdom and Sweden are moving towards implementing the approved parts of 9241. bull; Parts 1, 2, and 3 have recently been adopted as CEN standards by the member nations of the European Community.
To nreverse when consing a list or by pointer manipulation, to avoid it; that is the question
Authors: Richard C. Waters
Venue: ACM SIGPLAN Lisp Pointers (1993)

A situation that arises all the time in Lisp is the need to create a list of elements where the order of the elements in the list is the same as the order that they are created in time---i.e., the first element computed is the first element in the list, the second element computed is the second element in the list, etc. There are two basic ways of doing this: the nreverse approach and the rplacd approach. In the nreverse approach, you push the elements onto the list as they are computed and then use nreverse to put the list into the correct order after all of the elements have been computed. In the rplacd approach, you maintain a pointer to the end of the list and use rplacd to put each element directly into its proper place in the list.
Partition testing, stratified sampling, and cluster analysis
Authors: Andy Podgurski, Charles Yang
Venue: Proceedings of the 1st ACM SIGSOFT symposium on Foundations of software engineering (1993)

We present a new approach to reducing the manual labor required to estimate software reliability. It combines the ideas of partition testing methods with those of stratified sampling to reduce the sample size necessary to estimate reliability with a given degree of precision. Program executions are stratified by using automatic cluster analysis to group those with similar features. We describe the conditions under which stratification is effective for estimating software reliability, and we present preliminary experimental results suggesting that our approach may work well in practice.
An approach to communication-efficient data redistribution
Authors: S. D. Kaushik, C.-H. Huang, R. W. Johnson, P. Sadayappan
Venue: Proceedings of the 8th international conference on Supercomputing (1994)

We address the development of efficient methods for performing data redistribution of arrays on distributed-memory machines. Data redistribution is important for the distributed-memory implementation of data parallel languages such as High Performance Fortran. An algebraic representation of regular data distributions is used to develop an analytical model for evaluating the communication cost of data redistribution. Using this algebraic representation and the analytical model, an approach to communication-efficient data redistribution is developed. Implementation results on the Intel iPSC/860 are reported.
Second chances: rationale for the reprint series
Authors: T. R. Girill
Venue: ACM SIGDOC Asterisk Journal of Computer Documentation (1994)

This issue of The Journal of Computer Documentation is the fourth of an annual cycle that reprints a previously published paper on documentation and places it in the context of current commentary. Such a project certainly is retrospective, but it is not nostalgic; two very forward-looking reasons motivate our reprint policy.
Open DECdtm: constraint based transaction management
Authors: Johannes Klein, Francis Upton,  IV
Venue: Proceedings of the 1993 ACM SIGMOD international conference on Management of data (1993)

Open DECdtm offers portable transaction management services layered on OSF DCE which support the application (TX), resource manager (XA), and transactional DCE RPC (TxRPC) interfaces specified by X/Open. Open DECdtm also provides interoperability with OSI Transaction Processing (OSI TP) and OpenVMS systems using the DECdtm OpenVMS protocol. Protocols executed by Open DECdtm are specified by constraints. This simplifies the development of transactional gateways between different data transfer protocols and transaction models.
The use of name spaces in Plan 9
Authors: Rob Pike, Dave Presotto, Ken Thompson, Howard Trickey, Phil Winterbottom
Venue: ACM SIGOPS Operating Systems Review (1993)

Plan 9 is a distributed system built at the Computing Sciences Research Center of AT amp;T Bell Laboratories over the last few years. Its goal is to provide a production-quality system for software development and general computation using heterogeneous hardware and minimal software. A Plan 9 system comprises CPU and file servers in a central location connected together by fast networks. Slower networks fan out to workstation-class machines that serve as user terminals. Plan 9 argues that given a few carefully implemented abstractions it is possible to produce a small operating system that provides support for the largest systems on a variety of architectures and networks. The foundations of the system are built on two ideas: a per-process name space and a simple message-oriented file system protocol.
VoiceNotes: a speech interface for a hand-held voice notetaker
Authors: Lisa J. Stifelman, Barry Arons, Chris Schmandt, Eric A. Hulteen
Venue: Proceedings of the INTERACT '93 and CHI '93 conference on Human factors in computing systems (1993)

VoiceNotes is an application for a voice-controlled hand-held computer that allows the creation, management, and retrieval of user-authored voice notes&mdash;small segments of digitized speech containing thoughts, ideas, reminders, or things to do. Iterative design and user testing helped to refine the initial user interface design. VoiceNotes explores the problem of capturing and retrieving spontaneous ideas, the use of speech as data, and the use of speech input and output in the user interface for a hand-held computer without a visual display. In addition, VoiceNotes serves as a step toward new uses of voice technology and interfaces for future portable devices.
Comparing rebuild algorithms for mirrored and RAID5 disk arrays
Authors: Robert Y. Hou, Yale N. Patt
Venue: Proceedings of the 1993 ACM SIGMOD international conference on Management of data (1993)

Several disk array architectures have been proposed to provide high throughput for transaction processing applications. When a single disk in a redundant array fails, the array continues to operate, albeit in a degraded mode with a corresponding reduction in performance. In addition, the lost data must be rebuilt to a spare disk in a timely manner to reduce the probability of permanent data loss. Several researchers have proposed and examined algorithms for rebuilding the failed disk in a disk array with parity. We examine the use of these algorithms to rebuild a mirrored disk array and compare the rebuild time and performance of the RAID5 and mirrored arrays. Redirection of Reads provides comparable average response times and better rebuild times than Piggybacking for a mirrored array, whereas these two algorithms perform similarly for a RAID5 array. In our experiments comparing the two architectures, a mirrored array has more disks than a RAID5 array and can sustain 150% more I/Os per second during the rebuild process. Even if the size of the RAID5 array is increased to match the mirrored array, the mirrored array reduces response times by up to 60% and rebuild times by up to 45%.
Implementation and computational results for the hierarchical algorithm for making sparse matrices sparser
Authors: S. Frank Chang, S. Thomas McCormick
Venue: ACM Transactions on Mathematical Software (TOMS) (1993)

If A is the (sparse) coefficient matrix of linear-equality constraints, for what nonsingular T is A = TA as sparse as possible, and how can it be efficiently computed? An efficient algorithm for this Sparsity Problem (SP) would be a valuable preprocessor for linearly constrained optimization problems. In a companion paper we developed a two-pass approach to solve SP called the Hierarchical Algorithm. In this paper we report on how we implemented the Hierarchical Algorithm into a code called HASP, and our computational experience in testing HASP on the NETLIB linear-programming problems. We found that HASP substantially outperformed a previous code for SP and that it produced a net savings in optimization time on the NETLIB problems. The results allow us to give guidelines for its use in practice.
Information design methods and the applications of virtual worlds technology at WORLDESIGN, Inc.
Authors: Robert Jacobson
Venue: Proceedings of the INTERACT '93 and CHI '93 conference on Human factors in computing systems (1993)

Information design is a new professional practice that systematically applies the lessons of human-computer interaction and human factors studies, communication theory, and information science to the presentation of complex data. WORLDESIGN, Inc., an information design with an emphasis on virtual worlds technology in the service of its corporate, mostly industrial customers.
Polyvariant binding-time analysis for applicative languages
Authors: Charles Consel
Venue: Proceedings of the 1993 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation (1993)

Binding-time analysis is a crucial component of an offline partial evaluator. The accuracy of the binding-time information that it produces determines the degree of specialization of programs. We present a binding-time analysis for applicative languages. This analysis is polyvariant and treats both higher-order functions and data structures. It handles typed as well as untyped programs. It has been implemented and is used in a partial evaluation system named Schism. The main contributions of this work can be summarized as follows. &bull;Our analysis combines both a data flow and a control flow analyses. This key feature makes it possible to create different binding-time descriptions of a function (or a data structure) with respect to data flow information. Also, this approach yields more accurate control flow information than one that separates control flow and data flow analyses. &bull;The degree of polyvariance achieved by our analysis is not fixed. In fact, the analysis is parameterized with respect to a function that defines the degree of polyvariance. &bull;Untyped as well as typed programs are treated by our analysis. When available, type information is used to improve the accuracy of binding-time descriptions.
Rewards of Taking the Path Less Traveled
Authors: Alan M. Davis
Venue: IEEE Software (1994)

In the software-engineering industry, it seems that hordes of professionals all follow one of a half-dozen or so well-trod "lemming paths". Each path corresponds to a "technology" whose proponents have made outrageous claims that its use will result in great increases in quality or productivity or whatever. Although the paths may lead to great results, nobody on the path really knows. In fact, not even the outspoken proponents know for sure. You have three choices: follow the lemmings, get an eagle-eye perspective, or take the path less traveled. The author suggests you take this last perspective. There is a plethora of rarely used, yet proven techniques that can be used at little or no cost, with little or no risk, to achieve small to moderate gains in quality and productivity. None of these are silver bullets, but all can help your project. None will result in incredibly large increases in quality or productivity, but then neither will fads associated with the lemmings!
Semantics of type classes revisited
Authors: Satish R. Thatté
Venue: Proceedings of the 1994 ACM conference on LISP and functional programming (1994)

We present a new approach to the semantics of languages with ML-like polymorphic types and type classes. The goals of the new approach are simplicity and generality. Our typing rules are a relatively straightforward extension of the rules for translating core-ML to core-XML. The new features are an encoding of classes as recursive sets of types, and class-membership constraints on types. We show that the soundness of this type of system is independent of the fixedpoint operator used to interpret (recursive) classes, and thus there is no room to engineer a sound notion of well-typing based on other considerations such as decidability. These ideas are applied to investigate the appropriateness of Haskell-style type inference which uses backward chaining for inference of instance relationships. Haskell's algorithm turns out to imply a least fixed point semantics for classes. We show that the Haskell approach is correct and complete for the special case of convergent classes. Although this includes all classes definable in Haskell, most proper extensions of Haskell allow classes that are not convergent, which helps explain the negative results for decidability of type inference for many extensions.
SIGGRAPH future search survey: preliminary results
Authors: Jacklyn Sage
Venue: ACM SIGGRAPH Computer Graphics (1994)

As detailed in the previous article by Chair Mary Whitton, a survey was distributed over the Internet this past April in order to solicit opinions from the computer graphics community about SIGGRAPH. The initial results of this survey are summarized below. The survey itself is reprinted following this article. We encourage you to respond. Input from the community is vital to planning for the future of SIGGRAPH.
Specification techniques for object-oriented software (abstract)
Authors: Mahesh H. Dodani
Venue: ACM SIGPLAN OOPS Messenger (1993)

Specification Techniques for Object-Oriented Software Mahesh H. Dodani, University of Iowa There are many techniques for specifying software. However, they are not usually presented in a way that is directly applicable to object-oriented software. This tutorial surveys both operational and descriptive specification techniques, shows how to use them in several popular object-oriented software engineering methods, and provides case studies of developing useful, formal specification mechanisms that are appropriate for object-oriented software engineering. The tutorial first describes criteria for choosing specification mechanisms from both a theoretical (syntax and semantics, specifying properties, reasoning about properties, verification) and practical (ease of use, modularity, applicability, supporting tools) perspective. These criteria are then used to survey several popular operational (data flow diagrams, finite state machines, and petri nets) and descriptive (entity-relationship models, logic, and algebraic specifications) specification mechanisms. Finally it shows how to extend two of these techniques (algebraic specifications and finite state machines) so that they are suitable for object-oriented software engineering.
Integrating message-passing and shared-memory: early experience
Authors: David Kranz, Kirk Johnson, Anant Agarwal, John Kubiatowicz, Beng-Hong Lim
Venue: ACM SIGPLAN Notices (1993)

This paper discusses some of the issues involved in implementing a shared-address space programming model on large-scale, distributed-memory multiprocessors. While such a programming model can be implemented on both shared-memory and message-passing architectures, we argue that the transparent, coherent caching of global data provided by many shared-memory architectures is of crucial importance. Because message-passing mechanisms ar much more efficient than shared-memory loads and stores for certain types of interprocessor communication and synchronization operations, hwoever, we argue for building multiprocessors that efficiently support both shared-memory and message-passing mechnisms. We describe an architecture, Alewife, that integrates support for shared-memory and message-passing through a simple interface; we expect the compiler and runtime system to cooperate in using appropriate hardware mechanisms that are most efficient for specific operations. We report on both integrated and exclusively shared-memory implementations of our runtime system and two applications. The integrated runtime system drastically cuts down the cost of communication incurred by the scheduling, load balancing, and certain synchronization operations. We also present preliminary performance results comparing the two systems.
Visual programming languages from an object-oriented perspective (abstract)
Authors: Allen L. Ambler, Margaret M. Burnett
Venue: ACM SIGPLAN OOPS Messenger (1993)

Visual Programming Languages from an Object-Oriented Perspective Allen L. Ambler, University of Kansas Margaret M. Burnett, Michigan Technical University Visual programming language research has evolved greatly since its early days. At first, attempts at visual programming mostly took the form of flowchart-like diagrams. But in recent years, a wide number of innovative approaches have been incorporated into visual languages, including object-oriented programming, form-based programming, programming by demonstration, and dataflow programming. Unfortunately, while many of these systems represent important ideas, only a few have been successful as complete visual programming languages. This tutorial explains why this is true, and describes ways in which the problem can be addressed. This tutorial explores the issues behind the successes and failures of earlier approaches from a design perspective. It identifies characteristics of successful visual programming languages, and explains how to design an object-oriented language that maintains those characteristics. It shows solutions to a number of problems by looking at existing visual programming languages, including Prograph.
Hypergraph languages of bounded degree
Authors: Joost Engelfriet, Linda Heyker
Venue: Journal of Computer and System Sciences (1994)

Two types of hypergraph rewriting grammar are considered: the well-known context-free hypergraph grammar (or CFHG grammar, also known as hyperedge replacement system or HR system) and the more recent separated handle hypergraph grammar (or S-HH grammar). It is shown that every S-HH hypergraph language of bounded (hyper-)degree can be generated by a (separated) CFHG grammar. This implies that these two types of grammar generate the same class of graph languages of bounded degree, but incomparable classes of hypergraph languages.
Asynchronous analysis of parallel dynamic programming
Authors: Gary Lewandowski, Anne Condon, Eric Bach
Venue: ACM SIGMETRICS Performance Evaluation Review (1993)

We examine a very simple asynchronous model of parallel computation that assumes the time to compute a task is random, following some probability distribution. The goal of this model is to capture the effects of unexpected delays on processors.
Parallel and distributed incremental attribute evaluation algorithms for multiuser software development environments
Authors: Gail E. Kaiser, Simon M. Kaplan
Venue: ACM Transactions on Software Engineering and Methodology (TOSEM) (1993)

The problem of change propagation in multiuser software development environments distributed across a local-area network is addressed. The program is modeled as an attributed parse tree segmented among multiple user processes and changes are modeled as subtree replacements requested asynchronously by individual users. Change propagation is then implemented using decentralized incremental evaluation of an attribute grammar that defines the static semantic properties of the programming language. Building up to our primary result, we first present algorithms that support parallel evaluation on a centralized tree in response to single edits using a singe editing cursor and multiple edits with multiple editing cursors. Then we present our algorithm for parallel evaluation on a decentralized tree. We also present a protocol to guarantee reliability of the evaluation algorithm as components of the decentralized tree become unavailable due to failures and return to availability.
The maintenance of intermediate values in goal-directed evaluation
Authors: Kenneth Walker, Ralph E. Griswold
Venue: ACM Letters on Programming Languages and Systems (LOPLAS) (1992)

In programming languages that support goal-directed evaluation to make use of alternative results, an expression can produce a value, suspend, and later be resumed to produce another value. This causes control backtracking to earlier points in a computation and complicates the maintenance of intermediate values. This paper presents a space-efficient algorithm computing the lifetimes of intermediate values that is used by an optimizing compiler for the Icon programming language. The algorithm is applicable to other programming languages that employ goal-directed evaluation.
Estimating the relative usability of two interfaces: heuristic, formal, and empirical methods compared
Authors: Jakob Nielsen, Victoria L. Phillips
Venue: Proceedings of the INTERACT '93 and CHI '93 conference on Human factors in computing systems (1993)

Two alternative user interface designs were subjected to user testing to measure user performance in a database query task. User performance was also estimated heuristically in three different ways and by use of formal GOMS modelling. The estimated values for absolute user performance had very high variability, but estimates of the relative advantage of the fastest interface were less variable. Choosing the fastest of the two designs would have a net present value more than 1,000 times the cost of getting the estimates. A software manager would make the correct choice every time in our case study if decisions were based on at least three independent estimates. User testing was 4.9 times as expensive as the cheapest heuristic method but provided better performance estimates.