5,946 research outputs found
Design of a multiple bloom filter for distributed navigation routing
Unmanned navigation of vehicles and mobile robots can be greatly simplified by providing environmental intelligence with dispersed wireless sensors. The wireless sensors can work as active landmarks for vehicle localization and routing. However, wireless sensors are often resource scarce and require a resource-saving design. In this paper, a multiple Bloom-filter scheme is proposed to compress a global routing table for a wireless sensor. It is used as a lookup table for routing a vehicle to any destination but requires significantly less memory space and search effort. An error-expectation-based design for a multiple Bloom filter is proposed as an improvement to the conventional false-positive-rate-based design. The new design is shown to provide an equal relative error expectation for all branched paths, which ensures a better network load balance and uses less memory space. The scheme is implemented in a project for wheelchair navigation using wireless camera motes. © 2013 IEEE
Improving Function Coverage with Munch: A Hybrid Fuzzing and Directed Symbolic Execution Approach
Fuzzing and symbolic execution are popular techniques for finding
vulnerabilities and generating test-cases for programs. Fuzzing, a blackbox
method that mutates seed input values, is generally incapable of generating
diverse inputs that exercise all paths in the program. Due to the
path-explosion problem and dependence on SMT solvers, symbolic execution may
also not achieve high path coverage. A hybrid technique involving fuzzing and
symbolic execution may achieve better function coverage than fuzzing or
symbolic execution alone. In this paper, we present Munch, an open source
framework implementing two hybrid techniques based on fuzzing and symbolic
execution. We empirically show using nine large open-source programs that
overall, Munch achieves higher (in-depth) function coverage than symbolic
execution or fuzzing alone. Using metrics based on total analyses time and
number of queries issued to the SMT solver, we also show that Munch is more
efficient at achieving better function coverage.Comment: To appear at 33rd ACM/SIGAPP Symposium On Applied Computing (SAC). To
be held from 9th to 13th April, 201
Asymptotically near-optimal RRT for fast, high-quality, motion planning
We present Lower Bound Tree-RRT (LBT-RRT), a single-query sampling-based
algorithm that is asymptotically near-optimal. Namely, the solution extracted
from LBT-RRT converges to a solution that is within an approximation factor of
1+epsilon of the optimal solution. Our algorithm allows for a continuous
interpolation between the fast RRT algorithm and the asymptotically optimal
RRT* and RRG algorithms. When the approximation factor is 1 (i.e., no
approximation is allowed), LBT-RRT behaves like RRG. When the approximation
factor is unbounded, LBT-RRT behaves like RRT. In between, LBT-RRT is shown to
produce paths that have higher quality than RRT would produce and run faster
than RRT* would run. This is done by maintaining a tree which is a sub-graph of
the RRG roadmap and a second, auxiliary graph, which we call the lower-bound
graph. The combination of the two roadmaps, which is faster to maintain than
the roadmap maintained by RRT*, efficiently guarantees asymptotic
near-optimality. We suggest to use LBT-RRT for high-quality, anytime motion
planning. We demonstrate the performance of the algorithm for scenarios ranging
from 3 to 12 degrees of freedom and show that even for small approximation
factors, the algorithm produces high-quality solutions (comparable to RRG and
RRT*) with little running-time overhead when compared to RRT
Developing graph-based co-scheduling algorithms on multicore computers
It is common that multiple cores reside on the same chip and share the on-chip cache. As a result, resource sharing can cause performance degradation of co-running jobs.Job co-scheduling is a technique that can effectively alleviate this contention and many co-schedulers have been reported in related literature. Most solutions however do not aim to find the optimal co-scheduling solution. Being able to determine the optimal solution is critical for evaluating co-scheduling systems. Moreover, most co-schedulers only consider serial jobs, and there often exist both parallel and serial jobs in real-world systems. In this paper a graph-based method is developed to find the optimal co-scheduling solution for serial jobs; the method is then extended to incorporate parallel jobs, including multi-process, and multithreaded parallel jobs. A number of optimization measures are also developed to accelerate the solving process. Moreover, a flexible approximation technique is proposed to strike a balance between the solving speed and the solution quality. Extensive experiments are conducted to evaluate the effectiveness of the proposed co-scheduling algorithms. The results show that the proposed algorithms can find the optimal co-scheduling solution for both serial and parallel jobs. The proposed approximation technique is also shown to be flexible in the sense that we can control the solving speed by setting the requirement for the solution quality
- …