ppxscal/embedding_network huggingface dataset:
Implementations for coalesced hashing
Authors: Jeffrey Scott Vitter
Venue: Communications of the ACM (1982)

The coalesced hashing method is one of the faster searching methods known today. This paper is a practical study of coalesced hashing for use by those who intend to implement or further study the algorithm. Techniques are developed for tuning an important parameter that relates the sizes of the address region and the cellar in order to optimize the average running times of different implementations. A value for the parameter is reported that works well in most cases. Detailed graphs explain how the parameter can be tuned further to meet specific needs. The resulting tuned algorithm outperforms several well-known methods including standard coalesced hashing, separate (or direct) chaining, linear probing, and double hashing. A variety of related methods are also analyzed including deletion algorithms, a new and improved insertion strategy called varied-insertion, and applications to external searching on secondary storage devices.
On the complexity of LR(k) testing
Authors: Harry B. Hunt,  III, Thomas G. Szymanski, Jeffrey D. Ullman
Venue: Communications of the ACM (1975)

The problem of determining whether an arbitrary context-free grammar is a member of some easily parsed subclass of grammars such as the LR(k) grammars is considered. The time complexity of this problem is analyzed both when k is considered to be a fixed integer and when k is considered to be a parameter of the test. In the first case, it is shown that for every k there exists an O(nk+2) algorithm for testing the LR(k) property, where n is the size of the grammar in question. On the other hand, if both k and the subject grammar are problem parameters, then the complexity of the problem depends very strongly on the representation chosen for k. More specifically, it is shown that this problem is NP-complete when k is expressed in unary. When k is expressed in binary the problem is complete for nondeterministic exponential time. These results carry over to many other parameterized classes of grammars, such as the LL(k), strong LL(k), SLR(k), LC(k), and strong LC(k) grammars.
A cost oriented algorithm for data set allocation in storage hierarchies
Authors: V. Y. Lum, M. E. Senko, C. P. Wang, H. Ling
Venue: Communications of the ACM (1975)

Data set allocation in today's multilevel storage systems is usually based on qualitative, ad hoc decisions. While it would be desirable to obtain an optimal solution to this allocation problem, it is clear that the number of parameters involved makes it intractable to straight-forward solution. In such a situation, we must find a set of assumptions which simplify the problem greatly, but which still provide a basis for considering all significant cost elements. This paper presents such a first, quantitative allocation step. It considers many of the significant detailed costs of system utilization, data storage, data staging, and data migration. Although many avenues of further improvement are available, the present algorithm seems to be usefully accurate. As such, it can aid in quantifying the problems of data set allocation, storage system configuration, and new device designs.
An efficient class and object encoding
Authors: Neal Glew
Venue: Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications (2000)

An object encoding translates a language with object primitives to one without. Similarly, a class encoding translates classes into other primitives. Both are important theoretically for comparing the expressive power of languages and for transferring results from traditional languages to those with objects and classes. Both are also important foundations for the implementation of object-oriented languages as compilers typically include a phase that performs these translations.This paper describes a language with a primitive notion of classes and objects and presents an encoding of this language into one with records and functions. The encoding uses two techniques often used in compilers for single-inheritance class-based object-oriented languages: the self-application semantics and the method-table technique. To type the output of the encoding, the encoding uses a new formulation of self quantifiers that is more powerful than previous approaches.
An ACM executive committee position on the crisis in experimental computer science
Authors: Daniel D. McCracken Peter J. Denning, David H. Brandin
Venue: Communications of the ACM (1979)

The following is the text of a letter commenting on the Feldman Report sent to Dr. Richard C. Atkinson, Director of the National Science Foundation, and other Administration and Congressional officials.
ESCORT: lessons from an integration project
Authors: Andrea Savigni, Filippo Cunsolo, Francesco Tisato
Venue: Addendum to the 2000 proceedings of the conference on Object-oriented programming, systems, languages, and applications (Addendum) (2000)

We present the key lessons learned from the ESCORT European project. ESCORT is concerned with integrating diverse applications and devices for traffic control at the intersection level. The paper emphasises the difficulty of breaking existing, vertical products to build an integration platform, and the role of object technology (and UML in particular) in this context.
The teachable language comprehender: a simulation program and theory of language
Authors: M. Ross Quillian
Venue: Communications of the ACM (1969)

The Teachable Language Comprehender (TLC) is a program designed to be capable of being taught to &ldquo;comprehend&rdquo; English text. When text which the program has not seen before is input to it, it comprehends that text by correctly relating each (explicit or implicit) assertion of the new text to a large memory. This memory is a &ldquo;semantic network&rdquo; representing factual assertions about the world. The program also creates copies of the parts of its memory which have been found to relate to the new text, adapting and combining these copies to represent the meaning of the new text. By this means, the meaning of all text the program successfully comprehends is encoded into the same format as that of the memory. In this form it can be added into the memory. Both factual assertions for the memory and the capabilities for correctly relating text to the memory's prior content are to be taught to the program as they are needed. TLC presently contains a relatively small number of examples of such assertions and capabilities, but within the system, notations for expressing either of these are provided. Thus the program now corresponds to a general process for comprehending language, and it provides a methodology for adding the additional information this process requires to actually comprehend text of any particular kind. The memory structure and comprehension process of TLC allow new factual assertions and capabilities for relating text to such stored assertions to generalize automatically. That is, once such an assertion or capability is put into the system, it becomes available to help comprehend a great many other sentences in the future. Thus the addition of a single factual assertion or linguistic capability will often provide a large increment in TLC's effective knowledge of the world and in its overall ability to comprehend text. The program's strategy is presented as a general theory of
Computing all factorizations in ***
Authors: Howard Cheng, George Labahn
Venue: Proceedings of the 2001 international symposium on Symbolic and algebraic computation (2001)

We present a new algorithm for determining all factorizations of a polynomial f in the domain ZN[x], a non-unique factorization domain, given in terms of parameters. From the prime factorization of N, the problem is reduced to factorization in Zph[x] where p is a prime and k &gne; 1. If pk does not divide the discriminant of f and one factorization is given, our algorithm determines all factorizations with complexity &Ogr;(n3 M(k log p)) where n denotes the degree of the input polynomial and M(t) denotes the complexity of multiplication of two t-bit numbers. Our algorithm improves on the method of von zur Gathen and Hartlieb, which has complexity &Ogr;(n7 k(klog p + log n2). The improvement is achieved by processing all factors at the same time instead of one at a time and by computing the kernels and determinants of matrices over Zpk in an efficient manner.
OceanStore: an architecture for global-scale persistent storage
Authors: John Kubiatowicz, David Bindel, Yan Chen, Steven Czerwinski, Patrick Eaton, Dennis Geels, Ramakrishan Gummadi, Sean Rhea, Hakim Weatherspoon, Westley Weimer, Chris Wells, Ben Zhao
Venue: ACM SIGPLAN Notices (2000)

OceanStore is a utility infrastructure designed to span the globe and provide continuous access to persistent information. Since this infrastructure is comprised of untrusted servers, data is protected through redundancy and cryptographic techniques. To improve performance, data is allowed to be cached anywhere, anytime. Additionally, monitoring of usage patterns allows adaptation to regional outages and denial of service attacks; monitoring also enhances performance through pro-active movement of data. A prototype implementation is currently under development.
BioJava: open source components for bioinformatics
Authors: Matthew Pocock, Thomas Down, Tim Hubbard
Venue: ACM SIGBIO Newsletter (2000)

BioJava is an open source Java library for bioinformatics. It is highly object oriented, allowing extensive customization without extensive code writing. The project is coordinated from the web site at http://www.biojava.org and the mailing list for related discussion is biojava-1@biojava.org.
Linux in Education: Linux at the University
Authors: Kevin K. Gifford
Venue: Linux Journal (2000)

In outer space, on the ground, and in the classroom: an overview of several exciting real-world applications developed under Linuxstudents and researchers at the University of Colorado in Boulder.
Future performance challenges in nanometer design
Authors: Dennis Sylvester, Himanshu Kaul
Venue: Proceedings of the 38th annual Design Automation Conference (2001)

We highlight several fundamental challenges to designing high-performance integrated circuits in nanometer-scale technologies (i.e. draRita Glover, EDA Today, L.C.wn feature sizes
Type-preserving garbage collectors
Authors: Daniel C. Wang, Andrew W. Appel
Venue: ACM SIGPLAN Notices (2001)

By combining existing type systems with standard type-based compilation techniques, we describe how to write strongly typed programs that include a function that acts as a t racing garbage collector for the program. Since the garbage collector is an explicit function, we do not need to provide a t rusted garbage collector as a runtime service to manage memory.Since our language is strongly typed, the standard type soundness guarantee "Well typed programs do not go wrong" is extended to include the collector. Our type safety guarantee is non-trivial since not only does it guarantee the type safety of the garbage collector, but it guarantees that the collector preservers the type safety of the program being garbage collected. We describe the technique in detail and report performance measurements for a few microbench-marks as well as sketch the proofs of type soundness for our system.
A higher level system communication model for object-oriented specification and design of embedded systems
Authors: Kjetil Svarstad, Nezih Ben-Fredj, Gabriela Nicolescu, Ahmed A. Jerraya
Venue: Proceedings of the 2001 Asia and South Pacific Design Automation Conference (2001)

The design starting point for current embedded systems design is getting higher and higher on the abstraction level scale in order to meet the challenge of the increasing design gap. Up till now the state-of-the-art tools and methods have used as a highest abstraction of communication the send-receive over a channel, e.g. as in SDL and COSSAP. We introduce a novel higher level communication mechanism for system-level specification which has features supporting object-oriented descriptions and client-server type communication modelling as in CORBA. The communication primitives have been implemented as extensions to System-C, and simulation experiments have been performed.
Plotting a function of three independent variables
Authors: Russell W. Stineman
Venue: Communications of the ACM (1967)

A method is developed for constructing an approximate plot of a function of three independent variables. The plot is similar to a conventional contour map except that there are three scales to represent the independent variables. Scale values of the three independent variables are added vectorially, and the value of the function is then read from the values associated with nearby contours.
A comparative study of coarse- and fine-grained safe regression test-selection techniques
Authors: John Bible, Gregg Rothermel, David S. Rosenblum
Venue: ACM Transactions on Software Engineering and Methodology (TOSEM) (2001)

Regression test-selection techniques reduce the cost of regression testing by selecting a subset of an existing test suite to use in retesting a modified program. Over the past two decades, numerous regression test-selection techniques have been described in the literature. Initial empirical studies of some of these techniques have suggested that they can indeed benefit testers, but so far, few studies have empirically compared different techniques. In this paper, we present the results of a comparative empirical study of two safe regression test-selection techniques. The techniques we studied have been implemented as the tools DejaVu and TestTube; we compared these tools in terms of a cost model incorporating precision (ability to eliminate unnecessary test cases), analysis cost, and test execution cost. Our results indicate, that in many instances, despite its relative lack of precision, TestTube can reduce the time required for regression testing as much as the more precise DejaVu. In other instances, particularly where the time required to execute test cases is long, DejaVu's superior precision gives it a clear advantage over TestTube. Such variations in relative performance can complicate a tester's choice of which tool to use. Our experimental results suggest that a hybrid regression test-selection tool that combines features of TestTube and DejaVu may be an answer to these complications; we present an initial case study that demonstrates the potential benefit of such a tool.
A comment on the double-chained tree
Authors: T. C. Hu
Venue: Communications of the ACM (1972)

In 1963, Sussenguth [8] suggested that a file should be organized as a double-chained tree for searching and updating. Patt [5] then obtained the optimum double-chained tree under the assumption that no key may prefix another and that all terminal nodes (items of information) have equal probabilities of being searched. Stanfel [6, 7] explored the relation between the double-chained tree and variable length code [3] and solved a special integer programming problem which corresponds to the case of equal probabilities of terminal nodes and a finite set of available symbols for keys with different costs.
Agilent's mixed-signal oscilloscopes provide enhanced measurement capabilities
Authors: Douglas Tougaw
Venue: Computing in Science and Engineering (2001)

Oscilloscopes are among the most important measurement tools available to electrical engineers, and incorporating digital technology into these tools has significantly increased their capabilities. Recently introduced mixed-signal oscilloscopes combine the functionality of traditional analog measurement with basic features of digital logic analyzers.
Pseudochaining in hash tables
Authors: Constantine Halatsis, George Philokyprou
Venue: Communications of the ACM (1978)

This paper presents pseudochaining as a new collision-resolution method. Pseudochaining is half way between open addressing and chaining. It owes its name to the fact that link fields are present in each cell of the hash table which permits &ldquo;chaining&rdquo; of the first overflow items in the table. The efficiency of the method is derived and a tradeoff analysis is given.
A time- and space-efficient garbage compaction algorithm
Authors: F. Lockwood Morris
Venue: Communications of the ACM (1978)

Given an area of storage containing scattered, marked nodes of differing sizes, one may wish to rearrange them into a compact mass at one end of the area while revising all pointers to marked nodes to show their new locations. An algorithm is described here which accomplishes this task in linear time relative to the size of the storage area, and in a space of the order of one bit for each pointer. The algorithm operates by reversibly encoding the situation (that a collection of locations point to a single location) by a linear list, emanating from the pointed-to location, passing through the pointing locations, and terminating with the pointed-to location's transplanted contents.
On Load Balancing in Multicomputer/Distributed Systems Equipped with Circuit or Cut-Through Switching Capability
Authors: Ching-Chin Han, Kang G. Shin, Sang Kyun Yun
Venue: IEEE Transactions on Computers (2000)

For multicomputer or distributed systems that use circuit switching, wormhole routing, or virtual cut-through (the last two are collectively called the cut-through switching), the communication overhead and the message delivery time depend largely upon link contention rather than upon the distance between the source and the destination. That is, a larger communication overhead or a longer delivery delay occurs to a message when it traverses a route with heavier traffic than the one with a longer distance and lesser traffic. This characteristic greatly affects the selection of routes for interprocessor communication and/or load balancing. We consider the load-balancing problem in these types of systems. Our objective is to find the maximum load imbalance that can be eliminated without violating the (traffic) capacity constraint and the route to eliminate the imbalance while keeping the maximum link traffic as low as possible. We investigate the load-balancing problem under various conditions. First, we consider the case in which the excess load on each overloaded node is divisible. We devise a network flow algorithm to solve this type of load balancing problem optimally in polynomial time. Next, we impose the realistic assumption that the system uses a specific routing scheme so that the excess load transferred from an overloaded node to an underloaded node must use the route found by the routing scheme. For this case, we use a graph transformation technique to transform the system graph to another graph to which the same network flow algorithm can be applied to solve the load balancing problem optimally. Finally, we consider the case in which the excess load on each overloaded node is indivisible, i.e., the excess load must be transferred as an entity. We show that the load-balancing problem of this type becomes NP-complete and propose a heuristic algorithm as a solution.
Classification of Procedures in the Domain of Thoracic Surgery&mdash;A Study of Reliability in Coding
Authors: Mats Carlsson, Lars Löfström, Hans åhlfeldt
Venue: Journal of Medical Systems (2001)

This paper relates a study of reliability of coding of surgical procedures in the domain of thoracic surgery. The reliability measured is inter-coder variability in form of agreement. Four classifications were used by four physicians on 100 patient cases. The classifications, having differing granularity and structure, were analyzed using a statistical method (kappa). These results are discussed and related to the differences between the classifications. One of the topics for discussion is how the granularity affects the degree of agreement, coupled to the usefulness of the classification. Also the concept of using formal methods for representing classifications is discussed, how this will affect how classifications are designed and used.
Concurrent garbage collection using program slices on multithreaded processors
Authors: Manoj Plakal, Charles N. Fischer
Venue: ACM SIGPLAN Notices (2001)

We investigate reference counting in the context of a multi-threaded architecture by exploiting two observations: (1) reference-counting can be performed by a transformed program slice of the mutator that isolates heap references, and (2) hardware trends indicate that microprocessors in the near future will be able to execute multiple concurrent threads on a single chip. We generate a reference-counting collector as a transformed program slice of an application and then execute this slice in parallel with the application as a &ldquo;run-behind&rdquo; thread. Preliminary measurements of collector overheads are quite encouraging, showing a 25% to 53% space overhead to transfer garbage collection to a separate thread.
Setting up a classroom lab
Authors: Krishna K. Agarwal, Adrienne Critcher, Dave Foley, Reza Sanati, John Sigle
Venue: Proceedings of the seventh annual consortium for computing in small colleges central plains conference on The journal of computing in small colleges (2001)

The Computer Sciences Accreditation Board (CSAB) initially accredited the undergraduate computer science program at the university in June 1991. We were re-accredited in 1994 and 1997. Several universities accredited by CSAB have implemented closed labs for their CS1 and CS2 classes. We have set up a classroom lab for our majors which we use during regularly scheduled lectures. This lab is used not only for CS1 and CS2 but also for several other courses. Our experiences in setting up the lab at a minimal cost were sometimes pleasant and often frustrating. We would like to share these experiences with those in other small colleges and universities so that they can learn from us when setting up a classroom or closed lab for the first time and not repeat the mistakes that we made.
Implementing NetUnify.com using squeak
Authors: Stephen Pair
Venue: Addendum to the 2000 proceedings of the conference on Object-oriented programming, systems, languages, and applications (Addendum) (2000)

NetUnify.com is a hosted service that enables its customers to maintain their project related material in a secure fashion over the Internet. They can grant access on a project-by-project basis to their employees, vendors, and customers. In addition, organizations can choose to operate their own NetUnify server rather than use the NetUnify.com service. The NetUnify server is implemented in Squeak (see http://www.squeak.org), an open-source, highly portable object oriented environment. The OOPSLA paper titled &ldquo;Back to the Future&rdquo; [2] by the Walt Disney Imagineering team provides an excellent overview of the Squeak story.
Hardware-assisted view-dependent map simplification
Authors: Nabil Mustafa, Eleftheris Koutsofios, Shankar Krishnan, Suresh Venkatasubramanian
Venue: Proceedings of the seventeenth annual symposium on Computational geometry (2001)

In this paper, we present an algorithm and a system to perform dynamic view dependent simplification of large geographical maps through a novel use of graphics hardware. Given a map as a collection of non-intersecting chains and a tolerance parameter for each chain, we produce a simplified map that resembles the original map, satisfying the condition that the distance between each point on the simplified chain and the original chain is within the given tolerance parameter, and that no two chains intersect. We also present an interactive map visualization system which uses frame-to-frame coherence to perform dynamic view-dependent simplification. Our initial results indicate that we get a 3-4 fold increase in the frame rates using our simplification algorithm on maps with 1.5-2 million vertices on an SGI Onyx workstation.