ppxscal/embedding_network huggingface dataset:
Space efficient conservative garbage collection
Authors: Hans-Juergen Boehm
Venue: Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation (1993)

We call a garbage collector conservative if it has only partial information about the location of pointers, and is thus forced to treat arbitrary bit patterns as though they might be pointers, in at least some cases. We show that some very inexpensive, but previously unused techniques can have dramatic impact on the effectiveness of conservative garbage collectors in reclaiming memory. Our most significant observation is that static data that appears to point to the heap should not result in misidentified references to the heap. The garbage collector has enough information to allocate around such references. We also observe that programming style has a significant impact on the amount of spuriously retained storage, typically even if the collector is not terribly conservative. Some fairly common C and C++ programming style significantly decrease the effectiveness of any garbage collector. These observations suffice to explain some of the different assessments of conservative collection that have appeared in the literature.
On the p-Rank of the Adjacency Matrices of Strongly Regular Graphs
Authors: A. E. Brouwer, C. A. Van Eijl
Venue: Journal of Algebraic Combinatorics: An International Journal (1992)

Let &Gamma; be a strongly regular graph with adjacency matrix A. Let I be the identity matrix, and J the all-1 matrix. Let p be a prime. Our aim is to study the p-rank (that is, the rank over \Bbb {F}_p, the finite field with p elements) of the matrices M &equals; aA + bJ + cI for integral a, b, c. This note is based on van Eijl &lsqb;8&rsqb;.
The role of balloon help
Authors: David K. Farkas
Venue: ACM SIGDOC Asterisk Journal of Computer Documentation (1993)

Balloon Help, which is becoming standard in the Macintosh world, enables the user to display brief annotations of interface objects by passing the pointer (cursor) over those objects. This investigation explains the operation of Balloon Help, presents the theoretical and empirical rationale for Balloon Help, assesses its value in supporting both exploration of an interface and task-focused behavior, considers its relationship with other forms of help, and evaluates some possible modifications of Balloon Help. Balloon Help is viewed as a successful implementation of minimalist principles that nevertheless needs to be supplemented by other forms of documentation.
Gregory Clark's take on technical communication ethics: flimsy, fragile, but correct
Authors: R. John Brockmann
Venue: ACM SIGDOC Asterisk Journal of Computer Documentation (1994)

Gregory Clark's essay on ethics offers a very flimsy method of ethical technical communication, compromise, a very fragile goal, co-operation, and the hope for overwhelming ethical allegiance to be vested by individuals in a temporary group's ethics. Compromise, cooperation, and allegiance to temporary groups lack any kind of sanction and rely upon simple goodwill. But Clark's focus upon the need to depend upon each other's goodwill in the area of ethical technical communication is correct...and is, perhaps, our only recourse.
APL2 implementation of a new definition of consistency of pairwise comparisons
Authors: Michael W. Herman, Waldemar W. Koczkodaj
Venue: ACM SIGAPL APL Quote Quad (1994)

A set of APL2 functions is presented for a new definition of consistency of pairwise comparisons. By calculating an inconsistency for each comparison, these functions locate the source of inconsistency and can thus be used to improve relative judgements.
Compositional analysis of modular logic programs
Authors: Michael Codish, Saumya K. Debray, Roberto Giacobazzi
Venue: Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages (1993)

This paper describes a semantic basis for a compositional approach to the analysis of logic programs. A logic program is viewed as consisting of a set of modules, each module defining a subset of the program's predicates. Analyses are constructed by considering abstract interpretations of a compositional semantics. The abstract meaning of a module corresponds to its analysis and composition of abstract meanings corresponds to composition of analyses. Such an approach is essential for large program development so that altering one module does not require re-analysis of the entire program. We claim that for a substantial class of programs, compositional analyses which are based on a notion of abstract unfolding provide the same precision as non-compositional analysis. A compositional analysis for ground dependencies is included to illustrate the approach. To the best of our knowledge this is the first account of a compositional framework for the analysis of logic programs.
Suggestion for a parametrized class model
Authors: José de Oliveira Guimarães
Venue: ACM SIGPLAN OOPS Messenger (1994)

This paper discusses several features of parametrized classes, such as categories of its parameters, operations allowed and modes of instanciation. It also discusses the difficulties in describing the semantics of a class when it is used as a parameter for a parametrized class. The paper proposes a model unifying all parametrized class features discussed and presents suggestions for enhancing the use of these classes.
Operations and collections; some architectural choices
Authors: L. Desmond, D. B. Anderson
Venue: ACM SIGPLAN OOPS Messenger (1993)

We want to talk about the importance of low-level software architectures and how to use them. In order to do this we look at the example of carrying out operations on elements in a collection. We look at the possible solutions and the properties of each of these solutions.
Concept based query expansion
Authors: Yonggang Qiu, Hans-Peter Frei
Venue: Proceedings of the 16th annual international ACM SIGIR conference on Research and development in information retrieval (1993)

Query expansion methods have been studied for a long time - with debatable success in many instances. In this paper we present a probabilistic query expansion model based on a similarity thesaurus which was constructed automatically. A similarity thesaurus reflects domain knowledge about the particular collection from which it is constructed. We address the two important issues with query expansion: the selection and the weighting of additional search terms. In contrast to earlier methods, our queries are expanded by adding those terms that are most similar to the concept of the query, rather than selecting terms that are similar to the query terms. Our experiments show that this kind of query expansion results in a notable improvement in the retrieval effectiveness when measured using both recall-precision and usefulness.
A programming language based on the concepts of objects and fields
Authors: Fumihiko Nishio, Toyohide Watanabe, Noboru Sugie
Venue: ACM SIGPLAN OOPS Messenger (1993)

The object-oriented model is very successful to represent various phenomena in our real world from an entity-category point of view. However, it is not sufficient to model the dynamic actions of autonomous entities under this paradigm. This model is in short of representing the relationships between entities and the environments. In this paper, we propose an experimental object-oriented programming language to manage the relationships together.
A Conceptual Virtual Reality Model
Authors: John N. Latta, David J. Oberg
Venue: IEEE Computer Graphics and Applications (1994)

Virtual reality involves the creation and experience of environments. Its central objective is to place the participant in an environment that is not normally or easily experienced. This objective is satisfied by establishing a relationship between the participant and the created environment. Accordingly, we developed a three-tiered definition of VR that addresses respectively what VR is, how it is accomplished, and its effect/spl minus/both of VR on the participant and of the participant on the environment. The distinguishing "what" of VR is its extension of the human-computer interface. Engineering discipline requires precise and consistent definitions of each interfaced system. However, despite numerous studies, there are no such definitions of human perceptual systems. We must therefore rely on more qualitative definitions. As a basis for a conceptual VR model, we adopted J.J. Gibson's descriptions of human perceptual and muscle systems (J.J. Gibson, 1986). The model proposed includes a human model to show the experiential side of VR systems and a technical confection model for the creation of a participatory environment. Together these models define a conceptual VR system from a systems perspective that includes the human participant.
Unreachable procedures in object-oriented programming
Authors: Amitabh Srivastava
Venue: ACM Letters on Programming Languages and Systems (LOPLAS) (1992)

Unreachable procedures are procedures that can never be invoked. Their existence may adversely affect the performance of a program. Unfortunately, their detection requires the entire program to be present. Using a long-time code modification system, we analyze large, linked, program modules of C++, C, and Fortran. We find that C++ programs using object-oriented programming style contain a large fraction of unreachable procedure code. In contrast, C and Fortran programs have a low and essentially constant fraction of unreachable code. In this article, we present our analysis of C++, C, and Fortran programs, and we discuss how object-oriented programming style generates unreachable procedures.
End-user programming language: the CHI'92 workshop report
Authors: Wayne D. Gray, James C. Spohrer, Thomas R. G. Green
Venue: ACM SIGCHI Bulletin (1993)

The call for participation for the Workshop on End User Programming began with the following statement:In the beginning, every user was a programmer. While that appeared to change forever in the 80's, the 90's are shaping up as the decade of macro-languages, scripting languages, authoring languages, dbase query languages, inter-application communication languages, and event languages. Programming in some form or another will become inescapable and again, every user will be a programmer. The 90's will be the decade of end-user programming.
The Wisconsin Wind Tunnel: virtual prototyping of parallel computers
Authors: Steven K. Reinhardt, Mark D. Hill, James R. Larus, Alvin R. Lebeck, James C. Lewis, David A. Wood
Venue: ACM SIGMETRICS Performance Evaluation Review (1993)

We have developed a new technique for evaluating cache coherent, shared-memory computers. The Wisconsin Wind Tunnel (WWT) runs a parallel shared-memory program on a parallel computer (CM-5) and uses execution-driven, distributed, discrete-event simulation to accurately calculate program execution time. WWT is a virtual prototype that exploits similarities between the system under design (the target) and an existing evaluation platform (the host). The host directly executes all target program instructions and memory references that hit in the target cache. WWT's shared memory uses the CM-5 memory's error-correcting code (ECC) as valid bits for a fine-grained extension of shared virtual memory. Only memory references that miss in the target cache trap to WWT, which simulates a cache-coherence protocol. WWT correctly interleaves target machine events and calculates target program execution time. WWT runs on parallel computers with greater speed and memory capacity than uniprocessors. WWT's simulation time decreases as target system size increases for fixed-size problems and holds roughly constant as the target system and problem scale.
On subprograms with a variable number of parameters of varying types
Authors: Xu Baowen
Venue: ACM SIGPLAN Notices (1993)

Subprograms are the fundamental building blocks of program, and are therefore among the important concepts in programming language design. The effect and function of programs is affected by their parameter mechanisms. This paper describes two facilities: number-variable parameters and type-variable parameters. These two parameter mechanisms do not decrease the efficiency and reliability of a subprogram, and are very useful in many software development, especially in general software package development.
Computers versus common sense (abstract)
Authors: Douglas B. Lenat
Venue: Proceedings of the 1993 ACM conference on Computer science (1993)

It has been eight years since we began the Cyc project&mdash;a massive decade-long enterprise to codify, once and for all, the millions of general rules of thumb about the world (that are generally held by adult, rational members of their culture.) The motivation for this heroic effort is to produce a new &ldquo;layer&rdquo; between the Operating System and Application programs &mdash;a layer containing general knowledge and inferencing abilities, which could facilitate knowledge-sharing across applications, increase the robustness of an individual application, enable a new generation of natural language understanding programs, user modelling programs, machine learning programs, etc. Due to a large number of errors canceling each other out, we are still essentially on schedule. A report of some of the lessons learned so far, and accomplishments to date, should prove relevant and interesting. Moreover, many applications of Cyc are underway, and we will briefly describe a few of these. But even more generally, there is a lesson to be learned here for all of us: not to be blinded by the &ldquo;physics envy&rdquo;, by the word &ldquo;science&rdquo; in &ldquo;computer science;&rdquo; the lesson that sometimes a large real-world problem may admit an engineering solution but no small, elegant mathematical solution.
PIDL/Pascal: a Pascal-oriented program interface description language and its applications
Authors: Xu Baowen
Venue: ACM SIGPLAN Notices (1993)

This paper introduces a Pascal-oriented program interface description language, PIDL/Pascal, which is designed to specify the interface reformation between program units so as to remedy the weakness of some design tools. We will also discuss its design ideas, program structure and facilities, applications, and checking tools.
Optimal disk allocation for partial match queries
Authors: Khaled A. S. Abdel-Ghaffar, Amr El Abbadi
Venue: ACM Transactions on Database Systems (TODS) (1993)

The problem of disk allocation addresses the issue of how to distribute a file on several disks in order to maximize concurrent disk accesses in response to a partial match query. In this paper a coding-theoretic analysis of this problem is presented, and both necessary and sufficient conditions for the existence of strictly optimal allocation methods are provided. Based on a class of optimal codes, known as maximum distance separable codes, strictly optimal allocation methods are constructed. Using the necessary conditions proved, we argue that the standard definition of strict optimality is too strong and cannot be attained, in general. Hence, we reconsider the definition of optimality. Instead of basing it on an abstract definition that may not be attainable, we propose a new definition based on the best possible allocation method. Using coding theory, allocation methods that are optimal according to our proposed criterion are developed.
A query language for NC
Authors: Dan Suciu, Val Breazu-Tannen
Venue: Proceedings of the thirteenth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems (1994)

We show that a form of divide and conquer recursion on sets together with the relational algebra expresses exactly the queries over ordered relational databases which are NC-computable. At a finer level, we relate k nested uses of recursion exactly to ACk, k&ge;1. We also give corresponding results for complex objects.
A calculus for access control in distributed systems
Authors: Martín Abadi, Michael Burrows, Butler Lampson, Gordon Plotkin
Venue: ACM Transactions on Programming Languages and Systems (TOPLAS) (1993)

We study some of the concepts, protocols, and algorithms for access control in distributed systems, from a logical perspective. We account for how a principal may come to believe that another principal is making a request, either on his own or on someone else's behalf. We also provide a logical language for accesss control lists and theories for deciding whether requests should be granted.
Implementing empowerment through teams: the case of Texaco's information technology division
Authors: Rudy Hirschheim, Jonathan Miller
Venue: Proceedings of the 1993 conference on Computer personnel research (1993)

From near-bankruptcy in 1987, Texaco Inc.&mdash;one of the largest companies in the world&mdash;has experienced a rapid return to profitability. Texaco's turnaround is attributed at least in part to Total Quality Management and a dramatic change in corporate culture that has led to empowerment of the workforce. This case study focuses on empowerment, describes the change that has taken place over the last five years and in particular examines the Information Technology (IT) Division. Within this division 131 &ldquo;natural work groups&rdquo; form the core of a team approach that embodies new responsibilities, authorities and team processes. People and quality have been emphasized and a process of continuous improvement has commenced. These changes reflect significant empowerment of the workforce. As a result there is tangible evidence of success both in regard to the efficiency and effectiveness of IT services. IT personnel feel good about the quality of their output and user satisfaction is high. Texaco's IT Division has been cited both internally and externally for its exemplary and world-class performance in quality through team empowerment. The case concludes with lessons that other corporations might learn from the Texaco experience.
Software metrics and measurement principles
Authors: John M. Roche
Venue: ACM SIGSOFT Software Engineering Notes (1994)

Software measurement is widely advocated as a fundamental constituent of an engineering approach to planning and controlling software development. Unfortunately, there is a dichotomy between the quantity of developed metrics and those used. This paper provides a tutorial review of software engineering measurement indicating the depth and breadth of the field. Individual metrics are not described due to the interest of this paper being on the measurement process and not the products of that process. Generic problems have been identified within existing measurement processes, these provide learning points for the expression of measurement principles. These principles are classified and described according to their position within the formulation, analysis and application stages of measurement. Conclusions are elaborated that suggest that existing measurement frameworks for applying measurement - often called measurement methods - do not provide sufficient support for the principles and their continued use will only serve to replicate the problems. In order to improve the products i.e. metrics, the measurement process requires improvement through inclusion of these principles in a new method.
Guidelines for embedded software documentation
Authors: Nenad Marovac
Venue: ACM SIGSOFT Software Engineering Notes (1994)

Embedded program documentation, i.e. documentation included in computer programs within program comments, typically does not follow any formal standards or conventions with regards to its contents and structure.Software development organizations do not enforce any standards covering the information content or format of the embedded documentation. At best they may encourage the use of some proprietary rules. It is very common in such organizations that individual programmers have their own individual documentation styles.This is unfortunate since embedded documentation, containing proper information and being properly structured, can greatly assist us in reading and understanding software programs and their individual components during the maintenance of these programs or reuse of their components. Furthermore, the use of embedded documentation can assist in functional decomposition and design of computer programs and in ensuring the consistency of interfaces within programs.The purpose of this document is to report on the schema we use at San Diego State University in software projects and to propose guidelines regarding documentation embedded in computer programs and related documents. We believe that these guidelines will help us to maintain conformity in software documentation in programs developed at SDSU in Software Engineering and MultiMedia Labs.Furthermore, we have developed tools that are based on the proposed embedded documentation and that are used in four areas:1. interactive functional decomposition and design of programs2. automatic incorporation of submitted software into reuse libraries3. conversion of developed software into hypertext like structures that are used to maintain all material related to a software project in a form suitable for inspection, browsing, and updating4. automatic generation of software documentation on demand
A generalized theory of bit vector data flow analysis
Authors: Uday P. Khedker, Dhananjay M. Dhamdhere
Venue: ACM Transactions on Programming Languages and Systems (TOPLAS) (1994)

The classical theory of data flow analysis, which has its roots in unidirectional flows, is inadequate to characterize bidirectional data flow problems. We present a generalized theory of bit vector data flow analysis which explains the known results in unidirectional and bidirectional data flows and provides a deeper insight into the process of data flow analysis. Based on the theory, we develop a worklist-based generic algorithm which is uniformly applicable to unidirectional and bidirectional data flow problems. It is simple, versatile, and easy to adapt for a specific problem. We show that the theory and the algorithm are applicable to all bounded monotone data flow problems which possess the property of the separability of solution.The theory yields valuable information about the complexity of data flow analysis. We show that the complexity of worklist-based iterative analysis is the same for unidirectional and bidirectional problems. We also define a measure of the complexity of round-robin iterative analysis. This measure, called width, is uniformly applicable to unidirectional and bidirectional problems and provides a tighter bound for unidirectional problems than the traditional measure of depth. Other applications include explanation of isolated results in efficient solution techniques and motivation of new techniques for bidirectional flows. In particular, we discuss edge splitting and edge placement and develop a feasibility criterion for decomposition of a bidirectional flow into a sequence of unidirectional flows.
Alternating-Sign Matrices and Domino Tilings (Part I)
Authors: Noam Elkies, Greg Kuperberg, Michael Larsen, James Propp
Venue: Journal of Algebraic Combinatorics: An International Journal (1992)

We introduce a family of planar regions, called Aztec diamonds, and study tilings of these regions by dominoes. Our main result is that the Aztec diamond of order n has exactly 2n(n+1)/2 domino tilings. In this, the first half of a two-part paper, we give two proofs of this formula. The first proof exploits a connection between domino tilings and the alternating-sign matrices of Mills, Robbins, and Rumsey. In particular, a domino tiling of an Aztec diamond corresponds to a compatible pair of alternating-sign matrices. The second proof of our formula uses monotone triangles, which constitute another form taken by alternating-sign matrices&semi; by assigning each monotone triangle a suitable weight, we can count domino tilings of an Aztec diamond.