Garbage collection in an uncooperative environment
Software—Practice & Experience
Programming pearls
Amortized analysis of algorithms for set union with backtracking
SIAM Journal on Computing
An efficient method of computing static single assignment form
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Efficiently computing static single assignment form and the control dependence graph
ACM Transactions on Programming Languages and Systems (TOPLAS)
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
Register allocation via graph coloring
Register allocation via graph coloring
Programming by Refinement, as Exemplified by the SETL Representation Sublanguage
ACM Transactions on Programming Languages and Systems (TOPLAS)
The Design and Analysis of Computer Algorithms
The Design and Analysis of Computer Algorithms
Register allocation & spilling via graph coloring
SIGPLAN '82 Proceedings of the 1982 SIGPLAN symposium on Compiler construction
ACM Transactions on Programming Languages and Systems (TOPLAS)
Inductive graphs and functional graph algorithms
Journal of Functional Programming
Coloring heuristics for register allocation
ACM SIGPLAN Notices - Best of PLDI 1979-1999
Trading uninitialized space for time
Information Processing Letters
Scalable packet classification
IEEE/ACM Transactions on Networking (TON)
Chained forests for fast subsumption matching
Proceedings of the 2007 inaugural international conference on Distributed event-based systems
Fast liveness checking for ssa-form programs
Proceedings of the 6th annual IEEE/ACM international symposium on Code generation and optimization
Maintaining Generalized Arc Consistency on Ad Hoc r-Ary Constraints
CP '08 Proceedings of the 14th international conference on Principles and Practice of Constraint Programming
How Efficient Can Memory Checking Be?
TCC '09 Proceedings of the 6th Theory of Cryptography Conference on Theory of Cryptography
Succinct Text Indexing with Wildcards
SPIRE '09 Proceedings of the 16th International Symposium on String Processing and Information Retrieval
Space efficient indexes for string matching with don't cares
ISAAC'07 Proceedings of the 18th international conference on Algorithms and computation
Bit-vector algorithms for binary constraint satisfaction and subgraph isomorphism
Journal of Experimental Algorithmics (JEA)
Succincter text indexing with wildcards
CPM'11 Proceedings of the 22nd annual conference on Combinatorial pattern matching
A non-iterative data-flow algorithm for computing liveness sets in strict SSA programs
APLAS'11 Proceedings of the 9th Asian conference on Programming Languages and Systems
Compressed indexes for text with wildcards
Theoretical Computer Science
Hi-index | 0.00 |
Sets are a fundamental abstraction widely used in programming. Many representations are possible, each offering different advantages. We describe a representation that supports constant-time implementations of clear-set, add-member, and delete-member. Additionally, it supports an efficient forall iterator, allowing enumeration of all the members of a set in time proportional to the cardinality of the set.We present detailed comparisons of the costs of operations on our representation and on a bit vector representation. Additionally, we give experimental results showing the effectiveness of our representation in a practical application: construction of an interference graph for use during graph-coloring register allocation.While this representation was developed to solve a specific problem arising in register allocation, we have found it useful throughout our work, especially when implementing efficient analysis techniques for large programs. However, the new representation is not a panacea. The operations required for a particular set should be carefully considered before this representation, or any other representation, is chosen.