31658979
A wavelet approach to extracting contours of document images
In this paper, a new method for extracting contours of document images is proposed. It is a wavelet-based method that consists of three steps. First, by orthogonal wavelet decomposition, a document image is decomposed into a set of wavelet approximation and wavelet details. Next, contour extraction is achieved by applying a wavelet reconstruction technique. In the third step, a multiresolution-contours extraction with respect to an iteration wavelet reconstruction is implemented. A novel combination of multiresolution-contours results in clear contours of the document image. This reconstruction procedure is accompanied by an energy distribution estimation from which wavelet decomposition times can be adaptively controlled. Our method has no redundant operation compared to the scheme of wavelet transform. Therefore, the computational time and memory requirement are less than those by wavelet transform.
15679648
First-aid: surviving and preventing memory management bugs during production runs
Memory bugs in C/C++ programs severely affect system availability and security. This paper presents First-Aid, a lightweight runtime system that survives software failures caused by common memory management bugs and prevents future failures by the same bugs during production runs. Upon a failure, First-Aid diagnoses the bug type and identifies the memory objects that trigger the bug. To do so, it rolls back the programto previous checkpoints and uses two types of environmental changes that can prevent or expose memory bug manifestation during re-execution. Based on the diagnosis, First-Aid generates and applies runtime patches to avoid the memory bug and prevent its reoccurrence. Furthermore, First-Aid validates the consistent effects of the runtime patches and generates on-site diagnostic reports to assist developers in fixing the bugs.
 We have implemented First-Aid on Linux and evaluated it with seven applications that contain various types of memory bugs, including buffer overflow, uninitialized read, dangling pointer read/write, and double free. The results show that First-Aid can quickly diagnose the tested bugs and recover applications from failures (in 0.084 to 3.978 seconds). The results also show that the runtime patches generated by First-Aid can prevent future failures caused by the diagnosed bugs. Additionally, First-Aid provides detailed diagnostic information on both the root cause and the manifestation of the bugs. Furthermore, First-Aid incurs low overhead (0.4-11.6% with an average of 3.7%) during normal execution for the tested buggy applications, SPEC INT2000, and four allocation intensive programs.
1201413
LeakSurvivor: Towards Safely Tolerating Memory Leaks for Garbage-Collected Languages
Continuous memory leaks severely hurt program performance and software availability for garbage-collected programs. This paper presents a safe method, called LeakSurvivor, to tolerate continuous memory leaks at runtime for garbage-collected programs. Our main idea is to periodically swap out the "Potentially Leaked" (PL) memory objects identified by leak detectors from the virtual memory to disks. As a result, the virtual memory space occupied by the PL objects can be reclaimed by garbage collectors and available for future uses. If a swapped-out PL object is accesses later, LeakSurvivor will restore it from disks to the memory for correct program execution. Furthermore, LeakSurvivor helps developers to prune false positives. 
 
We have built the prototype of LeakSurvivor on top of Jikes RVM 2.4.2, a high performance Java-in-Java virtual machine developed by IBM. We conduct the experiments with three Java applications including Eclipse, SPECjbb2000 and Jigsaw. Among them, Eclipse and Jigsaw contain memory leaks introduced by their developers, while SPECjbb2000 contain a memory leak injected by us. Our results show that LeakSurvivor effectively tolerates memory leaks for two applications (Eclipse and SPECjbb2000), i.e., no cumulative performance degradation and no software failures when facing continuous memory leaks at runtime. For Jigsaw, LeakSurvivor extends the program lifetime by two times and improves the performance by 46% compared with native runs. Furthermore, when there are no memory leaks, LeakSurvivor imposes small runtime overhead, i.e., 2.5% over the leak detector and 23.7% over the native runs.
14166643
3D Model Simplification Method Based on ROI
Based on edge-collapse algorithm and ROI (region of interest), an effective 3D mesh simplification method is proposed. During the simplification procedure, this method could successfully preserve a high resolution for the 3D part that the user is interested in while the rest parts could meet the basic requirement with lower resolution. The experiments support the conclusion.
16895768
A Novel Stroke Extraction Model for Chinese Characters based on Steerable Filters
The technology of stroke extraction plays a key role in the off-line Chinese character recognition field. The accuracy and computing complexity of classifying depend on the output of stroke extraction. Based on the analysis of the existing methods, this paper proposed a novel stroke extraction model with steerable filters. The experiments indicate that this model can be used to extract strokes from both printed and handwritten Chinese characters. Meanwhile, it also can be applied to eliminate the redundant stroke connections impressively with considerable low computing complexity
29100810
An Expert System Based Approach to Modeling and Selecting Requirement Engineering Techniques
The importance of requirements engineering (RE) has been raised numerous times in literatures. To choose suitable RE techniques for a particular project in a given situation is a challenging task, requiring substantial expertise and efforts. To help solving this problem, an expert system based approach is proposed. This expert system uses the knowledge from domain experts to model the causal factors of RE techniques. It can select suitable RE techniques for a software project. A web-based questionnaire is created in the first place to collect the expertise available in the community. The information collected by the questionnaire is analyzed and transformed into a new dataset for constructing a Bayesian Belief Network (BBN). The resulting BBN integrated with a GUI forms an expert system for RE techniques modeling and selection. Empirical study validates the transformed dataset and shows that the expert system outperforms other predictors in selecting suitable RE techniques in different RE phases.
40790501
A Practical Peer-Performance-Aware DHT
How to Build an efficient Distributed Hash Table (DHT) is a fundamental issue in Peer-to-Peer research field. Previous solutions ignore the heterogeneity of the large scale network. However, in practice, the fact is that the resource held by each peer in the Internet is extremely diverse. And the the willing to share local resources of each peer is also diverse. Therefore, the contribution for the system of a peer should depend on the resources it holds or how many resources it want to share, and should not be uniform. In this paper, we propose a Peer-Performance-Aware Distributed Hash Table (PPADHT) which aims to exploit the heterogeneity. It takes the performance difference of peers into consideration to construct a dynamic variation of wrapped butterfly to achieve the goal. We also show how to optimize the performance of PPADHT in the view of hop counts by random graphs. Our simulation results show that the average lookup hop counts of the PPADHT is approximately a log scale with constant out degrees. And it can achieve loadbalance in two ways: both the document load and message routing load, without introducing any additional load on the peer. Here, the load balance means the load is proportion to the performance of peer.
15667862
Semantic Decision Tables: Self-organizing and Reorganizable Decision Tables
A Semantic Decision Table (SDT) provides a means to captureand examinedecision makers' concepts, as well as a tool for refiningtheir decision knowledge and facilitating knowledgesharingin a scalablemanner. One challenge SDT faces is to organize decision resources represented in a tabular format based on the user's needs at different levels. It is important to make it self organizedand automatically reorganizedwhen the requirements are updated. This paper describes the ongoing research on SDT and its tool that supports the self organizations and automatic reorganization of decision tables. We argue that simplicity, precision, and flexibilityare the key issues to respond to the paper challenge. We propose a novel combination of the principles of Decision Support and Database Modeling, together with the modern technologies in Ontology Engineering, in the adaptive s elf- o rganization and a utomatic r eorganization procedures (SOAR).