Results 1  10
of
449,219
Graphbased algorithms for Boolean function manipulation
 IEEE TRANSACTIONS ON COMPUTERS
, 1986
"... In this paper we present a new data structure for representing Boolean functions and an associated set of manipulation algorithms. Functions are represented by directed, acyclic graphs in a manner similar to the representations introduced by Lee [1] and Akers [2], but with further restrictions on th ..."
Abstract

Cited by 3499 (47 self)
 Add to MetaCart
In this paper we present a new data structure for representing Boolean functions and an associated set of manipulation algorithms. Functions are represented by directed, acyclic graphs in a manner similar to the representations introduced by Lee [1] and Akers [2], but with further restrictions
Primitives for the manipulation of general subdivisions and the computations of Voronoi diagrams
 ACM Tmns. Graph
, 1985
"... The following problem is discussed: Given n points in the plane (the sites) and an arbitrary query point 4, find the site that is closest to q. This problem can be solved by constructing the Voronoi diagram of the given sites and then locating the query point in one of its regions. Two algorithms ar ..."
Abstract

Cited by 543 (11 self)
 Add to MetaCart
to the separation of the geometrical and topological aspects of the problem and to the use of two simple but powerful primitives, a geometric predicate and an operator for manipulating the topology of the diagram. The topology is represented by a new data structure for generalized diagrams, that is, embeddings
The click modular router
, 2001
"... Click is a new software architecture for building flexible and configurable routers. A Click router is assembled from packet processing modules called elements. Individual elements implement simple router functions like packet classification, queueing, scheduling, and interfacing with network devic ..."
Abstract

Cited by 1155 (28 self)
 Add to MetaCart
devices. A router configuration is a directed graph with elements at the vertices; packets flow along the edges of the graph. Configurations are written in a declarative language that supports userdefined abstractions. This language is both readable by humans and easily manipulated by tools. We present
PseudoRandom Generation from OneWay Functions
 PROC. 20TH STOC
, 1988
"... Pseudorandom generators are fundamental to many theoretical and applied aspects of computing. We show howto construct a pseudorandom generator from any oneway function. Since it is easy to construct a oneway function from a pseudorandom generator, this result shows that there is a pseudorandom gene ..."
Abstract

Cited by 887 (22 self)
 Add to MetaCart
Pseudorandom generators are fundamental to many theoretical and applied aspects of computing. We show howto construct a pseudorandom generator from any oneway function. Since it is easy to construct a oneway function from a pseudorandom generator, this result shows that there is a pseudorandom
CIL: Intermediate language and tools for analysis and transformation of C programs
 In International Conference on Compiler Construction
, 2002
"... Abstract. This paper describes the CIntermediate Language: a highlevel representation along with a set of tools that permit easy analysis and sourcetosource transformation of C programs. Compared to C, CIL has fewer constructs. It breaks down certain complicated constructs of C into simpler ones, ..."
Abstract

Cited by 534 (11 self)
 Add to MetaCart
, and thus it works at a lower level than abstractsyntax trees. But CIL is also more highlevel than typical intermediate languages (e.g., threeaddress code) designed for compilation. As a result, what we have is a representation that makes it easy to analyze and manipulate C programs, and emit them in a
Finding bugs is easy
 ACM SIGPLAN Notices
, 2004
"... Many techniques have been developed over the years to automatically find bugs in software. Often, these techniques rely on formal methods and sophisticated program analysis. While these techniques are valuable, they can be difficult to apply, and they aren’t always effective in finding real bugs. Bu ..."
Abstract

Cited by 343 (8 self)
 Add to MetaCart
Many techniques have been developed over the years to automatically find bugs in software. Often, these techniques rely on formal methods and sophisticated program analysis. While these techniques are valuable, they can be difficult to apply, and they aren’t always effective in finding real bugs. Bug patterns are code idioms that are often errors. We have implemented automatic detectors for a variety of bug patterns found in Java programs. In this paper, we describe how we have used bug pattern detectors to find real bugs in several realworld Java applications and libraries. We have found that the effort required to implement a bug pattern detector tends to be low, and that even extremely simple detectors find bugs in real applications. From our experience applying bug pattern detectors to real programs, we have drawn several interesting conclusions. First, we have found that even well tested code written by experts contains a surprising number of obvious bugs. Second, Java (and similar languages) have many language features and APIs which are prone to misuse. Finally, that simple automatic techniques can be effective at countering the impact of both ordinary mistakes and misunderstood language features. 1.
Grounding in communication
 In
, 1991
"... We give a general analysis of a class of pairs of positive selfadjoint operators A and B for which A + XB has a limit (in strong resolvent sense) as h10 which is an operator A, # A! Recently, Klauder [4] has discussed the following example: Let A be the operator(d2/A2) + x2 on L2(R, dx) and let ..."
Abstract

Cited by 1082 (19 self)
 Add to MetaCart
B = 1 x 1s. The eigenvectors and eigenvalues of A are, of course, well known to be the Hermite functions, H,(x), n = 0, l,... and E, = 2n + 1. Klauder then considers the eigenvectors of A + XB (A> 0) by manipulations with the ordinary differential equation (we consider the domain questions
Sketchpad: A manmachine graphical communication system
, 2003
"... The Sketchpad system uses drawing as a novel communication medium for a computer. The system contains input, output, and computation programs which enable it to interpret information drawn directly on a computer display. It has been used to draw electrical, mechanical, scientific, mathematical, and ..."
Abstract

Cited by 702 (6 self)
 Add to MetaCart
, and animated drawings; it is a general purpose system. Sketchpad has shown the most usefulness as an aid to the understanding of processes, such as the notion of linkages, which can be described with pictures. Sketchpad also makes it easy to draw highly repetitive or highly accurate drawings and to change
Comprehending Monads
 Mathematical Structures in Computer Science
, 1992
"... Category theorists invented monads in the 1960's to concisely express certain aspects of universal algebra. Functional programmers invented list comprehensions in the 1970's to concisely express certain programs involving lists. This paper shows how list comprehensions may be generalised t ..."
Abstract

Cited by 522 (16 self)
 Add to MetaCart
to an arbitrary monad, and how the resulting programming feature can concisely express in a pure functional language some programs that manipulate state, handle exceptions, parse text, or invoke continuations. A new solution to the old problem of destructive array update is also presented. No knowledge
Results 1  10
of
449,219