scispace - formally typeset
Search or ask a question
Author

R. Nigel Horspool

Bio: R. Nigel Horspool is an academic researcher from University of Victoria. The author has contributed to research in topics: Parsing & Compiler. The author has an hindex of 21, co-authored 59 publications receiving 1728 citations. Previous affiliations of R. Nigel Horspool include McGill University & University of Illinois at Urbana–Champaign.


Papers
More filters
Journal ArticleDOI
TL;DR: It is discovered that a method developed by Boyer and Moore can outperform even special‐purpose search instructions that may be built into the computer hardware for very short substrings.
Abstract: SUMMARY The problem of searching through text to find a specified substring is considered in a practical setting It is discovered that a method developed by Boyer and Moore can outperform even special-purpose search instructions that may be built into the, computer hardware For very short substrings however, these special purpose instructions are fastest-provided that they are used in an optimal way

649 citations

Proceedings ArticleDOI
09 Oct 1997
TL;DR: Three new encodings of the subtype relation, the packed encoding, the bit-packed encoding and the compact encoding are presented, which have different characteristics and are compared with other constant-time type inclusion tests.
Abstract: A type inclusion test determines whether one type is a subtype of another. Efficient type testing techniques exist for single subtyping, but not for languages with multiple subtyping. To date, the fast constant-time technique relies on a binary matrix encoding of the subtype relation with quadratic space requirements. In this paper, we present three new encodings of the subtype relation, the packed encoding, the bit-packed encoding and the compact encoding. These encodings have different characteristics. The bit-packed encoding delivers the best compression rates: on average 85% for real life programs. The packed encoding performs type inclusion tests in only 4 machine instructions. We present a fast algorithm for computing these encoding which runs in less than 13 milliseconds for PE and BPE, and 23 milliseconds for CE on an Alpha processor. Finally, we compare our results with other constant-time type inclusion tests on a suite of 11 large -benchmark hierarchies.

85 citations

Journal ArticleDOI
TL;DR: A new framework called MARD is presented, to protect the end points that are often the last defense, against metamorphic malware, and provides automation, platform independence, optimizations for real-time performance and modularity.

80 citations

Book ChapterDOI
09 Jun 1997
TL;DR: A new algorithm based on graph coloring which computes a near optimal hierarchical encoding of type hierarchies is presented which improves significantly on previous results - it is faster, simpler and generates smaller bit vectors.
Abstract: A type inclusion test is a procedure to decide whether two types are related by a given subtyping relationship. An efficient implementation of the type inclusion test plays an important role in the performance of object oriented programming languages with multiple subtyping like C++, Eiffel or Java. There are well-known methods for performing fast constant time type inclusion tests that use a hierarchical bit vector encoding of the partial ordered set representing the type hierarchy. The number of instructions required by the type inclusion test is proportional to the length of those bit vectors. We present a new algorithm based on graph coloring which computes a near optimal hierarchical encoding of type hierarchies. The new algorithm improves significantly on previous results — it is faster, simpler and generates smaller bit vectors.

70 citations

Journal ArticleDOI
TL;DR: Un algorithme d'Huffman permet de generer des codes a redondance minimum pour un ensemble fini de message a frequences de transmissions connues, mais le systeme binaire reste certainement le mieux adapte aux applications informatiques.

67 citations


Cited by
More filters
Journal ArticleDOI
TL;DR: The state of the art in data compression is arithmetic coding, not the better-known Huffman method, which gives greater compression, is faster for adaptive models, and clearly separates the model from the channel encoding.
Abstract: The state of the art in data compression is arithmetic coding, not the better-known Huffman method. Arithmetic coding gives greater compression, is faster for adaptive models, and clearly separates the model from the channel encoding.

3,188 citations

Journal ArticleDOI
TL;DR: This work surveys the current techniques to cope with the problem of string matching that allows errors, and focuses on online searching and mostly on edit distance, explaining the problem and its relevance, its statistical behavior, its history and current developments, and the central ideas of the algorithms.
Abstract: We survey the current techniques to cope with the problem of string matching that allows errors. This is becoming a more and more relevant issue for many fast growing areas such as information retrieval and computational biology. We focus on online searching and mostly on edit distance, explaining the problem and its relevance, its statistical behavior, its history and current developments, and the central ideas of the algorithms and their complexities. We present a number of experiments to compare the performance of the different algorithms and show which are the best choices. We conclude with some directions for future work and open problems.

2,723 citations

Book
12 Jun 1992
TL;DR: For programmers and students interested in parsing text, automated indexing, its the first collection in book form of the basic data structures and algorithms that are critical to the storage and retrieval of documents.
Abstract: An edited volume containing data structures and algorithms for information retrieved including a disk with examples written in C. For programmers and students interested in parsing text, automated indexing, its the first collection in book form of the basic data structures and algorithms that are critical to the storage and retrieval of documents.

2,359 citations

Book
22 Oct 1999
TL;DR: This book is unique in providing an overview of the four major approaches to program analysis: data flow analysis, constraint-based analysis, abstract interpretation, and type and effect systems.
Abstract: Program analysis utilizes static techniques for computing reliable information about the dynamic behavior of programs. Applications include compilers (for code improvement), software validation (for detecting errors) and transformations between data representation (for solving problems such as Y2K). This book is unique in providing an overview of the four major approaches to program analysis: data flow analysis, constraint-based analysis, abstract interpretation, and type and effect systems. The presentation illustrates the extensive similarities between the approaches, helping readers to choose the best one to utilize.

1,955 citations