14910989
Geosheet: A Distributed Visualization Tool for Geometric Algorithms
GeoSheet (version 1.0) is an interactive visualization tool for visualizing geometric algorithms in distributed environments. It provides features such as interactive visualization of program states for debugging, high-level graphical input/output manipulation facilities for geometric objects, reuse of existing data structures and algorithms implementation, and more importantly distributed executions on heterogeneous machines at different sites. To minimize development effort of the tool we make use of existing software packages available in public domain. Specifically we extend Xfig with a message-driven interface and a socket-based interprocess communication (IPC) mechanism. This extended-Xfig is the backbone of this version of the tool. Object-oriented programming methodology is used to construct the visualization interface. By deriving from traditional data type and algorithm libraries, our abstract GeoObject representation super-classes are easy to use, easy to construct, and highly portable. Although GeoSheet is not restricted to a particular application domain or any programming language, this release only contains geometric algorithm implementations in C++ and LEDA. We hope that the geometric algorithm designers will find it useful when they develop their algorithms.
13394130
Two-Guard Walkability of Simple Polygons
A pair of points s and g on the boundary of a simple polygon P admits a walk if two guards can simultaneously walk along the two boundary chains of P from s to g such that they are always visible to each other. The walk is a counter-walk if one guard moves from s to g while the other moves from g to s in the same direction along the boundary and they are always visible to each other. The (counter-)walk is straight if no backtracking is necessary during the (counter-)walk. In this paper, we show that, given a polygon with n vertices, to test if there exists (s,g) that admits a (straight) (counter-)walk can be solved in time O(n log n) and in linear space. Also we compute all (s,g)'s that admit a (straight) walk in O(n log n) time and all vertex pairs that admit a (straight) counter-walk in O(n log n + m), where m is O(n2).
38005392
Towards Web-Based Computing
In a problem solving environment for geometric computing, a graphical user interface, or GUI, for visualization has become an essential component for geometric software development. In this paper we describe a visualization system, called GeoJAVA, which consists of a GUI and a geometric visualization library that enables the user or algorithm designer to (1) execute and visualize an existing algorithm in the library or (2) develop new code over the Internet. The library consists of geometric code written in C/C++. The GUI is written using the Java programming language. Taking advantage of the socket classes and system-independent application programming interfaces (API's) provided with the Java language, GeoJAVA offers a platform independent environment for distributed geometric computing that combines Java and C/C++. Users may remotely join a "channel" or discussion group in a location transparent manner to do collaborative research. The visualization of an algorithm, a C/C++ program located locally or remotely and controlled by a "floor manager", can be viewed by all the members in the channel through a visualization sheet called GeoJAVASheet. A chat box is also provided to enable dialogue among the members. Furthermore, this system not only allows visualization of pre-compiled geometric code, but also serves as a web-based programming environment where the user may submit a geometric code, compile it with the libraries provided by the system, and visualize it directly over the web sharing it with other users immediately.
10484740
Labeling Points on a Single Line
In this paper, we consider a map labeling problem where the points to be labeled are restricted on a line. It is known that the 1d-4P and the 1d-4S unit-square label placement problem and the Slope-4P unit-square label placement problem can both be solved in linear time and the Slope-4S unit-square label placement problem can be solved in quadratic time in Ref. [8]. We extend the result to the following label placement problem: Slope-4P fixed-height (width) label or elastic label placement problem and present a linear time algorithm for it provided that the input points are given sorted. We further show that if the points are not sorted, the label placement problems have a lower bound of Ω(n log n), where n is the input size, under the algebraic computation tree model. Optimization versions of these point labeling problems are also considered.
1088938
Securing web application code by static analysis and runtime protection
Security remains a major roadblock to universal acceptance of the Web for many kinds of transactions, especially since the recent sharp increase in remotely exploitable vulnerabilities have been attributed to Web application bugs. Many verification tools are discovering previously unknown vulnerabilities in legacy C programs, raising hopes that the same success can be achieved with Web applications. In this paper, we describe a sound and holistic approach to ensuring Web application security. Viewing Web application vulnerabilities as a secure information flow problem, we created a lattice-based static analysis algorithm derived from type systems and typestate, and addressed its soundness. During the analysis, sections of code considered vulnerable are instrumented with runtime guards, thus securing Web applications in the absence of user intervention. With sufficient annotations, runtime overhead can be reduced to zero. We also created a tool named.WebSSARI (Web application Security by Static Analysis and Runtime Inspection) to test our algorithm, and used it to verify 230 open-source Web application projects on SourceForge.net, which were selected to represent projects of different maturity, popularity, and scale. 69 contained vulnerabilities. After notifying the developers, 38 acknowledged our findings and stated their plans to provide patches. Our statistics also show that static analysis reduced potential runtime overhead by 98.4%.
18326125
Finding Rectilinear Paths Among Obstacles in a Two-Layer Interconnection Model
Finding the best rectilinear path with respect to the bends and teh lengths of paths connecting two given points in the presence of rectilinear obstacles in a two-layer model is studied in this paper. In this model, rectilinear obstacles on each layer are specified separately, and the orientation of routing in each layer is fixed. An algorithm is presented to transform any problem instance in the two-layer model to one in a one-layer model, so that almost all algorithms for finding rectilinear paths among obstacles in the plane can be applied. The transformation algorithm runs in O(e log e) time where e is the number of edges on obstacles lying on both layers. A direct graph-theoretic approach to finding a shortest path in the two-layer model, which is easier to implement is also presented. The algorithm runs in O(e log2 e) time.
16966197
Integrated system interoperability testing with applications to VoIP
This work has been motivated by the need to test interoperability of systems carrying voice calls over the IP network. The voice over IP (VoIP) systems must be integrated and interoperate with the existing public switched telephone network (PSTN) before they are widely adopted. Standards have been developed to address this problem, but unfortunately different standards bodies and commercial consortiums have defined different standards. Furthermore, the prevailing VoIP standard such as H.323 is incomplete, complex, and presents the implementers with "vendors latitudes". As a result, there is no guarantee that the integrated VoIP systems would interoperate properly even if the implementations are all H.323-compliant. Thus interoperability testing has become indispensable. We want to test all the system interoperations by exercising all the required patterns of "interoperating behaviors". On the other hand, test execution in real environment is expensive, and we want to minimize the number of tests while maintaining the coverage. We present a general method for automatic generation of test cases, which cover all the required system interoperations and contain a minimal number of tests. We study data structures and efficient test generation algorithms, which take time proportional to the total test case size. Finally, we report experimental results on VoIP systems.
46374921
A Formal Specification of the ATM ABR Rate Control Scheme
Abstract Formal specifications are indispensable for computer-aided validation, verification, and testing of communication protocols. However, a large number of practical protocols, including those for ATM, have only informal English specifications. A formal specification helps in achieving a consistent interpretation and thus increases the likelihood of interoperable implementations. As a case study, we consider an important protocol — ATM's Available Bit Rate (ABR) service specification. The ABR source/destination policies have been specified using an English description in the main body of the ATM Forum's draft Traffic Management specification, from which it is hard to conduct a formal analysis. It must be noted however that considerable energy has been spent in providing a reasonably precise specification, while allowing for appropriate implementation latitude. However, an English description still has the potential for different interpretations, which may lead to discrepancy in different vendors' implementations and cause serious problems in interoperability of the communication entities made by different manufacturers. We model the ABR protocols by parameterized communicating extended finite state machines with timers, which is often called a transition system. The protocol is formally specified by the specification of the transitions of the system. We also provide insights gained in the derivation of the formal specification. Furthermore, we introduce a scheduler, involved in transmitting queued cells at the allowed cell rate to meet the minimal requirements from the source/destination protocols. We present the transitions for the source/destination/scheduler machines primarily for transmitting in-rate cells.
42364168
An Algorithm for Incremental Nearest Neighbor Search in High-Dimensional Data Spaces
The SPY-TEC (Spherical Pyramid-Technique) [8] was proposed as a new indexing method for high-dimensional data spaces using a special partitioning strategy that divides a d-dimensional data space into 2d spherical pyramids. Although the authors of [8] proposed an efficient algorithm for processing hyperspherical range queries, they did not propose an algorithm for processing k-nearest neighbor queries that are frequently used in similarity search. In this paper, we propose an efficient algorithm for processing exact nearest neighbor queries on the SPY-TEC by extending the incremental nearest neighbor algorithm proposed in [10]. We also introduce a metric that can be used to guide an ordered best-first traversal when finding nearest neighbors on the SPYTEC. Finally, we show that our technique significantly outperforms the related techniques in processing k-nearest neighbor queries by comparing it to the R*-tree, the X-tree, and the sequential scan through extensive experiments.
42038608
A low-cost system using sparse vision for navigation in the urban environment
Abstract Established mobility aids, such as the long cane, enable visually impaired users to travel safely in urban environments. This paper describes continuing work to enhance this mobility by providing a series of high-level navigational goals. In particular, we describe algorithms to detect doorways and to facilitate centre-path travel. To maintain high performance at low cost, both algorithms use sparsely-sampled images from a single camera. Doorway detection is achieved by the detection of characteristic patterns of near-vertical and near-horizontal lines. The direction of travel along a path is determined by locating the dominant vanishing point of the lines in the image. Experimental results are presented for both algorithms.
12896882
Faster Gaussian Summation: Theory and Experiment
We provide faster algorithms for the problem of Gaussian summation, which occurs in many machine learning methods. We develop two new extensions - an O(Dp) Taylor expansion for the Gaussian kernel with rigorous error bounds and a new error control scheme integrating any arbitrary approximation method - within the best discretealgorithmic framework using adaptive hierarchical data structures. We rigorously evaluate these techniques empirically in the context of optimal bandwidth selection in kernel density estimation, revealing the strengths and weaknesses of current state-of-the-art approaches for the first time. Our results demonstrate that the new error control scheme yields improved performance, whereas the series expansion approach is only effective in low dimensions (five or less).